openapi: 3.0.1 info: title: Estuary Flow Control Plane Auth Connectors API description: Representative OpenAPI description of the Estuary Flow control plane, a Supabase deployment (Postgres + PostgREST + GoTrue) that exposes the public-facing REST API for Estuary Flow. Clients authenticate with an Authorization Bearer access token, which is obtained by exchanging a long-lived refresh token through the generate_access_token RPC. Most resources are PostgREST tables and RPCs; standard PostgREST query conventions (select, filter operators like eq./gt., order, limit) apply to the table endpoints. Publishing changes to the running data plane is an asynchronous, draft-then-publish workflow. This document is a faithful representative model and is not the vendor's canonical machine-readable contract. termsOfService: https://estuary.dev/terms/ contact: name: Estuary Support email: support@estuary.dev version: '1.0' servers: - url: https://api.estuary.dev description: Estuary Flow control plane (Supabase/PostgREST) security: - bearerAuth: [] tags: - name: Connectors paths: /discovers: post: operationId: createDiscover tags: - Connectors summary: Run connector schema discovery. description: Enqueues a discovery job against a connector image and endpoint config, producing recommended bindings and collection schemas for a capture. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DiscoverCreate' responses: '201': description: The enqueued discover job. content: application/json: schema: $ref: '#/components/schemas/Discover' /connectors: get: operationId: listConnectors tags: - Connectors summary: List available capture and materialization connectors. responses: '200': description: An array of connectors. content: application/json: schema: type: array items: $ref: '#/components/schemas/Connector' /connector_tags: get: operationId: listConnectorTags tags: - Connectors summary: List tagged image versions of connectors and their endpoint spec schemas. responses: '200': description: An array of connector tags. content: application/json: schema: type: array items: $ref: '#/components/schemas/ConnectorTag' components: schemas: ConnectorTag: type: object properties: id: type: string connector_id: type: string image_tag: type: string protocol: type: string enum: - capture - materialize endpoint_spec_schema: type: object resource_spec_schema: type: object DiscoverCreate: type: object required: - connector_tag_id - endpoint_config - capture_name properties: connector_tag_id: type: string endpoint_config: type: object capture_name: type: string draft_id: type: string Discover: type: object properties: id: type: string connector_tag_id: type: string draft_id: type: string nullable: true job_status: $ref: '#/components/schemas/JobStatus' logs_token: type: string JobStatus: type: object properties: type: type: string enum: - queued - buildFailed - testFailed - publishFailed - success - emptyDraft Connector: type: object properties: id: type: string image_name: type: string title: type: object description: Localized title map. short_description: type: object recommended: type: boolean securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: 'Access token obtained from /rpc/generate_access_token by exchanging a refresh token. Sent as Authorization: Bearer .'