> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tembo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create an integration

> Create an integration that does not require an OAuth callback.



## OpenAPI

````yaml https://api.tembo.io/public-api/openapi/public post /v1/integrations
openapi: 3.1.0
info:
  title: Tembo Public API
  description: >-
    Manage agents, sessions, repositories, and organization resources with the
    Tembo API.
  version: 1.0.0
servers:
  - url: https://api.tembo.io
    description: Tembo API
  - url: https://{deployment-origin}/api/public-api
    description: Self-hosted Tembo
    variables:
      deployment-origin:
        default: tembo.example.com
        description: Hostname of your self-hosted Tembo deployment
security: []
paths:
  /v1/integrations:
    post:
      tags:
        - Integrations
      summary: Create an integration
      description: Create an integration that does not require an OAuth callback.
      operationId: createIntegration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    environment:
                      type: string
                      minLength: 1
                      maxLength: 200
                    roleArn:
                      type: string
                      minLength: 1
                      maxLength: 2048
                    type:
                      type: string
                      const: aws
                  required:
                    - environment
                    - roleArn
                    - type
                  additionalProperties: false
                - type: object
                  properties:
                    projectId:
                      type: string
                      pattern: ^[a-z][a-z0-9-]{4,28}[a-z0-9]$
                    serviceAccountJson:
                      type: string
                      minLength: 1
                      maxLength: 1000000
                    type:
                      type: string
                      const: bigquery
                  required:
                    - projectId
                    - serviceAccountJson
                    - type
                  additionalProperties: false
                - type: object
                  properties:
                    accessToken:
                      type: string
                      minLength: 1
                      maxLength: 65536
                    type:
                      type: string
                      const: gitlab
                  required:
                    - accessToken
                    - type
                  additionalProperties: false
                - type: object
                  properties:
                    gateway:
                      type: string
                      minLength: 1
                      maxLength: 2048
                    instanceName:
                      type: string
                      minLength: 1
                      maxLength: 200
                    password:
                      type: string
                      minLength: 1
                      maxLength: 65536
                    protocol:
                      type: string
                      enum:
                        - fortinet
                        - anyconnect
                        - gp
                        - nc
                    type:
                      type: string
                      const: openconnect
                    username:
                      type: string
                      minLength: 1
                      maxLength: 4096
                  required:
                    - gateway
                    - instanceName
                    - password
                    - protocol
                    - type
                    - username
                  additionalProperties: false
                - type: object
                  properties:
                    caCertificate:
                      type: string
                      maxLength: 1000000
                    connectionString:
                      type: string
                      minLength: 1
                      maxLength: 16384
                    instanceName:
                      type: string
                      minLength: 1
                      maxLength: 200
                    type:
                      type: string
                      const: postgres
                  required:
                    - connectionString
                    - instanceName
                    - type
                  additionalProperties: false
                - type: object
                  properties:
                    clientId:
                      type: string
                      minLength: 1
                      maxLength: 16384
                    clientSecret:
                      type: string
                      minLength: 1
                      maxLength: 65536
                    organizationId:
                      type: string
                      format: uuid
                    organizationName:
                      type: string
                      minLength: 1
                      maxLength: 500
                    type:
                      type: string
                      const: snyk
                  required:
                    - clientId
                    - clientSecret
                    - organizationId
                    - type
                  additionalProperties: false
                - type: object
                  properties:
                    instanceName:
                      type: string
                      minLength: 1
                      maxLength: 200
                    oauthClientId:
                      type: string
                      minLength: 1
                      maxLength: 16384
                    oauthClientSecret:
                      type: string
                      minLength: 1
                      maxLength: 65536
                    tags:
                      type: array
                      items:
                        type: string
                        pattern: ^tag:[a-z0-9][a-z0-9-]*$
                      minItems: 1
                      maxItems: 100
                    tailnet:
                      type: string
                      minLength: 1
                      maxLength: 500
                      default: '-'
                    type:
                      type: string
                      const: tailscale
                  required:
                    - instanceName
                    - oauthClientId
                    - oauthClientSecret
                    - tags
                    - type
                  additionalProperties: false
      responses:
        '201':
          description: Create an integration
          content:
            application/json:
              schema:
                type: object
                properties:
                  integration:
                    type: object
                    properties:
                      createdAt:
                        type: string
                        format: date-time
                      displayName:
                        type: string
                      enabledAt:
                        type:
                          - string
                          - 'null'
                        format: date-time
                      id:
                        type: string
                      lastSyncedAt:
                        type:
                          - string
                          - 'null'
                        format: date-time
                      repositoryCount:
                        type: integer
                        minimum: 0
                      sourceCount:
                        type: integer
                        minimum: 0
                      type:
                        type: string
                        minLength: 1
                        maxLength: 100
                      updatedAt:
                        type: string
                        format: date-time
                    required:
                      - createdAt
                      - displayName
                      - enabledAt
                      - id
                      - lastSyncedAt
                      - repositoryCount
                      - sourceCount
                      - type
                      - updatedAt
                    additionalProperties: false
                  sessionSourceId:
                    type:
                      - string
                      - 'null'
                    format: uuid
                required:
                  - integration
                  - sessionSourceId
                additionalProperties: false
        '400':
          description: Invalid request or missing organization information.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '401':
          description: Provider authentication failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '403':
          description: The caller cannot perform this operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '404':
          description: Integration not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '409':
          description: Integration conflict or unsupported operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '500':
          description: Integration operation failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '502':
          description: Integration provider operation failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '504':
          description: Integration provider operation timed out
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.