Documentation
APIReference
https://docs.sonarsource.com/sonarqube-cloud/advanced-setup/web-api/
Documentation
https://docs.sonarsource.com/sonarqube-cloud/advanced-setup/web-api/
openapi: 3.0.3
info:
title: SonarQube Cloud Web authentication qualityprofiles API
version: v1
description: The SonarQube Cloud Web API, derived faithfully from the machine-readable service catalog the instance publishes at /api/webservices/list.
x-derived-from: https://sonarcloud.io/api/webservices/list
contact:
name: SonarSource
url: https://community.sonarsource.com/
servers:
- url: https://sonarcloud.io
security:
- bearerToken: []
- basicToken: []
tags:
- name: qualityprofiles
description: Manage quality profiles.
paths:
/api/qualityprofiles/activate_rule:
post:
operationId: qualityprofilesActivateRule
summary: 'Activate a rule on a Quality Profile. Requires one of the following permissions: ''Administer Quality Profiles'' Edit r...'
description: 'Activate a rule on a Quality Profile. Requires one of the following permissions: ''Administer Quality Profiles'' Edit right on the specified quality profile'
tags:
- qualityprofiles
parameters:
- name: key
in: query
description: Quality Profile key. Can be obtained through api/qualityprofiles/search
required: true
schema:
type: string
example: AU-Tpxb--iU5OvuD2FLy
- name: params
in: query
description: Parameters as semi-colon list of key=value. Ignored if parameter reset is true.
required: false
schema:
type: string
example: params=key1=v1;key2=v2
- name: reset
in: query
description: Reset severity and parameters of activated rule. Set the values defined on parent profile or from rule default values.
required: false
schema:
type: string
enum:
- 'true'
- 'false'
- 'yes'
- 'no'
- name: rule
in: query
description: Rule key
required: true
schema:
type: string
example: squid:AvoidCycles
- name: severity
in: query
description: Severity. Ignored if parameter reset is true.
required: false
schema:
type: string
enum:
- INFO
- MINOR
- MAJOR
- CRITICAL
- BLOCKER
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized - authentication required
'403':
description: Insufficient privileges
'404':
description: Not Found
/api/qualityprofiles/activate_rules:
post:
operationId: qualityprofilesActivateRules
summary: 'Bulk-activate rules on one quality profile. Requires one of the following permissions: ''Administer Quality Profiles'' ...'
description: 'Bulk-activate rules on one quality profile. Requires one of the following permissions: ''Administer Quality Profiles'' Edit right on the specified quality profile'
tags:
- qualityprofiles
parameters:
- name: activation
in: query
description: Filter rules that are activated or deactivated on the selected Quality profile. Ignored if the parameter 'qprofile' is not set.
required: false
schema:
type: string
enum:
- 'true'
- 'false'
- 'yes'
- 'no'
- name: active_severities
in: query
description: Comma-separated list of activation severities, i.e the severity of rules in Quality profiles.
required: false
schema:
type: string
enum:
- INFO
- MINOR
- MAJOR
- CRITICAL
- BLOCKER
example: CRITICAL,BLOCKER
- name: asc
in: query
description: Ascending sort
required: false
schema:
type: string
enum:
- 'true'
- 'false'
- 'yes'
- 'no'
default: 'true'
- name: available_since
in: query
description: Filters rules added since date. Format is yyyy-MM-dd
required: false
schema:
type: string
example: '2014-06-22'
- name: cleanCodeAttributeCategories
in: query
description: Comma-separated list of Clean Code Attribute Categories
required: false
schema:
type: string
enum:
- ADAPTABLE
- CONSISTENT
- INTENTIONAL
- RESPONSIBLE
example: ADAPTABLE,INTENTIONAL
- name: cwe
in: query
description: Comma-separated list of CWE identifiers. Use 'unknown' to select rules not associated to any CWE.
required: false
schema:
type: string
example: 12,125,unknown
- name: impactSeverities
in: query
description: Comma-separated list of Software Quality Severities
required: false
schema:
type: string
enum:
- INFO
- LOW
- MEDIUM
- HIGH
- BLOCKER
example: HIGH,MEDIUM
- name: impactSoftwareQualities
in: query
description: Comma-separated list of Software Qualities
required: false
schema:
type: string
enum:
- MAINTAINABILITY
- RELIABILITY
- SECURITY
example: MAINTAINABILITY,RELIABILITY
- name: inheritance
in: query
description: Comma-separated list of values of inheritance for a rule within a quality profile. Used only if the parameter 'activation' is set.
required: false
schema:
type: string
enum:
- NONE
- INHERITED
- OVERRIDES
example: INHERITED,OVERRIDES
- name: is_template
in: query
description: Filter template rules
required: false
schema:
type: string
enum:
- 'true'
- 'false'
- 'yes'
- 'no'
- name: languages
in: query
description: Comma-separated list of languages
required: false
schema:
type: string
example: java,js
- name: organization
in: query
description: Organization key
required: false
schema:
type: string
example: my-org
- name: owaspMobileTop10-2024
in: query
description: Comma-separated list of OWASP Mobile Top 10 (2024) lowercase categories.
required: false
schema:
type: string
enum:
- m1
- m2
- m3
- m4
- m5
- m6
- m7
- m8
- m9
- m10
- name: owaspTop10
in: query
description: Comma-separated list of OWASP Top 10 lowercase categories.
required: false
schema:
type: string
enum:
- a1
- a2
- a3
- a4
- a5
- a6
- a7
- a8
- a9
- a10
- name: owaspTop10-2021
in: query
description: Comma-separated list of OWASP Top 10 (2021) lowercase categories.
required: false
schema:
type: string
enum:
- a1
- a2
- a3
- a4
- a5
- a6
- a7
- a8
- a9
- a10
- name: q
in: query
description: UTF-8 search query
required: false
schema:
type: string
example: xpath
- name: qprofile
in: query
description: Quality profile key to filter on. Used only if the parameter 'activation' is set.
required: false
schema:
type: string
example: AU-Tpxb--iU5OvuD2FLy
- name: repositories
in: query
description: Comma-separated list of repositories
required: false
schema:
type: string
example: checkstyle,findbugs
- name: rule_key
in: query
description: Key of rule to search for
required: false
schema:
type: string
example: squid:S001
- name: s
in: query
description: Sort field
required: false
schema:
type: string
enum:
- name
- updatedAt
- createdAt
- key
example: name
- name: severities
in: query
description: Comma-separated list of default severities. Not the same than severity of rules in Quality profiles.
required: false
schema:
type: string
enum:
- INFO
- MINOR
- MAJOR
- CRITICAL
- BLOCKER
example: CRITICAL,BLOCKER
- name: sonarsourceSecurity
in: query
description: Comma-separated list of SonarSource security categories. Use 'others' to select rules not associated with any category
required: false
schema:
type: string
enum:
- buffer-overflow
- permission
- sql-injection
- command-injection
- path-traversal-injection
- ldap-injection
- xpath-injection
- rce
- dos
- ssrf
- csrf
- xss
- log-injection
- http-response-splitting
- open-redirect
- xxe
- object-injection
- weak-cryptography
- auth
- insecure-conf
- encrypt-data
- traceability
- file-manipulation
- others
example: sql-injection,command-injection,others
- name: statuses
in: query
description: Comma-separated list of status codes
required: false
schema:
type: string
enum:
- BETA
- DEPRECATED
- READY
- REMOVED
example: READY
- name: tags
in: query
description: Comma-separated list of tags. Returned rules match any of the tags (OR operator)
required: false
schema:
type: string
example: security,java8
- name: targetKey
in: query
description: Quality Profile key on which the rule activation is done. To retrieve a quality profile key please see api/qualityprofiles/search
required: true
schema:
type: string
example: AU-TpxcA-iU5OvuD2FL0
- name: targetSeverity
in: query
description: Severity to set on the activated rules
required: false
schema:
type: string
enum:
- INFO
- MINOR
- MAJOR
- CRITICAL
- BLOCKER
- name: template_key
in: query
description: Key of the template rule to filter on. Used to search for the custom rules based on this template.
required: false
schema:
type: string
example: java:S001
- name: types
in: query
description: Comma-separated list of types. Returned rules match any of the tags (OR operator)
required: false
schema:
type: string
enum:
- CODE_SMELL
- BUG
- VULNERABILITY
- SECURITY_HOTSPOT
example: BUG
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized - authentication required
'403':
description: Insufficient privileges
'404':
description: Not Found
/api/qualityprofiles/add_project:
post:
operationId: qualityprofilesAddProject
summary: 'Associate a project with a quality profile. Requires one of the following permissions: ''Administer Quality Profiles'' ...'
description: 'Associate a project with a quality profile. Requires one of the following permissions: ''Administer Quality Profiles'' Edit right on the specified quality profile Administer right on the specified project'
tags:
- qualityprofiles
parameters:
- name: key
in: query
description: Quality profile key. Mandatory unless 'qualityProfile' and 'language' are specified.
required: false
schema:
type: string
example: AU-Tpxb--iU5OvuD2FLy
- name: language
in: query
description: Quality profile language. Mandatory if 'key' is not set.
required: false
schema:
type: string
enum:
- kubernetes
- css
- py
- plsql
- apex
- java
- xml
- powershell
- ipynb
- text
- azurepipelines
- yaml
- swift
- cpp
- vb
- secrets
- groovy
- shell
- terraform
- azureresourcemanager
- abap
- scala
- jsp
- js
- docker
- ansible
- dart
- rust
- jcl
- web
- flex
- json
- vbnet
- postgres
- cloudformation
- c
- go
- kotlin
- rpg
- pli
- tsql
- ruby
- cs
- cobol
- php
- gosu
- objc
- githubactions
- ts
- name: organization
in: query
description: Organization key.
required: false
schema:
type: string
example: my-org
- name: project
in: query
description: Project key
required: false
schema:
type: string
example: my_project
- name: projectUuid
in: query
description: Project ID. Either this parameter or 'project' must be set.
required: false
schema:
type: string
example: AU-TpxcA-iU5OvuD2FL5
- name: qualityProfile
in: query
description: Quality profile name. Mandatory if 'key' is not set.
required: false
schema:
type: string
example: Sonar way
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized - authentication required
'403':
description: Insufficient privileges
'404':
description: Not Found
/api/qualityprofiles/backup:
get:
operationId: qualityprofilesBackup
summary: Backup a quality profile in XML form. The exported profile can be restored through api/qualityprofiles/restore.
description: Backup a quality profile in XML form. The exported profile can be restored through api/qualityprofiles/restore.
tags:
- qualityprofiles
parameters:
- name: key
in: query
description: Quality profile key. Mandatory unless 'qualityProfile' and 'language' are specified.
required: false
schema:
type: string
example: AU-Tpxb--iU5OvuD2FLy
- name: language
in: query
description: Quality profile language. Mandatory if 'key' is not set.
required: false
schema:
type: string
enum:
- kubernetes
- css
- py
- plsql
- apex
- java
- xml
- powershell
- ipynb
- text
- azurepipelines
- yaml
- swift
- cpp
- vb
- secrets
- groovy
- shell
- terraform
- azureresourcemanager
- abap
- scala
- jsp
- js
- docker
- ansible
- dart
- rust
- jcl
- web
- flex
- json
- vbnet
- postgres
- cloudformation
- c
- go
- kotlin
- rpg
- pli
- tsql
- ruby
- cs
- cobol
- php
- gosu
- objc
- githubactions
- ts
- name: organization
in: query
description: Organization key.
required: false
schema:
type: string
example: my-org
- name: qualityProfile
in: query
description: Quality profile name. Mandatory if 'key' is not set.
required: false
schema:
type: string
example: Sonar way
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized - authentication required
'403':
description: Insufficient privileges
'404':
description: Not Found
/api/qualityprofiles/change_parent:
post:
operationId: qualityprofilesChangeParent
summary: 'Change a quality profile''s parent. Requires one of the following permissions: ''Administer Quality Profiles'' Edit righ...'
description: 'Change a quality profile''s parent. Requires one of the following permissions: ''Administer Quality Profiles'' Edit right on the specified quality profile'
tags:
- qualityprofiles
parameters:
- name: key
in: query
description: Quality profile key. Mandatory unless 'qualityProfile' and 'language' are specified.
required: false
schema:
type: string
example: AU-Tpxb--iU5OvuD2FLy
- name: language
in: query
description: Quality profile language. Mandatory if 'key' is not set.
required: false
schema:
type: string
enum:
- kubernetes
- css
- py
- plsql
- apex
- java
- xml
- powershell
- ipynb
- text
- azurepipelines
- yaml
- swift
- cpp
- vb
- secrets
- groovy
- shell
- terraform
- azureresourcemanager
- abap
- scala
- jsp
- js
- docker
- ansible
- dart
- rust
- jcl
- web
- flex
- json
- vbnet
- postgres
- cloudformation
- c
- go
- kotlin
- rpg
- pli
- tsql
- ruby
- cs
- cobol
- php
- gosu
- objc
- githubactions
- ts
- name: organization
in: query
description: Organization key.
required: false
schema:
type: string
example: my-org
- name: parentKey
in: query
description: New parent profile key. If no profile is provided, the inheritance link with current parent profile (if any) is broken, which deactivates all rules which come from the parent and are not overridden.
required: false
schema:
type: string
example: AU-TpxcA-iU5OvuD2FLz
- name: parentQualityProfile
in: query
description: Quality profile name. If this parameter is set, 'parentKey' must not be set and 'language' must be set to disambiguate.
required: false
schema:
type: string
example: Sonar way
- name: qualityProfile
in: query
description: Quality profile name. Mandatory if 'key' is not set.
required: false
schema:
type: string
example: Sonar way
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized - authentication required
'403':
description: Insufficient privileges
'404':
description: Not Found
/api/qualityprofiles/changelog:
get:
operationId: qualityprofilesChangelog
summary: 'Get the history of changes on a quality profile: rule activation/deactivation, change in parameters/severity. Events ...'
description: 'Get the history of changes on a quality profile: rule activation/deactivation, change in parameters/severity. Events are ordered by date in descending order (most recent first).'
tags:
- qualityprofiles
parameters:
- name: key
in: query
description: Quality profile key. Mandatory unless 'qualityProfile' and 'language' are specified.
required: false
schema:
type: string
example: AU-Tpxb--iU5OvuD2FLy
- name: language
in: query
description: Quality profile language. Mandatory if 'key' is not set.
required: false
schema:
type: string
enum:
- kubernetes
- css
- py
- plsql
- apex
- java
- xml
- powershell
- ipynb
- text
- azurepipelines
- yaml
- swift
- cpp
- vb
- secrets
- groovy
- shell
- terraform
- azureresourcemanager
- abap
- scala
- jsp
- js
- docker
- ansible
- dart
- rust
- jcl
- web
- flex
- json
- vbnet
- postgres
- cloudformation
- c
- go
- kotlin
- rpg
- pli
- tsql
- ruby
- cs
- cobol
- php
- gosu
- objc
- githubactions
- ts
- name: organization
in: query
description: Organization key.
required: false
schema:
type: string
example: my-org
- name: p
in: query
description: 1-based page number
required: false
schema:
type: string
default: '1'
example: '42'
- name: ps
in: query
description: Page size. Must be greater than 0 and less or equal than 500
required: false
schema:
type: string
default: '50'
example: '20'
- name: qualityProfile
in: query
description: Quality profile name. Mandatory if 'key' is not set.
required: false
schema:
type: string
example: Sonar way
- name: since
in: query
description: Start date for the changelog. Either a date (server timezone) or datetime can be provided.
required: false
schema:
type: string
example: 2017-10-19 or 2017-10-19T13:00:00+0200
- name: to
in: query
description: End date for the changelog. Either a date (server timezone) or datetime can be provided.
required: false
schema:
type: string
example: 2017-10-19 or 2017-10-19T13:00:00+0200
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized - authentication required
'403':
description: Insufficient privileges
'404':
description: Not Found
/api/qualityprofiles/copy:
post:
operationId: qualityprofilesCopy
summary: Copy a quality profile. Requires to be logged in and the 'Administer Quality Profiles' permission.
description: Copy a quality profile. Requires to be logged in and the 'Administer Quality Profiles' permission.
tags:
- qualityprofiles
parameters:
- name: fromKey
in: query
description: Quality profile key
required: true
schema:
type: string
example: AU-Tpxb--iU5OvuD2FLy
- name: toName
in: query
description: Name for the new quality profile.
required: true
schema:
type: string
example: My Sonar way
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized - authentication required
'403':
description: Insufficient privileges
'404':
description: Not Found
/api/qualityprofiles/create:
post:
operationId: qualityprofilesCreate
summary: Create a quality profile. Requires to be logged in and the 'Administer Quality Profiles' permission.
description: Create a quality profile. Requires to be logged in and the 'Administer Quality Profiles' permission.
tags:
- qualityprofiles
parameters:
- name: language
in: query
description: Quality profile language
required: true
schema:
type: string
enum:
- abap
- ansible
- apex
- azurepipelines
- azureresourcemanager
- c
- cloudformation
- cobol
- cpp
- cs
- css
- dart
- docker
- flex
- githubactions
- go
- gosu
- groovy
- ipynb
- java
- jcl
- js
- json
- jsp
- kotlin
- kubernetes
- objc
- php
- pli
- plsql
- postgres
- powershell
- py
- rpg
- ruby
- rust
- scala
- secrets
- shell
- swift
- terraform
- text
- ts
- tsql
- vb
- vbnet
- web
- xml
- yaml
example: js
- name: name
in: query
description: Quality profile name
required: true
schema:
type: string
maxLength: 100
example: My Sonar way
- name: organization
in: query
description: Organization key.
required: true
schema:
type: string
example: my-org
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized - authentication required
'403':
description: Insufficient privileges
'404':
description: Not Found
/api/qualityprofiles/deactivate_rule:
post:
operationId: qualityprofilesDeactivateRule
summary: 'Deactivate a rule on a quality profile. Requires one of the following permissions: ''Administer Quality Profiles'' Edit...'
description: 'Deactivate a rule on a quality profile. Requires one of the following permissions: ''Administer Quality Profiles'' Edit right on the specified quality profile'
tags:
- qualityprofiles
parameters:
- name: key
in: query
description: Quality Profile key. Can be obtained through api/qualityprofiles/search
required: true
schema:
type: string
example: AU-Tpxb--iU5OvuD2FLy
- name: rule
in: query
description: Rule key
required: true
schema:
type: string
example: squid:AvoidCycles
responses:
'200':
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized - authentication required
'403':
description: Insufficient privileges
'404':
description: Not Found
/api/qualityprofiles/deactivate_rules:
post:
operationId: qualityprofilesDeactivateRules
summary: 'Bulk deactivate rules on Quality profiles. Requires one of the following permissions: ''Administer Quality Profiles'' E...'
description: 'Bulk deactivate rules on Quality profiles. Requires one of the following permissions: ''Administer Quality Profiles'' Edit right on the specified quality profile'
tags:
- qualityprofiles
parameters:
- name: activation
in: query
description: Filter rules that are activated or deactivated on the selected Quality profile. Ignored if the parameter 'qprofile' is not set.
required: false
schema:
type: string
enum:
- 'true'
- 'false'
- 'yes'
- 'no'
- name: active_severities
in: query
description: Comma-separated list of activation severities, i.e the severity of rules in Quality profiles.
required: false
schema:
type: string
enum:
- INFO
- MINOR
- MAJOR
- CRITICAL
- BLOCKER
example: CRITICAL,BLOCKER
- name: asc
in: query
description: Ascending sort
required: false
schema:
type: string
enum:
- 'true'
- 'false'
- 'yes'
- 'no'
default: 'true'
- name: available_since
in: query
description: Filters rules added since date. Format is yyyy-MM-dd
required: false
schema:
type: string
example: '2014-06-22'
- name: cleanCodeAttributeCategories
in: query
description: Comma-separated list of Clean Code Attribute Categories
required: false
schema:
type: string
enum:
- ADAPTABLE
- CONSISTENT
- INTENTIONAL
- RESPONSIBLE
example: ADAPTABLE,INTENTIONAL
- name: cwe
in: query
description: Comma-separated list of CWE identifiers. Use 'unknown' to select rules not associated to any CWE.
required: false
schema:
type: string
example: 12,125,unknown
- name: impactSeverities
in: query
description: Comma-separated list of Software Quality Severities
required: false
schema:
type: string
enum:
- INFO
- LOW
- MEDIUM
- HIGH
- BLOCKER
example: HIGH,MEDIUM
- name: impactSoftwareQualities
in: query
description: Comma-separated list of Software Qualities
required: false
schema:
type: string
enum:
- MAINTAINABILITY
- RELIABILITY
- SECURITY
example: MAINTAINABILITY,RELIABILITY
- name: inheritance
in: query
description: Comma-separated list of values of inheritance for a rule within a quality profile. Used only if the parameter 'activation' is set.
required: false
schema:
type: string
enum:
- NONE
- INHERITED
- OVERRIDES
example: INHERITED,OVERRIDES
- name: is_template
in: query
description: Filter template rules
required: false
schema:
type: string
enum:
- 'true'
- 'false'
- 'yes'
- 'no'
- name: languages
in: query
description: Comma-separated list of languages
required: false
schema:
type: string
example: java,js
- name: organization
in: query
description: Organization key
required: false
schema:
type: string
example: my-org
- name: owaspMobileTop10-2024
in: query
description: Comma-separated list of OWASP Mobile Top 10 (2024) lowercase categories.
required: false
schema:
type: string
enum:
- m1
- m2
- m3
- m4
- m5
- m6
- m7
- m8
- m9
- m10
- name: owaspTop10
in: query
description: Comma-separated list of OWASP Top 10 lowercase categories.
required: false
schema:
type: string
enum:
- a1
- a2
- a3
- a4
- a5
- a6
- a7
- a8
- a9
- a10
- name: owaspTop10-2021
in: query
description: Comma-separated list of OWASP Top 10 (2021) lowercase categories.
required: false
schema:
type: str
# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sonarsource/refs/heads/main/openapi/sonarsource-qualityprofiles-api-openapi.yml