Return All Identity Providers in One Federation

GET /api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders

Returns all identity providers with the provided protocol and type in the specified federation. If no protocol is specified, only SAML identity providers will be returned. If no idpType is specified, only WORKFORCE identity providers will be returned. To use this resource, the requesting API Key must have the Organization Owner role in one of the connected organizations.

Path parameters

  • federationSettingsId string Required

    Unique 24-hexadecimal digit string that identifies your federation.

    Minimum length is 24, maximum length is 24. Format should match the following pattern: ^([a-f0-9]{24})$.

Query parameters

  • envelope boolean

    Flag that indicates whether Application wraps the response in an envelope JSON object. Some API clients cannot access the HTTP response headers or status code. To remediate this, set envelope=true in the query. Endpoints that return a list of results use the results object as an envelope. Application adds the status parameter to the response body.

    Default value is false.

  • itemsPerPage integer

    Number of items that the response returns per page.

    Minimum value is 1, maximum value is 500. Default value is 100.

  • pageNum integer

    Number of the page that displays the current set of the total objects that the response returns.

    Minimum value is 1. Default value is 1.

  • protocol array[string]

    The protocols of the target identity providers.

    Values are SAML or OIDC. Default value is SAML.

  • idpType array[string]

    The types of the target identity providers.

    Values are WORKFORCE or WORKLOAD. Default value is WORKFORCE.

Responses

  • 200 application/vnd.atlas.2023-01-01+json

    OK

    Hide response attributes Show response attributes object
    • results array[object]

      List of returned documents that MongoDB Cloud providers when completing this request.

      One of:
    • totalCount integer(int32)

      Total number of documents available. MongoDB Cloud omits this value if includeCount is set to false.

      Minimum value is 0.

  • 400 application/json

    Bad Request.

    Hide response attributes Show response attributes object
    • detail string

      Describes the specific conditions or reasons that cause each type of error.

    • error integer(int32)

      HTTP status code returned with this error.

      External documentation
    • errorCode string

      Application error code returned with this error.

    • parameters array[object]

      Parameters used to give more information about the error.

    • reason string

      Application error message returned with this error.

  • 401 application/json

    Unauthorized.

    Hide response attributes Show response attributes object
    • detail string

      Describes the specific conditions or reasons that cause each type of error.

    • error integer(int32)

      HTTP status code returned with this error.

      External documentation
    • errorCode string

      Application error code returned with this error.

    • parameters array[object]

      Parameters used to give more information about the error.

    • reason string

      Application error message returned with this error.

  • 404 application/json

    Not Found.

    Hide response attributes Show response attributes object
    • detail string

      Describes the specific conditions or reasons that cause each type of error.

    • error integer(int32)

      HTTP status code returned with this error.

      External documentation
    • errorCode string

      Application error code returned with this error.

    • parameters array[object]

      Parameters used to give more information about the error.

    • reason string

      Application error message returned with this error.

  • 500 application/json

    Internal Server Error.

    Hide response attributes Show response attributes object
    • detail string

      Describes the specific conditions or reasons that cause each type of error.

    • error integer(int32)

      HTTP status code returned with this error.

      External documentation
    • errorCode string

      Application error code returned with this error.

    • parameters array[object]

      Parameters used to give more information about the error.

    • reason string

      Application error message returned with this error.

GET /api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders
atlas api federatedAuthentication listIdentityProviders --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20230101001/admin"
)

func main() {
	ctx := context.Background()
	clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
	clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")

	// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
	client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))

	if err != nil {
		log.Fatalf("Error: %v", err)
	}

	params = &sdk.ListIdentityProvidersApiParams{}
	sdkResp, httpResp, err := client.FederatedAuthenticationApi.
		ListIdentityProvidersWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2023-01-01+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2023-01-01+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/federationSettings/{federationSettingsId}/identityProviders?pretty=true"
Response examples (200)
{
  "links": [
    {
      "href": "https://cloud.mongodb.com/api/atlas",
      "rel": "self"
    }
  ],
  "results": [
    {
      "associatedOrgs": [
        {
          "dataAccessIdentityProviderIds": [
            "32b6e34b3d91647abb20e7b8"
          ],
          "domainAllowList": [
            "string"
          ],
          "domainRestrictionEnabled": true,
          "identityProviderId": "string",
          "orgId": "32b6e34b3d91647abb20e7b8",
          "postAuthRoleGrants": [
            "ORG_OWNER"
          ],
          "roleMappings": [
            {
              "externalGroupName": "string",
              "id": "32b6e34b3d91647abb20e7b8",
              "roleAssignments": [
                {
                  "groupId": "32b6e34b3d91647abb20e7b8",
                  "orgId": "32b6e34b3d91647abb20e7b8",
                  "role": "ORG_OWNER"
                }
              ]
            }
          ],
          "userConflicts": [
            {
              "emailAddress": "hello@example.com",
              "federationSettingsId": "32b6e34b3d91647abb20e7b8",
              "firstName": "string",
              "lastName": "string",
              "userId": "string"
            }
          ]
        }
      ],
      "createdAt": "2025-05-04T09:42:00Z",
      "description": "string",
      "displayName": "string",
      "id": "32b6e34b3d91647abb20e7b8",
      "idpType": "WORKFORCE",
      "issuerUri": "string",
      "oktaIdpId": "string",
      "protocol": "SAML",
      "updatedAt": "2025-05-04T09:42:00Z",
      "acsUrl": "string",
      "associatedDomains": [
        "string"
      ],
      "audienceUri": "string",
      "pemFileInfo": {
        "certificates": [
          {
            "notAfter": "2025-05-04T09:42:00Z",
            "notBefore": "2025-05-04T09:42:00Z"
          }
        ],
        "fileName": "string"
      },
      "requestBinding": "HTTP-POST",
      "responseSignatureAlgorithm": "SHA-1",
      "slug": "string",
      "ssoDebugEnabled": true,
      "ssoUrl": "string",
      "status": "ACTIVE"
    }
  ],
  "totalCount": 42
}
Response examples (400)
{
  "error": 400,
  "detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
  "reason": "Bad Request",
  "errorCode": "VALIDATION_ERROR"
}
Response examples (401)
{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
Response examples (404)
{
  "error": 404,
  "detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
  "reason": "Not Found",
  "errorCode": "RESOURCE_NOT_FOUND"
}
Response examples (500)
{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}