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

# Start setup

> Start async connector setup

Starts async setup and returns an operation handle — poll it like any other [operation](/api/operations). If setup is already running, the call joins it. If the engine is already set up, the call returns `200` with the connector and a message instead of starting anything.


## OpenAPI

````yaml openapi.public.json POST /v1/connectors/{connector_id}/engine-setup
openapi: 3.1.0
info:
  description: >-
    Public Ardent API. Generated by scripts/export_public_openapi.py — do not
    edit by hand.
  title: Ardent API
  version: v1
servers:
  - url: https://api.tryardent.com
security: []
paths:
  /v1/connectors/{connector_id}/engine-setup:
    post:
      tags:
        - v1-connectors
      summary: Engine Setup Endpoint
      operationId: engine_setup_endpoint_v1_connectors__connector_id__engine_setup_post
      parameters:
        - in: path
          name: connector_id
          required: true
          schema:
            title: Connector Id
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorRow'
          description: >-
            Nothing to do: the engine is already set up. Returns the connector
            row with a `message`.
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationHandle'
          description: Setup started (or joined). Poll `GET /v1/operations/{operation_id}`.
        '400':
          description: The connector isn't in a state that can run setup.
        '403':
          description: No update permission on this connector.
        '404':
          description: Connector not found (or not visible to the caller).
        '409':
          description: A conflicting setup operation exists.
        '422':
          description: >-
            Setup prerequisites failed (for example, unresolved replica identity
            decisions).
        '503':
          description: Ardent could not start the work — safe to retry.
      security:
        - bearerAuth: []
components:
  schemas:
    ConnectorRow:
      additionalProperties: true
      properties:
        can_delete:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether the caller may delete this connector.
          title: Can Delete
        can_update:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether the caller may update this connector.
          title: Can Update
        created_at:
          anyOf:
            - type: string
            - type: 'null'
          description: When the connector was created.
          title: Created At
        id:
          description: Connector ID.
          title: Id
          type: string
        name:
          description: Connector name.
          title: Name
          type: string
        org_id:
          description: Organization the connector belongs to.
          title: Org Id
          type: string
        project_id:
          anyOf:
            - type: string
            - type: 'null'
          description: Project the connector belongs to.
          title: Project Id
        service_name:
          description: Service type. `postgresql` today.
          title: Service Name
          type: string
        status:
          anyOf:
            - type: string
            - type: 'null'
          description: Current connector status.
          title: Status
      required:
        - id
        - org_id
        - name
        - service_name
      title: ConnectorRow
      type: object
    OperationHandle:
      properties:
        operation_id:
          description: Operation to poll at `GET /v1/operations/{operation_id}`.
          title: Operation Id
          type: string
        resource_id:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            ID of the resource being created or acted on (the branch ID for
            branch create).
          title: Resource Id
        status:
          $ref: '#/components/schemas/OperationStatus'
          description: Status at acceptance time.
        type:
          $ref: '#/components/schemas/OperationType'
          description: The kind of work this operation tracks, for example `branch_create`.
      required:
        - operation_id
        - status
        - type
        - resource_id
      title: OperationHandle
      type: object
    OperationStatus:
      enum:
        - pending
        - running
        - completed
        - failed
      title: OperationStatus
      type: string
    OperationType:
      enum:
        - connector_engine_setup
        - connector_reset
        - connector_deep_reset
        - connector_discovery
        - connector_delete
        - connector_secret_purge
        - connector_rollout
        - connector_replication_rollback
        - connector_debezium_cutover
        - connector_debezium_shadow_cleanup
        - environment_deploy
        - environment_destroy
        - branch_create
        - branch_delete
      title: OperationType
      type: string
  securitySchemes:
    bearerAuth:
      description: >-
        Ardent API key (sk-ard_live_… / sk-ard_test_…) or a dashboard session
        token.
      scheme: bearer
      type: http

````