Uniform Integrations API

The Integrations API from Uniform — 5 operation(s) for integrations.

OpenAPI Specification

uniform-integrations-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Uniform Platform Aggregates Integrations API
  version: '2.0'
tags:
- name: Integrations
paths:
  /api/v1/integration-credentials:
    delete:
      description: Revokes the credential for an integration definition. Future grants and refreshes will fail until a new credential is minted. In-flight delegation tokens remain valid until natural expiry.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                teamId:
                  type: string
                  format: uuid
                  description: The team ID that owns the integration
                integrationDefinitionId:
                  type: string
                  format: uuid
                  description: The integration definition ID to mint or revoke credentials for
                kind:
                  type: string
                  enum:
                  - app_secret
                  description: Kind of credential to rotate or revoke. Currently only `app_secret` is supported.
              required:
              - teamId
              - integrationDefinitionId
              - kind
              additionalProperties: false
      responses:
        '204':
          description: Credential revoked
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          description: Integration definition not found in this team, or no credential of the given kind is configured
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
      - Integrations
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
    post:
      description: 'Mints or rotates the credential for an integration definition. Atomic: a successful response invalidates any previously-issued secret of the same kind. The plaintext secret is returned in the response body and cannot be retrieved later.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                teamId:
                  type: string
                  format: uuid
                  description: The team ID that owns the integration
                integrationDefinitionId:
                  type: string
                  format: uuid
                  description: The integration definition ID to mint or revoke credentials for
                kind:
                  type: string
                  enum:
                  - app_secret
                  description: Kind of credential to rotate or revoke. Currently only `app_secret` is supported.
              required:
              - teamId
              - integrationDefinitionId
              - kind
              additionalProperties: false
      responses:
        '200':
          description: Credential minted or rotated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  kind:
                    type: string
                    enum:
                    - app_secret
                    description: Kind of credential to rotate or revoke. Currently only `app_secret` is supported.
                  integrationDefinitionId:
                    type: string
                    format: uuid
                  appSecret:
                    type: string
                    description: Plaintext app secret. Only returned on this response; cannot be retrieved later.
                  createdAt:
                    type: string
                    description: ISO timestamp when the secret became effective.
                required:
                - kind
                - integrationDefinitionId
                - appSecret
                - createdAt
                additionalProperties: false
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          description: Integration definition not found in this team
        '429':
          $ref: '#/components/responses/RateLimitError'
        '500':
          $ref: '#/components/responses/InternalServerError'
      tags:
      - Integrations
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
    options:
      tags:
      - Integrations
      responses:
        '204':
          description: ok
      description: Handles preflight requests. This endpoint allows CORS.
  /api/v1/integration-definitions:
    get:
      description: Gets a list of Mesh apps that are available for a Uniform team
      parameters:
      - schema:
          type: string
          description: The team ID
        required: true
        description: The team ID
        name: teamId
        in: query
      - schema:
          type: boolean
          nullable: true
          default: false
          description: Whether to include Mesh apps that are shared publicly to all teams, or only custom apps registered on this team.
        required: false
        description: Whether to include Mesh apps that are shared publicly to all teams, or only custom apps registered on this team.
        name: includePublic
        in: query
      - schema:
          type: boolean
          nullable: true
          description: Whether to use team-specific integration types or team-agnostic types (for serialization across projects)
        required: false
        description: Whether to use team-specific integration types or team-agnostic types (for serialization across projects)
        name: teamSpecificType
        in: query
      responses:
        '200':
          description: 200 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          minLength: 2
                          pattern: ^[a-z0-9-_]+$
                        displayName:
                          type: string
                          minLength: 1
                        logoIconUrl:
                          type: string
                        badgeIconUrl:
                          type: string
                        category:
                          type: string
                          enum:
                          - analytics
                          - cdn
                          - classic
                          - commerce
                          - content
                          - comingSoon
                          - data
                          - deprecated
                          - email
                          - framework
                          - search
                          - starters
                          - translation
                          - uniform
                          - ai
                          - unknown
                        public:
                          type: boolean
                        scopes:
                          type: array
                          items:
                            type: string
                        identityDelegation:
                          type: boolean
                        integrationId:
                          type: string
                          format: uuid
                        hasAppSecret:
                          type: boolean
                        baseLocationUrl:
                          type: string
                        locations:
                          type: object
                          properties:
                            install:
                              type: object
                              properties:
                                description:
                                  type: array
                                  items:
                                    type: string
                                informationUrl:
                                  type: string
                                canvasPackageUrl:
                                  type: string
                            settings:
                              type: object
                              properties:
                                url:
                                  type: string
                                locations:
                                  type: object
                                  additionalProperties:
                                    type: object
                                    properties:
                                      url:
                                        type: string
                                      layout:
                                        type: object
                                        properties:
                                          height:
                                            type: string
                                            enum:
                                            - full-height
                                          width:
                                            type: string
                                            enum:
                                            - wide
                                        additionalProperties: false
                                    required:
                                    - url
                                    additionalProperties: false
                              required:
                              - url
                            canvas:
                              type: object
                              properties:
                                parameterTypes:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      type:
                                        type: string
                                      displayName:
                                        type: string
                                      configureUrl:
                                        type: string
                                      editorUrl:
                                        type: string
                                      configurationLocations:
                                        type: object
                                        additionalProperties:
                                          type: object
                                          properties:
                                            url:
                                              type: string
                                            layout:
                                              type: object
                                              properties:
                                                height:
                                                  type: string
                                                  enum:
                                                  - full-height
                                                width:
                                                  type: string
                                                  enum:
                                                  - wide
                                              additionalProperties: false
                                          required:
                                          - url
                                          additionalProperties: false
                                      editorLocations:
                                        type: object
                                        additionalProperties:
                                          type: object
                                          properties:
                                            url:
                                              type: string
                                            layout:
                                              type: object
                                              properties:
                                                height:
                                                  type: string
                                                  enum:
                                                  - full-height
                                                width:
                                                  type: string
                                                  enum:
                                                  - wide
                                              additionalProperties: false
                                          required:
                                          - url
                                          additionalProperties: false
                                      renderableInPropertyPanel:
                                        type: boolean
                                      localizable:
                                        type: string
                                        enum:
                                        - default-yes
                                        - default-no
                                        - 'yes'
                                        - 'no'
                                      allowedPlacement:
                                        type: array
                                        items:
                                          type: string
                                          enum:
                                          - parameter
                                          - field
                                    required:
                                    - type
                                    - displayName
                                    - editorUrl
                                editorTools:
                                  anyOf:
                                  - type: object
                                    properties:
                                      composition:
                                        type: object
                                        properties:
                                          url:
                                            type: string
                                        required:
                                        - url
                                      componentPattern:
                                        type: object
                                        properties:
                                          url:
                                            type: string
                                        required:
                                        - url
                                      compositionDefaults:
                                        type: object
                                        properties:
                                          url:
                                            type: string
                                        required:
                                        - url
                                      entry:
                                        type: object
                                        properties:
                                          url:
                                            type: string
                                        required:
                                        - url
                                      entryPattern:
                                        type: object
                                        properties:
                                          url:
                                            type: string
                                        required:
                                        - url
                                  - type: array
                                    items:
                                      type: object
                                      properties:
                                        id:
                                          type: string
                                          minLength: 1
                                        name:
                                          type: string
                                          minLength: 1
                                        url:
                                          type: string
                                          minLength: 1
                                        iconUrl:
                                          type: string
                                        access:
                                          type: object
                                          properties:
                                            teamAdminRequired:
                                              type: boolean
                                              enum:
                                              - true
                                          additionalProperties: false
                                        editorTypes:
                                          type: array
                                          items:
                                            type: string
                                            enum:
                                            - composition
                                            - componentPattern
                                            - compositionDefaults
                                            - entry
                                            - entryPattern
                                      required:
                                      - id
                                      - name
                                      - url
                                personalization:
                                  type: object
                                  properties:
                                    selectionAlgorithms:
                                      type: object
                                      additionalProperties:
                                        type: object
                                        properties:
                                          displayName:
                                            type: string
                                          description:
                                            type: string
                                          criteriaEditorUrl:
                                            type: string
                                        required:
                                        - displayName
                            dataConnectors:
                              type: array
                              items:
                                type: object
                                properties:
                                  type:
                                    type: string
                                  displayName:
                                    type: string
                                  dataSourceEditorUrl:
                                    type: string
                                  supportsUnpublishedData:
                                    type: boolean
                                  dataSourceEditorLocations:
                                    type: object
                                    additionalProperties:
                                      type: object
                                      properties:
                                        url:
                                          type: string
                                        layout:
                                          type: object
                                          properties:
                                            height:
                                              type: string
                                              enum:
                                              - full-height
                                            width:
                                              type: string
                                              enum:
                                              - wide
                                          additionalProperties: false
                                      required:
                                      - url
                                      additionalProperties: false
                                  dataArchetypes:
                                    type: object
                                    additionalProperties:
                                      type: object
                                      properties:
                                        displayName:
                                          type: string
                                        typeEditorUrl:
                                          type: string
                                        typeEditorLocations:
                                          type: object
                                          additionalProperties:
                                            type: object
                                            properties:
                                              url:
                                                type: string
                                              layout:
                                                type: object
                                                properties:
                                                  height:
                                                    type: string
                                                    enum:
                                                    - full-height
                                                  width:
                                                    type: string
                                                    enum:
                                                    - wide
                                                additionalProperties: false
                                            required:
                                            - url
                                            additionalProperties: false
                                        dataEditorUrl:
                                          type: string
                                        dataEditorUrlLocations:
                                          type: object
                                          additionalProperties:
                                            type: object
                                            properties:
                                              url:
                                                type: string
                                              layout:
                                                type: object
                                                properties:
                                                  height:
                                                    type: string
                                                    enum:
                                                    - full-height
                                                  width:
                                                    type: string
                                                    enum:
                                                    - wide
                                                additionalProperties: false
                                            required:
                                            - url
                                            additionalProperties: false
                                        embeddedEditor:
                                          type: string
                                        dataResourceSelectorUrl:
                                          type: string
                                        dataResourceSelectorLocations:
                                          type: object
                                          additionalProperties:
                                            type: object
                                            properties:
                                              url:
                                                type: string
                                              layout:
                                                type: object
                                                properties:
                                                  height:
                                                    type: string
                                                    enum:
                                                    - full-height
                                                  width:
                                                    type: string
                                                    enum:
                                                    - wide
                                                additionalProperties: false
                                            required:
                                            - url
                                            additionalProperties: false
                                      required:
                                      - displayName
                                  badgeIconUrl:
                                    type: string
                                required:
                                - type
                                - displayName
                            assetLibrary:
                              type: object
                              properties:
                                assetLibraryUrl:
                                  type: string
                                assetParameterUrl:
                                  type: string
                                assetLibraryLocations:
                                  type: object
                                  additionalProperties:
                                    type: object
                                    properties:
                                      url:
                                        type: string
                                      layout:
                                        type: object
                                        properties:
                                          height:
                                            type: string
                                            enum:
                                            - full-height
                                          width:
                                            type: string
                                            enum:
                                            - wide
                                        additionalProperties: false
                                    required:
                                    - url
                                    additionalProperties: false
                                unstable_dynamicAssets:
                                  type: object
                                  properties:
                                    dataConnectorId:
                                      type: string
                                    assetsListArchetypeId:
                                      type: string
                                    singleAssetArchetypeId:
                                      type: string
                                  required:
                                  - dataConnectorId
                                  - assetsListArchetypeId
                                  - singleAssetArchetypeId
                              required:
                              - assetLibraryUrl
                              - assetParameterUrl
                            unstable_assetLibrary:
                              type: object
                              properties:
                                url:
                                  type: string
                                dynamicAssets:
                                  type: object
                                  properties:
                                    dataConnectorId:
                                      type: string
                                    assetsListArchetypeId:
                                      type: string
                                    singleAssetArchetypeId:
                                      type: string
                                  required:
                                  - dataConnectorId
                                  - assetsListArchetypeId
                                  - singleAssetArchetypeId
                              required:
                              - url
                            ai:
                              type: object
                              properties:
                                generateUrl:
                                  type: string
                                metadataUrl:
                                  type: string
                                prompts:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                      name:
                                        type: string
                                      text:
                                        type: string
                                      data:
                                        type: object
                                        nullable: true
                                        properties:
                                          arguments:
                                            type: object
                                            nullable: true
                                            additionalProperties:
                                              type: object
                                              properties:
                                                type:
                                                  type: string
                                                displayName:
                                                  type: string
                                                  nullable: true
                                                helpText:
                                                  type: string
                                                  nullable: true
                                                default:
                                                  type: string
                                                  nullable: true
                                              required:
                                              - type
                                          metadata:
                                            nullable: true
                                      parameterTypes:
                                        type: array
                                        items:
                                          type: string
                                    required:
                                    - id
                                    - name
                                    - text
                                    - parameterTypes
                              required:
                              - generateUrl
                            unstable_ai:
                              type: object
                              properties:
                                generateUrl:
                                  type: string
                                metadataUrl:
                                  type: string
                              required:
                              - generateUrl
                            aiAgents:
                              type: object
                              properties:
                                functionCalling:
                                  type: object
                  

# --- truncated at 32 KB (124 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/uniform/refs/heads/main/openapi/uniform-integrations-api-openapi.yml