Get identity providers
Retrieves identity provider configurations matching the search criteria. The response includes operational details such as enabled state, description, and creation/update time. Only identity providers whose configuration is registered and whose app is installed are included in the list.
Required Permissions
Requires the ADMIN role or higher.
HTTP Request
GET /api/sonar/id-providers
cURL Example
curl -H "Authorization: Bearer <API_KEY>" \
https://HOSTNAME/api/sonar/id-providers
Request Parameters
| Key | Required | Type | Description | Notes |
|---|---|---|---|---|
| offset | No | 32-bit integer | Number of records to skip | Not reflected in the query result in the current release |
| limit | No | 32-bit integer | Maximum number of records | Not reflected in the query result in the current release |
| keywords | No | String | Search keyword | Case-insensitive search on display name and description |
| locale | No | String | Locale | - |
Note
offset and limit are not applied to the list query in the current release. Setting these values does not page the result; the full list is always returned.
Success Response
{
"total_count": 1,
"providers": [
{
"code": "saml",
"name": "SAML",
"path": "/sso/saml",
"icon": "iVBORw0KGgoAAAANSUhEUgAA...",
"enabled": true,
"description": "Corporate SAML IdP integration",
"created": "2026-04-01 10:00:00+0900",
"updated": "2026-04-15 09:00:00+0900"
}
]
}
- total_count (32-bit integer): Number of identity providers after applying the keyword filter. Since there is no paging, this is always equal to the length of the
providersarray - providers (Array): Identity provider configurations
- code (String): Identity provider code
- name (String): Localized display name
- path (String): SSO login entry path. This is a relative path based on the web console, not an absolute URL. It always follows the
/sso/<code>format - icon (String): Standard Base64-encoded icon image string. It does not have a
data:URI prefix.nullif no icon is set. The image format (MIME type) is not included in the response - enabled (Boolean): Whether the provider is enabled
- description (String): User-supplied description.
nullif no description is set - created (String): Creation time, in
yyyy-MM-dd HH:mm:ssZformat - updated (String): Last update time, in
yyyy-MM-dd HH:mm:ssZformat. On installations that use SQLite as the configuration store, this value is not updated and remains fixed at the creation time
Error Responses
offset or limit value is not an integer
HTTP status code 400
{
"error_code": "invalid-argument",
"error_msg": "'offset' parameter should be int type"
}
Permission denied
HTTP status code 500
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}