openapi: 3.1.0 info: title: APIGen Connectors API description: The APIGen API provides programmatic access to the APIGen AI-powered API generation platform. It allows you to manage projects, design and generate APIs, define endpoints and schemas, configure connectors to external data sources, deploy APIs to various environments, run automated tests, and manage users and API tokens. version: 1.0.0 contact: name: APIGen Support url: https://www.apigen.com/support email: support@apigen.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: https://api.apigen.com/v1 description: Production security: - bearerAuth: [] - apiKey: [] tags: - name: Connectors description: Configure connections to external data sources. paths: /projects/{projectId}/connectors: get: operationId: listConnectors summary: APIGen List Connectors description: Returns all connectors configured for a project. tags: - Connectors parameters: - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' responses: '200': description: A list of connectors. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Connector' total: type: integer '401': $ref: '#/components/responses/Unauthorized' post: operationId: createConnector summary: APIGen Create a Connector description: Creates a new connector to an external data source such as a database, third-party API, or file store. tags: - Connectors parameters: - $ref: '#/components/parameters/ProjectId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ConnectorInput' responses: '201': description: Connector created. content: application/json: schema: $ref: '#/components/schemas/Connector' '401': $ref: '#/components/responses/Unauthorized' '422': $ref: '#/components/responses/ValidationError' /projects/{projectId}/connectors/{connectorId}: get: operationId: getConnector summary: APIGen Get a Connector description: Returns a single connector by ID. tags: - Connectors parameters: - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/ConnectorId' responses: '200': description: A connector. content: application/json: schema: $ref: '#/components/schemas/Connector' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' put: operationId: updateConnector summary: APIGen Update a Connector description: Updates an existing connector configuration. tags: - Connectors parameters: - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/ConnectorId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ConnectorInput' responses: '200': description: Connector updated. content: application/json: schema: $ref: '#/components/schemas/Connector' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/ValidationError' delete: operationId: deleteConnector summary: APIGen Delete a Connector description: Deletes a connector. tags: - Connectors parameters: - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/ConnectorId' responses: '204': description: Connector deleted. '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: responses: NotFound: description: Resource not found. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Authentication required. content: application/json: schema: $ref: '#/components/schemas/Error' ValidationError: description: Validation error. content: application/json: schema: $ref: '#/components/schemas/Error' parameters: ConnectorId: name: connectorId in: path required: true schema: type: string format: uuid ProjectId: name: projectId in: path required: true schema: type: string format: uuid Limit: name: limit in: query schema: type: integer default: 20 maximum: 100 Offset: name: offset in: query schema: type: integer default: 0 schemas: ConnectorInput: type: object properties: name: type: string minLength: 1 maxLength: 255 type: type: string enum: - database - rest-api - graphql - file-store - message-queue config: type: object required: - name - type - config Connector: type: object properties: id: type: string format: uuid projectId: type: string format: uuid name: type: string type: type: string enum: - database - rest-api - graphql - file-store - message-queue status: type: string enum: - connected - disconnected - error config: type: object description: Connector-specific configuration (credentials are masked). createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - projectId - name - type - status - createdAt - updatedAt Error: type: object properties: error: type: object properties: code: type: string message: type: string details: type: array items: type: object properties: field: type: string message: type: string securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT apiKey: type: apiKey in: header name: X-API-Key