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

# Create integration

> Register a Link instance as an integration so Specter can discover and use the backends it exposes.




## OpenAPI

````yaml /products/specter/openapi.yaml post /api/admin/integrations
openapi: 3.1.0
info:
  contact:
    email: hello@starfish.team
    name: Starfish GmbH & Co. KG
    url: https://hellgate.io/cpa/specter
  description: Composable decision engine and fraud prevention service.
  license:
    name: Hellgate API Terms
    url: https://hellgate.io/terms-and-conditions
  title: Specter API
  version: '1.0'
servers:
  - description: Managed instance of Specter
    url: https://{instance}.{env}.on-hellgate.cloud
    variables:
      instance:
        default: my-instance
        description: Your unique instance slug, provided during onboarding.
      env:
        default: eu1
        description: Deployment environment (currently eu1).
security: []
tags:
  - description: Evaluate transactions and retrieve decision results.
    name: Decisions
  - description: Close decisions that were flagged for manual review.
    name: Resolutions
  - description: Report payment lifecycle events for a prior decision.
    name: Lifecycle Events
  - description: Manage rulesets and their activation lifecycle.
    name: Rulesets
  - description: Configure interceptors and intercept live payment requests.
    name: Interceptors
  - description: Subscribe to decision and event notifications.
    name: Webhooks
  - description: Manage blocked field values.
    name: Blacklist
paths:
  /api/admin/integrations:
    post:
      tags:
        - Integrations
      summary: Create integration
      description: >
        Register a Link instance as an integration so Specter can discover and
        use the backends it exposes.
      operationId: admin_integrations_create
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIntegrationRequest'
        description: Integration attributes
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationResponse'
          description: Created integration
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrors'
          description: Validation errors
      callbacks: {}
      security:
        - bearerAuth: []
components:
  schemas:
    CreateIntegrationRequest:
      properties:
        base_url:
          example: http://link:4000
          type: string
        description:
          type:
            - string
            - 'null'
        enabled:
          default: true
          type: boolean
        name:
          example: Link Production
          type: string
        slug:
          description: Stable, lowercase slug used to reference the integration in rules
          example: link-prod
          type: string
        timeout_ms:
          example: 5000
          type: integer
        type:
          description: >-
            `link` — points at a Link instance (rules supply a /<backend_id>
            suffix).
          enum:
            - link
          type: string
      required:
        - slug
        - name
        - type
        - base_url
      title: CreateIntegrationRequest
      type: object
    IntegrationResponse:
      properties:
        id:
          format: uuid
          type: string
        base_url:
          example: http://link:4000
          type: string
        description:
          type:
            - string
            - 'null'
        enabled:
          type: boolean
        inserted_at:
          format: date-time
          type: string
        name:
          example: Link Production
          type: string
        slug:
          example: link-prod
          type: string
        timeout_ms:
          example: 5000
          type: integer
        type:
          enum:
            - link
          type: string
        updated_at:
          format: date-time
          type: string
      title: IntegrationResponse
      type: object
    Error:
      description: Generic error response with classifier, code, and message
      example:
        classifier: NOT_FOUND
        code: 404
        message: The requested resource does not exist
      properties:
        classifier:
          example: NOT_FOUND
          type: string
        code:
          example: 404
          type: integer
        message:
          example: The requested resource does not exist
          type: string
      required:
        - classifier
        - code
        - message
      title: Error
      type: object
    ValidationErrors:
      description: Response shape for request validation failures
      example:
        classifier: VALIDATION_ERROR
        code: 422
        validation_errors:
          - message: must be a positive integer
            path: limit
      properties:
        classifier:
          example: VALIDATION_ERROR
          type: string
        code:
          example: 422
          type: integer
        validation_errors:
          items:
            properties:
              message:
                example: must be a positive integer
                type: string
              path:
                example: limit
                type: string
            type: object
          type: array
      required:
        - classifier
        - code
        - validation_errors
      title: ValidationErrors
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: >-
        HS256-signed JWT bearer token, obtained via the OAuth2
        client-credentials grant (see Authentication).
      scheme: bearer
      type: http

````