Skip to main content

Validate an Integration

POST 

/pim/v2/integrations:validate

Early Access Request Access To Provider Integration

Validate the provider integration configuration.

Request

Responses

The provider integration configuration is validated successfully.

OpenAPI definition (YAML)
paths:
  /pim/v2/integrations:validate:
    post:
      description: '[![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)
        [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.)


        Validate the provider integration configuration.

        '
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - type: object
                description: Request to validate the provider integration configuration.
                properties:
                  id:
                    type: string
                    description: The ID of the provider integration to validate.
                    example: cspi-00000
                    maxLength: 255
                  metadata:
                    allOf:
                    - description: ObjectMeta is metadata that all persisted resources must have, which
                        includes all objects users must create.
                      properties: {}
                      readOnly: true
                      title: ObjectMeta
                    - properties:
                        self:
                          example: https://api.confluent.cloud/pim/v2/integration-validate-requests/ivr-12345
                        resource_name:
                          example: crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/integration-validate-request=ivr-12345
                  config:
                    type: object
                    description: 'Cloud provider specific configuration for the provider integration.

                      Required only for integrations in `DRAFT` status.

                      '
                    discriminator:
                      propertyName: kind
                      mapping:
                        GcpIntegrationConfig:
                          type: object
                          description: 'config schema for GCP cloud service provider.

                            '
                          properties:
                            google_service_account:
                              type: string
                              description: 'The ID of the Google Service Account that Confluent Cloud
                                uses to impersonate

                                customer Google Service Account when it accesses resources in your GCP
                                project.

                                '
                              example: cspi-sa1@cflt-project.iam.gserviceaccount.com
                              readOnly: true
                            customer_google_service_account:
                              type: string
                              description: 'The ID of the Google Service Account that Confluent Cloud
                                impersonates

                                to access resources in your GCP Project.

                                '
                              example: customer-sa@customer-project.iam.gserviceaccount.com
                            kind:
                              type: string
                              description: Cloud provider specific config to which access is provided
                                through provider integration.
                              example: GcpIntegrationConfig
                              enum:
                              - GcpIntegrationConfig
                          required:
                          - kind
                          title: pim.v2.GcpIntegrationConfig
                        AzureIntegrationConfig:
                          type: object
                          description: 'config schema for Azure cloud service provider.

                            '
                          properties:
                            confluent_multi_tenant_app_id:
                              type: string
                              description: 'The ID of the Confluent Multi-Tenant App that Confluent Cloud
                                uses to impersonate

                                customer Azure App when it accesses resources in your Azure subscription.

                                '
                              example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a
                              readOnly: true
                            customer_azure_tenant_id:
                              type: string
                              description: 'The ID of the customer''s Azure Active Directory (Azure AD)
                                tenant

                                '
                              example: 12345678-1234-1234-1234-123456789abc
                            kind:
                              type: string
                              description: Cloud provider specific config to which access is provided
                                through provider integration.
                              example: AzureIntegrationConfig
                              enum:
                              - AzureIntegrationConfig
                          required:
                          - kind
                          title: pim.v2.AzureIntegrationConfig
                        AwsIntegrationConfig:
                          type: object
                          description: 'config schema for AWS cloud service provider.

                            '
                          properties:
                            iam_role_arn:
                              type: string
                              description: 'Amazon Resource Name (ARN) that identifies the Amazon Web
                                Services (AWS)

                                Identity and Access Management (IAM) role that Confluent Cloud uses to
                                assume

                                customer IAM role when it accesses resources in your AWS account.

                                '
                              example: arn:aws:iam::000000000000:role/my-test-aws-role
                              maxLength: 2048
                              minLength: 20
                              readOnly: true
                            external_id:
                              type: string
                              format: uuid
                              description: 'Unique external ID that Confluent Cloud uses when it assumes
                                the IAM role

                                in your Amazon Web Services (AWS) account.

                                '
                              readOnly: true
                            customer_iam_role_arn:
                              type: string
                              description: 'Amazon Resource Name (ARN) that identifies the Amazon Web
                                Services (AWS)

                                Identity and Access Management (IAM) role that Confluent Cloud assumes
                                when

                                it accesses resources in your AWS account.

                                '
                              example: arn:aws:iam::000000000000:role/my-test-aws-role
                              maxLength: 2048
                              minLength: 20
                            kind:
                              type: string
                              description: Cloud provider specific config to which access is provided
                                through provider integration.
                              example: AwsIntegrationConfig
                              enum:
                              - AwsIntegrationConfig
                          required:
                          - kind
                          title: pim.v2.AwsIntegrationConfig
                    oneOf:
                    - type: object
                      description: 'config schema for GCP cloud service provider.

                        '
                      properties:
                        customer_google_service_account:
                          type: string
                          description: 'The ID of the Google Service Account that Confluent Cloud impersonates

                            to access resources in your GCP Project.

                            '
                          example: customer-sa@customer-project.iam.gserviceaccount.com
                        kind:
                          type: string
                          description: Cloud provider specific config to which access is provided through
                            provider integration.
                          example: GcpIntegrationConfig
                          enum:
                          - GcpIntegrationConfig
                      required:
                      - kind
                      title: pim.v2.GcpIntegrationConfig
                    - type: object
                      description: 'config schema for Azure cloud service provider.

                        '
                      properties:
                        customer_azure_tenant_id:
                          type: string
                          description: 'The ID of the customer''s Azure Active Directory (Azure AD) tenant

                            '
                          example: 12345678-1234-1234-1234-123456789abc
                        kind:
                          type: string
                          description: Cloud provider specific config to which access is provided through
                            provider integration.
                          example: AzureIntegrationConfig
                          enum:
                          - AzureIntegrationConfig
                      required:
                      - kind
                      title: pim.v2.AzureIntegrationConfig
                    - type: object
                      description: 'config schema for AWS cloud service provider.

                        '
                      properties:
                        customer_iam_role_arn:
                          type: string
                          description: 'Amazon Resource Name (ARN) that identifies the Amazon Web Services
                            (AWS)

                            Identity and Access Management (IAM) role that Confluent Cloud assumes when

                            it accesses resources in your AWS account.

                            '
                          example: arn:aws:iam::000000000000:role/my-test-aws-role
                          maxLength: 2048
                          minLength: 20
                        kind:
                          type: string
                          description: Cloud provider specific config to which access is provided through
                            provider integration.
                          example: AwsIntegrationConfig
                          enum:
                          - AwsIntegrationConfig
                      required:
                      - kind
                      title: pim.v2.AwsIntegrationConfig
                  environment:
                    description: The environment to which this belongs.
                    allOf:
                    - type: object
                      description: ObjectReference provides information for you to locate the referred
                        object
                      required:
                      - id
                      properties:
                        id:
                          type: string
                          description: ID of the referred resource
                          minLength: 1
                          maxLength: 255
                      title: GlobalObjectReference
                title: pim.v2.IntegrationValidateRequest
              - type: object
                required:
                - id
                - environment
      x-lifecycle-stage: Early Access
      x-self-access: false
      x-request-access-name: Provider Integration
      x-name: pim.v2.Integration
      operationId: validatePimV2Integration
      tags:
      - Integrations (pim/v2)
      security:
      - cloud-api-key: []
      - confluent-sts-access-token: []
      responses:
        '204':
          description: The provider integration configuration is validated successfully.
        '400':
          description: Bad Request
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '400'
                  code: invalid_filter
                  title: Invalid Filter
                  detail: The 'delorean' resource can't be filtered by 'num_doors'
                  source:
                    parameter: num_doors
        '401':
          x-summary: Unauthorized
          description: The request lacks valid authentication credentials for this resource.
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            WWW-Authenticate:
              schema:
                type: string
              description: The unique identifier for the API request.
              example: Basic error="invalid_key", error_description="The API Key is invalid"
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '401'
                  code: user_unauthenticated
                  title: Authentication Required
                  detail: Valid authentication credentials must be provided
        '403':
          x-summary: Forbidden
          description: The access credentials were considered insufficient to grant access
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '403'
                  code: user_unauthorized
                  title: User Access Unauthorized
                  detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the
                    'plutonium' role.
        '404':
          description: Not Found
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '404'
                  title: Not Found
        '429':
          description: Rate Limit Exceeded
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
            X-RateLimit-Limit:
              schema:
                type: integer
              description: The maximum number of requests you're permitted to make per time period.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: The number of requests remaining in the current rate limit window.
            X-RateLimit-Reset:
              schema:
                type: integer
              description: "The relative time in seconds until the current rate-limit window resets. \
                \ \n  \n**Important:** This differs from Github and Twitter's same-named header which\
                \ uses UTC epoch seconds. We use relative time to avoid client/server time synchronization\
                \ issues."
            Retry-After:
              schema:
                type: integer
              description: The number of seconds to wait until the rate limit window resets. Only sent
                when the rate limit is reached.
        '500':
          description: Oops, something went wrong!
          headers:
            X-Request-Id:
              schema:
                type: string
              description: The unique identifier for the API request.
          content:
            application/json:
              schema:
                type: object
                description: Provides information about problems encountered while performing an operation.
                required:
                - errors
                properties:
                  errors:
                    description: List of errors which caused this operation to fail
                    type: array
                    items:
                      type: object
                      description: Describes a particular error encountered while performing an operation.
                      properties:
                        id:
                          description: A unique identifier for this particular occurrence of the problem.
                          type: string
                          maxLength: 255
                        status:
                          description: The HTTP status code applicable to this problem, expressed as a
                            string value.
                          type: string
                        code:
                          description: An application-specific error code, expressed as a string value.
                          type: string
                        title:
                          description: A short, human-readable summary of the problem. It **SHOULD NOT**
                            change from occurrence to occurrence of the problem, except for purposes of
                            localization.
                          type: string
                        detail:
                          description: A human-readable explanation specific to this occurrence of the
                            problem.
                          type: string
                        source:
                          type: object
                          description: If this error was caused by a particular part of the API request,
                            the source will point to the query string parameter or request body property
                            that caused it.
                          properties:
                            pointer:
                              description: A JSON Pointer [RFC6901] to the associated entity in the request
                                document [e.g. "/spec" for a spec object, or "/spec/title" for a specific
                                field].
                              type: string
                            parameter:
                              description: A string indicating which query parameter caused the error.
                              type: string
                        error_code:
                          type: integer
                          format: int32
                        message:
                          type: string
                          nullable: true
                      additionalProperties: false
                      title: Error
                    uniqueItems: true
                title: Failure
              example:
                errors:
                - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d
                  status: '500'
                  code: out_of_gas
                  title: DeLorean Out Of Gas
                  detail: The DeLorean has run out of gas, but Doc Brown will fill 'er up for you asap
      servers:
      - url: https://api.confluent.cloud
        description: Confluent Cloud API
      jsonRequestBodyExample:
        id: cspi-00000
        config:
          customer_google_service_account: customer-sa@customer-project.iam.gserviceaccount.com
          kind: GcpIntegrationConfig
        environment:
          id: string