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

# Register an integration manifest

> Registers an integration manifest as a `system.integration` item. One row per `(manifest_name, manifest_version)` pair; subsequent versions register as sibling items, not edits. The manifest is validated against `IntegrationManifestSchema` — declared triggers, OAuth requirements, webhook verification method, target types, permissions.

Once registered, the manifest is installable into any tenant via `POST /integrations/{id}/install` (consent flow) or `POST /connections/install` (server-side admin install). See [Integrations](/concepts/integrations) and [Marketplace](/concepts/marketplace).



## OpenAPI

````yaml /openapi.json post /integrations
openapi: 3.1.0
info:
  title: Marfa API
  version: 4.2.0
  description: Typed data layer for structured personal data
servers: []
security: []
paths:
  /integrations:
    post:
      tags:
        - Integrations
      summary: Register an integration manifest
      description: >-
        Registers an integration manifest as a `system.integration` item. One
        row per `(manifest_name, manifest_version)` pair; subsequent versions
        register as sibling items, not edits. The manifest is validated against
        `IntegrationManifestSchema` — declared triggers, OAuth requirements,
        webhook verification method, target types, permissions.


        Once registered, the manifest is installable into any tenant via `POST
        /integrations/{id}/install` (consent flow) or `POST
        /connections/install` (server-side admin install). See
        [Integrations](/concepts/integrations) and
        [Marketplace](/concepts/marketplace).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                manifest:
                  type: object
                  additionalProperties:
                    nullable: true
              required:
                - manifest
      responses:
        '201':
          description: >-
            Integration registered. Subsequent versions register as sibling
            items.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  manifest_name:
                    type: string
                  manifest_version:
                    type: string
                  publisher:
                    type: string
                  summary:
                    type: string
                  direction:
                    type: string
                    enum:
                      - read
                      - write
                      - both
                  runtime_compatibility:
                    type: array
                    items:
                      type: string
                  registered_at:
                    type: string
                  manifest:
                    type: object
                    additionalProperties:
                      nullable: true
                required:
                  - id
                  - manifest_name
                  - manifest_version
                  - publisher
                  - direction
                  - runtime_compatibility
                  - registered_at
                  - manifest
        '400':
          description: Validation error (manifest schema rejection)
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - validation_error
                          - missing_required_field
                      message:
                        type: string
                      details:
                        type: object
                        additionalProperties:
                          nullable: true
                    required:
                      - code
                      - message
                required:
                  - error
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - unauthorized
                      message:
                        type: string
                      details:
                        type: object
                        additionalProperties:
                          nullable: true
                    required:
                      - code
                      - message
                required:
                  - error
        '403':
          description: 'Caller lacks is_platform: true'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - forbidden
                      message:
                        type: string
                      details:
                        type: object
                        additionalProperties:
                          nullable: true
                    required:
                      - code
                      - message
                required:
                  - error
        '409':
          description: manifest_name + manifest_version already registered
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - conflict
                      message:
                        type: string
                      details:
                        type: object
                        additionalProperties:
                          nullable: true
                    required:
                      - code
                      - message
                required:
                  - error
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key or OAuth Token
      description: Pass an API key (marfa_k1_...) or OAuth access token (marfa_at_...)

````