Acquia Identity Providers API

The Identity Providers API from Acquia — 4 operation(s) for identity providers.

OpenAPI Specification

acquia-identity-providers-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    name: Customer Experience Engineering (CXE)
    url: https://www.acquia.com
  description: "Acquia Cloud API\n\n# Compatibility\n\n## Stability\n\nThe response for all resource endpoints includes an `X-CloudAPI-Stability` header that indicates what changes, if any, Acquia will make to the resource and how changes will be communicated.\n\nThere are three levels of stability:\n\n* `prototype`: A prototype resource is experimental and major changes are likely. A prototype resource may not reach production.\n    * Compatible and emergency changes may be made with no advance notice\n    * Disruptive changes may be made with one week notice\n    * Deprecated resources will remain available for at least one month after deprecation\n* `development`: A resource that is unlikely to change, but is still being worked on, will be marked as in development. These resources are very likely to reach production.\n    * Compatible and emergency changes may be made with no advance notice\n    * Disruptive changes may be made with one month notice\n    * Deprecated resources will remain available for at least six months after deprecation\n* `production`: A production resource will not introduce breaking changes within a version, and any breaking changes between versions will be communicated ahead of time.\n\n## Deprecation\n\nOver time, endpoints may become obsolete and will be removed in the future. These endpoints will be marked with an `X-CloudAPI-Deprecated` header indicating the version in which they were deprecated and the reason for the deprecation. Deprecated endpoints may be removed in the next version of the resource.\n\n## Versioning\n\nAll resource endpoints are versioned within the API. Endpoints that have reached production will not introduce breaking changes between versions. Non-production endpoints will not version for changes.\n\nA specific version of an endpoint can be requested via the `Accept` header:\n\n    Accept: application/hal+json, version=2\n\nIf the version is not specified, the latest version of the endpoint will be used.\n\nStarting with version 3, we will support the current version of an endpoint and the previous version. Version 1 of the API is [provided elsewhere](https://cloudapi.acquia.com/).\n\n## Errors\n\nSome endpoints will return a 503 status when dependent services are unavailable:\n\n    application/hal+json\n    {\n        \"error\": \"system\",\n        \"message\": \"This action is currently unavailable. Please try again later.\"\n    }\n\n## Authentication\n\nAll Acquia Cloud API calls require authentication to work properly.\n\nLearn more: <a href='https://docs.acquia.com/acquia-cloud/develop/api/auth/' target='_blank'>https://docs.acquia.com/acquia-cloud/develop/api/auth/</a>\n\n### Example implementation\n\nAn example PHP script for making authenticated API requests can be found <a href='https://docs.acquia.com/resources/useful-references' target='_blank'>here</a>. This script uses the <a href='https://oauth2-client.thephpleague.com/' target='_blank'>League/oauth2-client</a> library, installed via Composer.\n"
  title: Acquia Cloud API Account Identity Providers API
  version: 2.0.0
  x-logo:
    altText: Acquia Cloud
    backgroundColor: '#FFFFFF'
    url: assets/cloud-platform.svg
servers: []
tags:
- name: Identity Providers
paths:
  /identity-providers:
    servers:
    - url: https://cloud.acquia.com/api
      description: Cloud API
    get:
      description: 'Returns a list of identity providers you have access to.


        Filterable fields:

        * `label`


        Sortable fields:

        * `label`

        '
      operationId: getIdentityProviders
      parameters:
      - $ref: '#/components/parameters/Acquia_Cloud_API_Documentation_sort'
      - $ref: '#/components/parameters/Acquia_Cloud_API_Documentation_filter'
      - $ref: '#/components/parameters/Acquia_Cloud_API_Documentation_limit'
      - $ref: '#/components/parameters/Acquia_Cloud_API_Documentation_offset'
      responses:
        '200':
          content:
            application/hal+json:
              example:
                _embedded:
                  items:
                  - _links:
                      acs:
                        href: https://accounts.acquia.com/api/auth/saml/acs/5fa84b25-a269-44bd-a2ae-e76d08ac8245
                      parent:
                        href: https://cloud.acquia.com/api/identity-providers
                      self:
                        href: https://cloud.acquia.com/api/identity-providers/5fa84b25-a269-44bd-a2ae-e76d08ac8245
                    certificate: '-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----'
                    idp_entity_id: https://idp.example.com/saml
                    label: Identity provider label
                    sp_entity_id: https://sp.example.com/saml
                    sso_url: https://example.com/sso
                    status: enabled
                    uuid: 5fa84b25-a269-44bd-a2ae-e76d08ac8245
                  - _links:
                      acs:
                        href: https://accounts.acquia.com/api/auth/saml/acs/908914ec-2354-4fb1-9298-637247eccc3a
                      parent:
                        href: https://cloud.acquia.com/api/identity-providers
                      self:
                        href: https://cloud.acquia.com/api/identity-providers/908914ec-2354-4fb1-9298-637247eccc3a
                    certificate: '-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----'
                    idp_entity_id: https://idp2.example.com/saml
                    label: Identity provider label 2
                    sp_entity_id: https://sp2.example.com/saml
                    sso_url: https://example.com/sso
                    status: enabled
                    uuid: 908914ec-2354-4fb1-9298-637247eccc3a
                _links:
                  filter:
                    href: https://cloud.acquia.com/api/identity-providers{?filter}
                    templated: true
                  limit:
                    href: https://cloud.acquia.com/api/identity-providers{?limit}
                    templated: true
                  offset:
                    href: https://cloud.acquia.com/api/identity-providers{?offset}
                    templated: true
                  parent:
                    href: https://cloud.acquia.com/api/
                  self:
                    href: https://cloud.acquia.com/api/identity-providers
                  sort:
                    href: https://cloud.acquia.com/api/identity-providers{?sort}
                    templated: true
                pagination:
                  limit: 2
                  offset: 0
                  total: 2
                total: 2
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_identity-providers'
          description: OK
      security:
      - Acquia_Cloud_API_Documentation_OAuth2: []
      summary: Acquia Returns a List of Identity Providers for a User.
      tags:
      - Identity Providers
      x-cli-name: identity-providers:list
  /identity-providers/{identityProviderUuid}:
    servers:
    - url: https://cloud.acquia.com/api
      description: Cloud API
    delete:
      description: Deletes a specific identity provider.
      operationId: deleteIdentityProvider
      parameters:
      - $ref: '#/components/parameters/Acquia_Cloud_API_Documentation_identity-provider-uuid'
      responses:
        '202':
          content:
            application/hal+json:
              example:
                _links:
                  notification:
                    href: https://cloud.acquia.com/api/notifications/29dcc1e2-3cfc-447c-9fcb-d51c1c26b4da
                  parent:
                    href: https://cloud.acquia.com/api/identity-providers
                  self:
                    href: https://cloud.acquia.com/api/identity-providers/da1c0a8e-ff69-45db-88fc-acd6d2affbb7
                message: Identity provider has been deleted.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_message-with-links'
          description: Accepted
        '403':
          content:
            application/hal+json:
              example:
                error: forbidden
                message: You do not have permission to delete the identity provider.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Forbidden
        '404':
          content:
            application/hal+json:
              examples:
                No Associated Organization:
                  value:
                    error: not_found
                    message: An organization with associated identity provider UUID da1c0a8e-ff69-45db-88fc-acd6d2affbb7 cannot be found.
                Not Found or Does Not Exist:
                  value:
                    error: not_found
                    message: The identity provider you are trying to access does not exist, or you do not have permission to access it.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Not Found
      security:
      - Acquia_Cloud_API_Documentation_OAuth2: []
      summary: Acquia Deletes a Specific Identity Provider by its UUID.
      tags:
      - Identity Providers
      x-cli-name: identity-providers:delete
    get:
      description: Returns a specific identity provider.
      operationId: getIdentityProvider
      parameters:
      - $ref: '#/components/parameters/Acquia_Cloud_API_Documentation_identity-provider-uuid'
      responses:
        '200':
          content:
            application/hal+json:
              example:
                _links:
                  acs:
                    href: https://accounts.acquia.com/api/auth/saml/acs/1bc5dbb4-6d59-403b-afc7-777e520aaa40
                  organization:
                    href: https://cloud.acquia.com/api/organizations/a81c08c6-a02f-4b57-87e3-c3f395a2bb34
                  parent:
                    href: https://cloud.acquia.com/api/identity-providers
                  self:
                    href: https://cloud.acquia.com/api/identity-providers/1bc5dbb4-6d59-403b-afc7-777e520aaa40
                certificate: '-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----'
                idp_entity_id: https://idp.example.com/saml
                label: Test identity provider
                sp_entity_id: https://sp.example.com/saml
                sso_url: https://example.com/sso
                status: enabled
                uuid: 1bc5dbb4-6d59-403b-afc7-777e520aaa40
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_identity-provider'
          description: OK
        '404':
          content:
            application/hal+json:
              example:
                error: not_found
                message: The identity provider you are trying to access does not exist, or you do not have permission to access it.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Not Found
      security:
      - Acquia_Cloud_API_Documentation_OAuth2: []
      summary: Acquia Returns a Specific Identity Provider by UUID.
      tags:
      - Identity Providers
      x-cli-name: identity-providers:find
    put:
      description: Modifies an identity provider.
      operationId: putIdentityProvider
      parameters:
      - $ref: '#/components/parameters/Acquia_Cloud_API_Documentation_identity-provider-uuid'
      requestBody:
        content:
          application/hal+json:
            example:
              certificate: '-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----'
              entity_id: entity-id
              label: New label
              sso_url: https://idp.example.com
            schema:
              properties:
                certificate:
                  description: The PEM-encoded X.509 certificate.
                  type: string
                entity_id:
                  description: The entity ID of the identity provider
                  type: string
                label:
                  description: The new identity provider label.
                  type: string
                sso_url:
                  description: The URL of the SSO identity provider.
                  format: uri
                  type: string
              type: object
          application/x-www-form-urlencoded:
            example:
              certificate: '-----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----'
              entity_id: entity-id
              label: New label
              sso_url: https://idp.example.com
            schema:
              properties:
                certificate:
                  description: The PEM-encoded certificate.
                  type: string
                entity_id:
                  description: The entity ID of the identity provider
                  type: string
                label:
                  description: The new identity provider label.
                  type: string
                sso_url:
                  description: The URL of the SSO identity provider.
                  format: uri
                  type: string
              type: object
        required: true
      responses:
        '202':
          content:
            application/hal+json:
              example:
                _links:
                  notification:
                    href: https://cloud.acquia.com/api/notifications/29dcc1e2-3cfc-447c-9fcb-d51c1c26b4da
                  parent:
                    href: https://cloud.acquia.com/api/identity-providers
                  self:
                    href: https://cloud.acquia.com/api/identity-providers/8030f025-47dc-4926-940b-0b04d98d1ea2
                message: Identity Provider has been updated.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_message'
          description: Accepted
        '400':
          content:
            application/hal+json:
              examples:
                Expired Certificate:
                  value:
                    error: validation_failed
                    message:
                      credentials: The certificate is expired.
                Expiring Certificate:
                  value:
                    error: validation_failed
                    message:
                      credentials: The certificate is expiring. Certificates must be valid for at least 90 days.
                Inactive Certificate:
                  value:
                    error: validation_failed
                    message:
                      credentials: The certificate is not yet active.
                Invalid Certificate:
                  value:
                    error: validation_failed
                    message:
                      credentials: The certificate is invalid.
                No Parameters:
                  value:
                    error: validation_failed
                    message:
                      general: No update executed, as no parameters were provided. Please update at least one property.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_validation-error'
          description: Bad Request
        '403':
          content:
            application/hal+json:
              example:
                error: forbidden
                message: You do not have permission to edit the identity provider.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Forbidden
        '404':
          content:
            application/hal+json:
              examples:
                Does Not Exist:
                  value:
                    error: not_found
                    message: An identity provider with UUID idp1234-aaaa-1234-abcd-0123456789ab does not exist.
                No Associated Organization:
                  value:
                    error: not_found
                    message: An organization with associated identity provider UUID idp1234-aaaa-1234-abcd-0123456789ab cannot be found.
                Not Found or Does Not Exist:
                  value:
                    error: not_found
                    message: The identity provider you are trying to access does not exist, or you do not have permission to access it.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Not Found
        '409':
          content:
            application/hal+json:
              examples:
                Already Enabled and Active:
                  value:
                    error: conflict
                    message: Updates cannot be made to identity providers that are enabled and active.
                Not Registered to Organization:
                  value:
                    error: conflict
                    message: The organization does not have an identity provider registered with the UUID idp1234-aaaa-1234-abcd-0123456789ab.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Conflict
      security:
      - Acquia_Cloud_API_Documentation_OAuth2: []
      summary: Acquia Modifies an Identity Provider by its UUID.
      tags:
      - Identity Providers
      x-cli-name: identity-providers:update
  /identity-providers/{identityProviderUuid}/actions/disable:
    servers:
    - url: https://cloud.acquia.com/api
      description: Cloud API
    post:
      description: Disables an identity provider.
      operationId: postDisableIdentityProvider
      parameters:
      - $ref: '#/components/parameters/Acquia_Cloud_API_Documentation_identity-provider-uuid'
      responses:
        '200':
          content:
            application/hal+json:
              example:
                _links:
                  notification:
                    href: https://cloud.acquia.com/api/notifications/31660dfd-def7-49f0-b1f2-847fa267a021
                  parent:
                    href: https://cloud.acquia.com/api/identity-providers
                  self:
                    href: https://cloud.acquia.com/api/identity-providers/e1851cef-aa3c-4153-bb81-1c25fcf7dc77
                message: Identity Provider has been disabled.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_message-with-links'
          description: OK
        '403':
          content:
            application/hal+json:
              example:
                error: conflict
                message: You do not have permission to disable this identity provider.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Forbidden
        '404':
          content:
            application/hal+json:
              example:
                error: conflict
                message: The identity provider you are trying to access does not exist, or you do not have permission to access it.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Not Found
        '409':
          content:
            application/hal+json:
              examples:
                Already disabled:
                  value:
                    error: conflict
                    message: The identity provider is already disabled.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Conflict
      security:
      - Acquia_Cloud_API_Documentation_OAuth2: []
      summary: Acquia Disables an Identity Provider by its UUID.
      tags:
      - Identity Providers
      x-cli-name: identity-providers:disable
  /identity-providers/{identityProviderUuid}/actions/enable:
    servers:
    - url: https://cloud.acquia.com/api
      description: Cloud API
    post:
      description: Enables an identity provider.
      operationId: postEnableIdentityProvider
      parameters:
      - $ref: '#/components/parameters/Acquia_Cloud_API_Documentation_identity-provider-uuid'
      responses:
        '200':
          content:
            application/hal+json:
              example:
                _links:
                  notification:
                    href: https://cloud.acquia.com/api/notifications/31660dfd-def7-49f0-b1f2-847fa267a021
                  parent:
                    href: https://cloud.acquia.com/api/identity-providers
                  self:
                    href: https://cloud.acquia.com/api/identity-providers/e1851cef-aa3c-4153-bb81-1c25fcf7dc77
                message: Identity Provider has been enabled.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_message-with-links'
          description: OK
        '403':
          content:
            application/hal+json:
              example:
                error: conflict
                message: You do not have permission to enable this identity provider.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Forbidden
        '404':
          content:
            application/hal+json:
              example:
                error: conflict
                message: The identity provider you are trying to access does not exist, or you do not have permission to access it.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Not Found
        '409':
          content:
            application/hal+json:
              examples:
                Already enabled:
                  value:
                    error: conflict
                    message: The identity provider is already enabled.
              schema:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_error'
          description: Conflict
      security:
      - Acquia_Cloud_API_Documentation_OAuth2: []
      summary: Acquia Enables an Identity Provider by its UUID.
      tags:
      - Identity Providers
      x-cli-name: identity-providers:enable
components:
  schemas:
    Acquia_Cloud_API_Documentation_identity-provider:
      properties:
        _links:
          $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_links'
        certificate:
          description: The PEM-encoded X.509 certificate used to sign assertions.
          type: string
        idp_entity_id:
          description: The SAML entity ID of the identity provider.
          type: string
        label:
          description: The human-friendly label of the identity provider.
          type: string
        sp_entity_id:
          description: The SAML entity ID of the service provider.
          type: string
        sso_url:
          description: The URL of the SAML POST Binding / SP-initiated SSO.
          format: uri
          type: string
        status:
          description: The current state of the identity provider.
          enum:
          - enabled
          - incomplete
          - disabled
          type: string
        uuid:
          description: The unique identifier of the identity provider.
          format: uuid
          type: string
      required:
      - uuid
      - label
      - idp_entity_id
      - sp_entity_id
      - sso_url
      - certificate
      - status
      - _links
      type: object
    Acquia_Cloud_API_Documentation_validation-error:
      description: A validation error.
      properties:
        error:
          description: The error summary.
          type: string
        message:
          additionalProperties:
            type: string
          description: The validation error message keyed by its field or group name.
          type: object
      required:
      - error
      - message
      type: object
    Acquia_Cloud_API_Documentation_message:
      properties:
        message:
          description: A simple message returned from the response.
          type: string
      required:
      - message
      type: object
    Acquia_Cloud_API_Documentation_error:
      properties:
        error:
          description: The error summary.
          type: string
        message:
          description: The long description for the returned error.
          type: string
      required:
      - error
      - message
      type: object
    Acquia_Cloud_API_Documentation_identity-providers:
      properties:
        _embedded:
          description: A collection of identity providers matching the request parameters.
          properties:
            items:
              items:
                $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_identity-provider'
              type: array
          type: object
        _links:
          $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_links'
        total:
          description: The number of items returned in the collection.
          type: integer
      required:
      - total
      - _links
      - _embedded
      type: object
    Acquia_Cloud_API_Documentation_links:
      description: HAL links about the current resource.
      properties:
        self:
          description: A link to this page.
          properties:
            href:
              description: The URI for this page.
              format: uri
              type: string
          required:
          - href
          type: object
      required:
      - self
      type: object
    Acquia_Cloud_API_Documentation_message-with-links:
      properties:
        _links:
          $ref: '#/components/schemas/Acquia_Cloud_API_Documentation_links'
        message:
          description: The human-friendly confirmation of the creation of the resource.
          type: string
      required:
      - message
      - _links
      type: object
  parameters:
    Acquia_Cloud_API_Documentation_filter:
      description: 'The filters query string parameter restricts the data returned from your request. Filtered queries restrict the rows that do (or do not) get included in the result by testing each row in the result against the filters. Not all fields are filterable.


        There are eight filter operators that can be used and they must be URL encoded in order to be included. The operators are:


        * Equals: `= (%3D)`

        * Does not equal: `!= (!%3D)`

        * Greater than: `> (%3E)`

        * Less than: `< (%3C)`

        * Greater than or equal to: `>= (%3E%3D)`

        * Less than or equal to: `<= (%3C%3D)`

        * Contains substring: `=@ (%3D@)`

        * Does not contain substring: `!@ (!@)`


        Filters can be combined using `OR` and `AND` boolean logic. The `OR` operator is defined using a comma (`,`) and the `AND` operator is defined using a semi-colon (`;`).


        Some examples:

        * `filter=field%3Dvalue` (`field` equals `''value''`)

        * `filter=field%3D@*partialmatch` (`field` ends with `''partialmatch''`)

        * `filter=field%3D@*partialmatch,field%3Dvalue` (`field` ends with `''partialmatch''` OR `field` equals `''value''`)

        * `filter=field%3D@*partialmatch,field%3Dvalue;field2%3C5` (`field` ends with `''partialmatch''` OR `field` equals `''value''` AND `field2` > `5`)

        '
      in: query
      name: filter
      required: false
      schema:
        minimum: 1
        type: string
    Acquia_Cloud_API_Documentation_limit:
      description: The maximum number of items to return.
      example: 10
      in: query
      name: limit
      required: false
      schema:
        type: integer
    Acquia_Cloud_API_Documentation_offset:
      description: An integer to signify the offset to paginate from.
      example: 10
      in: query
      name: offset
      required: false
      schema:
        type: integer
    Acquia_Cloud_API_Documentation_sort:
      description: 'A comma-delimited string with fields used for sorting. The order of the fields is significant. A leading - in the field indicates the field should be sorted in a descending order. Not all fields are sortable.

        '
      example: field1,-field2
      in: query
      name: sort
      required: false
      schema:
        minimum: 1
        type: string
    Acquia_Cloud_API_Documentation_identity-provider-uuid:
      description: The entity's universally unique identifier.
      example: da1c0a8e-ff69-45db-88fc-acd6d2affbb7
      in: path
      name: identityProviderUuid
      required: true
      schema:
        type: string
  securitySchemes:
    Acquia_Cloud_API_Documentation_OAuth2:
      description: 'All Cloud API calls need to be authenticated in order to work. You authenticate using a token that you can generate on your Acquia Profile page.


        ### To generate a token:


        1. Sign in to the [Acquia Cloud](https://cloud.acquia.com/) interface using your email address and Acquia password.

        2. Click your user avatar in the upper right corner, and then click **Account Settings**.

        3. On the Profile page, click **API Tokens**.

        4. Click **Create Token**.

        5. In the pop-up that appears, give your token a label so that you can easily find it later. Then click **Create Token**.

        6. Copy your API key and API secret. Click **OK**.

        '
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: https://accounts.acquia.com/api/token
      type: oauth2
    Codebase_Service_JWT:
      description: Value for the Authorization header parameter.
      in: header
      name: Authorization
      type: apiKey
    MEO_Environment_Service_JWT:
      description: Value for the Authorization header parameter.
      in: header
      name: Authorization
      type: apiKey
    Site_Service_JWT:
      description: Value for the Authorization header parameter.
      in: header
      name: Authorization
      type: apiKey