openapi: 3.0.0 info: description: | Airbyte Configuration API [https://airbyte.io](https://airbyte.io). The Configuration API is an internal Airbyte API that is designed for communications between different Airbyte components. * Its main purpose is to enable the Airbyte Engineering team to configure the internal state of [Airbyte Cloud](https://airbyte.com/airbyte-cloud) * It is also sometimes used by OSS users to configure their own Self-Hosted Airbyte deployment (internal state, etc) WARNING * Airbyte does NOT have active commitments to support this API long-term. * OSS users can utilize the Configuration API, but at their own risk. * This API is utilized internally by the Airbyte Engineering team and may be modified in the future if the need arises. * Modifications by the Airbyte Engineering team could create breaking changes and OSS users would need to update their code to catch up to any backwards incompatible changes in the API. This API is a collection of HTTP RPC-style methods. While it is not a REST API, those familiar with REST should find the conventions of this API recognizable. Here are some conventions that this API follows: * All endpoints are http POST methods. * All endpoints accept data via `application/json` request bodies. The API does not accept any data via query params. * The naming convention for endpoints is: localhost:8000/api/{VERSION}/{METHOD_FAMILY}/{METHOD_NAME} e.g. `localhost:8000/api/v1/connections/create`. * For all `update` methods, the whole object must be passed in, even the fields that did not change. Authentication (OSS): * When authenticating to the Configuration API, you must use Basic Authentication by setting the Authentication Header to Basic and base64 encoding the username and password (which are `airbyte` and `password` by default - so base64 encoding `airbyte:password` results in `YWlyYnl0ZTpwYXNzd29yZA==`). So the full header reads `'Authorization': "Basic YWlyYnl0ZTpwYXNzd29yZA=="` version: "1.0.0" title: Airbyte Configuration API contact: email: contact@airbyte.io license: name: MIT url: "https://opensource.org/licenses/MIT" externalDocs: description: Find out more about Airbyte url: "https://airbyte.io" servers: - url: "http://localhost:8000/api" tags: - name: workspace description: Workspace related resources. - name: source_definition description: SourceDefinition related resources. - name: source_definition_specification description: SourceDefinition specification related resources. - name: source description: Source related resources. - name: destination_definition description: DestinationDefinition related resources. - name: destination_definition_specification description: DestinationDefinitionSpecification related resources. - name: destination description: Destination related resources. - name: connection description: Connection between sources and destinations. - name: destination_oauth description: Source OAuth related resources to delegate access from user. - name: source_oauth description: Source OAuth related resources to delegate access from user. - name: web_backend description: | Endpoints for the Airbyte web application. Those APIs should not be called outside the web application implementation and are not guaranteeing any backwards compatibility. - name: health description: Healthchecks - name: deployment description: Export/Import Airbyte Configuration and Database resources. - name: attempt description: Interactions with attempt related resources. - name: state description: Interactions with state related resources. paths: /v1/workspaces/create: post: tags: - workspace summary: Creates a workspace operationId: createWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceCreate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WorkspaceRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/workspaces/delete: post: tags: - workspace summary: Deletes a workspace operationId: deleteWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceIdRequestBody" required: true responses: "204": description: The resource was deleted successfully. "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/workspaces/list: post: tags: - workspace summary: List all workspaces registered in the current Airbyte deployment operationId: listWorkspaces responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WorkspaceReadList" /v1/workspaces/get: post: tags: - workspace summary: Find workspace by ID operationId: getWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WorkspaceRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/workspaces/get_by_slug: post: tags: - workspace summary: Find workspace by slug operationId: getWorkspaceBySlug requestBody: content: application/json: schema: $ref: "#/components/schemas/SlugRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WorkspaceRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/workspaces/get_by_connection_id: post: tags: - workspace summary: Find workspace by connection id operationId: getWorkspaceByConnectionId requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WorkspaceRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/workspaces/update: post: tags: - workspace summary: Update workspace state operationId: updateWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WorkspaceRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/workspaces/update_name: post: tags: - workspace summary: Update workspace name operationId: updateWorkspaceName requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceUpdateName" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WorkspaceRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/workspaces/tag_feedback_status_as_done: post: tags: - workspace summary: Update workspace feedback state operationId: updateWorkspaceFeedback requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceGiveFeedback" required: true responses: "204": description: The feedback state has been properly updated "404": $ref: "#/components/responses/NotFoundResponse" /v1/notifications/try: post: tags: - notifications summary: Try sending a notifications operationId: tryNotificationConfig requestBody: content: application/json: schema: $ref: "#/components/schemas/Notification" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/NotificationRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_definitions/update: post: tags: - source_definition summary: Update a sourceDefinition operationId: updateSourceDefinition requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionUpdate" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_definitions/list: post: tags: - source_definition summary: List all the sourceDefinitions the current Airbyte deployment is configured to use operationId: listSourceDefinitions responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionReadList" /v1/source_definitions/list_latest: post: tags: - source_definition summary: List the latest sourceDefinitions Airbyte supports description: Guaranteed to retrieve the latest information on supported sources. operationId: listLatestSourceDefinitions responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionReadList" /v1/source_definitions/get: post: tags: - source_definition summary: Get source operationId: getSourceDefinition requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_definitions/delete: post: tags: - source_definition summary: Delete a source definition operationId: deleteSourceDefinition requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionIdRequestBody" required: true responses: "204": description: The resource was deleted successfully. "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_definitions/list_private: post: tags: - source_definition summary: List all private, non-custom sourceDefinitions, and for each indicate whether the given workspace has a grant for using the definition. Used by admins to view and modify a given workspace's grants. operationId: listPrivateSourceDefinitions requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceIdRequestBody" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/PrivateSourceDefinitionReadList" /v1/source_definitions/list_for_workspace: post: tags: - source_definition summary: List all the sourceDefinitions the given workspace is configured to use operationId: listSourceDefinitionsForWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceIdRequestBody" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionReadList" /v1/source_definitions/create_custom: post: tags: - source_definition summary: Creates a custom sourceDefinition for the given workspace operationId: createCustomSourceDefinition requestBody: content: application/json: schema: $ref: "#/components/schemas/CustomSourceDefinitionCreate" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_definitions/get_for_workspace: post: tags: - source_definition summary: Get a sourceDefinition that is configured for the given workspace operationId: getSourceDefinitionForWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionIdWithWorkspaceId" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_definitions/grant_definition: post: tags: - source_definition summary: grant a private, non-custom sourceDefinition to a given workspace operationId: grantSourceDefinitionToWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionIdWithWorkspaceId" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/PrivateSourceDefinitionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_definitions/revoke_definition: post: tags: - source_definition summary: revoke a grant to a private, non-custom sourceDefinition from a given workspace operationId: revokeSourceDefinitionFromWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionIdWithWorkspaceId" required: true responses: "204": description: The resource was deleted successfully. "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_definition_specifications/get: post: tags: - source_definition_specification summary: Get specification for a SourceDefinition. operationId: getSourceDefinitionSpecification requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionIdWithWorkspaceId" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionSpecificationRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_definition_specifications/get_for_source: post: tags: - source_definition_specification summary: Get specification for a source. operationId: getSpecificationForSourceId requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionSpecificationRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/declarative_source_definitions/create_manifest: post: tags: - declarative_source_definitions summary: Create a declarative manifest to be used by the specified source definition operationId: createDeclarativeSourceDefinitionManifest requestBody: content: application/json: schema: $ref: "#/components/schemas/DeclarativeSourceDefinitionCreateManifestRequestBody" required: true responses: "201": description: Successful operation "400": description: Definition is not declarative source "404": $ref: "#/components/responses/NotFoundResponse" "409": description: Version already exists for definition id /v1/declarative_source_definitions/update_active_manifest: post: tags: - declarative_source_definitions summary: Update the declarative manifest version for a source operationId: updateDeclarativeManifestVersion requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateActiveManifestRequestBody" required: true responses: "204": description: Successful operation "404": $ref: "#/components/responses/NotFoundResponse" /v1/declarative_source_definitions/list_manifests: post: tags: - declarative_source_definitions summary: List all available declarative manifest versions of a declarative source definition operationId: listDeclarativeManifests requestBody: content: application/json: schema: $ref: "#/components/schemas/ListDeclarativeManifestsRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DeclarativeManifestsReadList" "400": description: Definition is not declarative source "404": $ref: "#/components/responses/NotFoundResponse" /v1/connector_builder_projects/create: post: tags: - connector_builder_project summary: Create new connector builder project operationId: createConnectorBuilderProject requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectorBuilderProjectWithWorkspaceId" required: true responses: "201": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectorBuilderProjectIdWithWorkspaceId" /v1/connector_builder_projects/publish: post: tags: - connector_builder_project summary: Publish a connector to the workspace operationId: publishConnectorBuilderProject requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectorBuilderPublishRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDefinitionIdBody" /v1/connector_builder_projects/update: post: tags: - connector_builder_project summary: Update connector builder project operationId: updateConnectorBuilderProject requestBody: content: application/json: schema: $ref: "#/components/schemas/ExistingConnectorBuilderProjectWithWorkspaceId" required: true responses: "204": description: Successful operation /v1/connector_builder_projects/delete: post: tags: - connector_builder_project summary: Deletes connector builder project operationId: deleteConnectorBuilderProject requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectorBuilderProjectIdWithWorkspaceId" required: true responses: "204": description: Successful operation /v1/connector_builder_projects/list: post: tags: - connector_builder_project summary: List connector builder projects for workspace operationId: listConnectorBuilderProjects requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectorBuilderProjectReadList" /v1/connector_builder_projects/get_with_manifest: post: tags: - connector_builder_project summary: Get a connector builder project with draft manifest operationId: getConnectorBuilderProject requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectorBuilderProjectIdWithWorkspaceId" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectorBuilderProjectRead" /v1/sources/create: post: tags: - source summary: Create a source operationId: createSource requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceCreate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/update: post: tags: - source summary: Update a source operationId: updateSource requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/partial_update: post: tags: - source summary: Partially update a source operationId: partialUpdateSource requestBody: content: application/json: schema: $ref: "#/components/schemas/PartialSourceUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/list: post: tags: - source summary: List sources for workspace description: List sources for workspace. Does not return deleted sources. operationId: listSourcesForWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceReadList" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/get: post: tags: - source summary: Get source operationId: getSource requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/most_recent_source_actor_catalog: post: tags: - source summary: Get most recent ActorCatalog for source operationId: getMostRecentSourceActorCatalog requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ActorCatalogWithUpdatedAt" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/search: post: tags: - source summary: Search sources operationId: searchSources requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceSearch" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceReadList" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/clone: post: tags: - source summary: Clone source operationId: cloneSource requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceCloneRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/delete: post: tags: - source summary: Delete a source operationId: deleteSource requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceIdRequestBody" required: true responses: "204": description: The resource was deleted successfully. "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/check_connection: post: tags: - source summary: Check connection to the source operationId: checkConnectionToSource requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/CheckConnectionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/check_connection_for_update: post: tags: - source summary: Check connection for a proposed update to a source operationId: checkConnectionToSourceForUpdate requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/CheckConnectionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/discover_schema: post: tags: - source summary: Discover the schema catalog of the source operationId: discoverSchemaForSource requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceDiscoverSchemaRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDiscoverSchemaRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/apply_schema_changes: post: tags: - source summary: Auto propagate the change on a catalog to a catalog saved in the DB. It will fetch all the connections linked to a source id and apply the provided diff to their catalog. operationId: applySchemaChangeForSource requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceAutoPropagateChange" required: true responses: "204": description: The schema was properly auto propagate "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/sources/write_discover_catalog_result: post: tags: - source - internal summary: Should only called from worker, to write result from discover activity back to DB. operationId: writeDiscoverCatalogResult requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceDiscoverSchemaWriteRequestBody" required: true responses: "200": description: Successful Operation content: application/json: schema: $ref: "#/components/schemas/DiscoverCatalogResult" /v1/destination_definitions/update: post: tags: - destination_definition summary: Update destinationDefinition operationId: updateDestinationDefinition requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destination_definitions/list: post: tags: - destination_definition summary: List all the destinationDefinitions the current Airbyte deployment is configured to use operationId: listDestinationDefinitions responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionReadList" /v1/destination_definitions/list_latest: post: tags: - destination_definition summary: List the latest destinationDefinitions Airbyte supports description: Guaranteed to retrieve the latest information on supported destinations. operationId: listLatestDestinationDefinitions responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionReadList" /v1/destination_definitions/get: post: tags: - destination_definition summary: Get destinationDefinition operationId: getDestinationDefinition requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destination_definitions/delete: post: tags: - destination_definition summary: Delete a destination definition operationId: deleteDestinationDefinition requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionIdRequestBody" required: true responses: "204": description: The resource was deleted successfully. "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destination_definitions/list_private: post: tags: - destination_definition summary: List all private, non-custom destinationDefinitions, and for each indicate whether the given workspace has a grant for using the definition. Used by admins to view and modify a given workspace's grants. operationId: listPrivateDestinationDefinitions requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceIdRequestBody" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/PrivateDestinationDefinitionReadList" /v1/destination_definitions/list_for_workspace: post: tags: - destination_definition summary: List all the destinationDefinitions the given workspace is configured to use operationId: listDestinationDefinitionsForWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceIdRequestBody" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionReadList" /v1/destination_definitions/create_custom: post: tags: - destination_definition summary: Creates a custom destinationDefinition for the given workspace operationId: createCustomDestinationDefinition requestBody: content: application/json: schema: $ref: "#/components/schemas/CustomDestinationDefinitionCreate" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destination_definitions/get_for_workspace: post: tags: - destination_definition summary: Get a destinationDefinition that is configured for the given workspace operationId: getDestinationDefinitionForWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionIdWithWorkspaceId" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destination_definitions/grant_definition: post: tags: - destination_definition summary: grant a private, non-custom destinationDefinition to a given workspace operationId: grantDestinationDefinitionToWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionIdWithWorkspaceId" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/PrivateDestinationDefinitionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destination_definitions/revoke_definition: post: tags: - destination_definition summary: revoke a grant to a private, non-custom destinationDefinition from a given workspace operationId: revokeDestinationDefinitionFromWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionIdWithWorkspaceId" required: true responses: "204": description: The resource was deleted successfully. "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destination_definition_specifications/get: post: tags: - destination_definition_specification summary: Get specification for a destinationDefinition operationId: getDestinationDefinitionSpecification requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionIdWithWorkspaceId" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionSpecificationRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destination_definition_specifications/get_for_destination: post: tags: - destination_definition_specification summary: Get specification for a destination operationId: getSpecificationForDestinationId requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationDefinitionSpecificationRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" # DESTINATIONS /v1/destinations/create: post: tags: - destination summary: Create a destination operationId: createDestination requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationCreate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destinations/update: post: tags: - destination summary: Update a destination operationId: updateDestination requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destinations/partial_update: post: tags: - destination summary: Update a destination partially operationId: partialUpdateDestination requestBody: content: application/json: schema: $ref: "#/components/schemas/PartialDestinationUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destinations/list: post: tags: - destination summary: List configured destinations for a workspace operationId: listDestinationsForWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationReadList" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destinations/get: post: tags: - destination summary: Get configured destination operationId: getDestination requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destinations/search: post: tags: - destination summary: Search destinations operationId: searchDestinations requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationSearch" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationReadList" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destinations/check_connection: post: tags: - destination summary: Check connection to the destination operationId: checkConnectionToDestination requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/CheckConnectionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destinations/check_connection_for_update: post: tags: - destination summary: Check connection for a proposed update to a destination operationId: checkConnectionToDestinationForUpdate requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/CheckConnectionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destinations/delete: post: tags: - destination summary: Delete the destination operationId: deleteDestination requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationIdRequestBody" required: true responses: "204": description: The resource was deleted successfully. "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destinations/clone: post: tags: - destination summary: Clone destination operationId: cloneDestination requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationCloneRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/DestinationRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/connections/create: post: tags: - connection summary: Create a connection between a source and a destination operationId: createConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionCreate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectionRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/connections/update: post: tags: - connection summary: Update a connection description: | Apply a patch-style update to a connection. Only fields present on the update request body will be updated. Note that if a catalog is present in the request body, the connection's entire catalog will be replaced with the catalog from the request. This means that to modify a single stream, the entire new catalog containing the updated stream needs to be sent. operationId: updateConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectionRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/connections/list: post: tags: - connection summary: Returns all connections for a workspace. description: List connections for workspace. Does not return deleted connections. operationId: listConnectionsForWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectionReadList" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/connections/list_all: post: tags: - connection summary: Returns all connections for a workspace, including deleted connections. description: List connections for workspace, including deleted connections. operationId: listAllConnectionsForWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkspaceIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectionReadList" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/connections/get: post: tags: - connection summary: Get a connection operationId: getConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/connections/list_by_actor_definition: post: tags: - connection summary: List all connections that use the provided actor definition operationId: listConnectionsByActorDefinition requestBody: content: application/json: schema: $ref: "#/components/schemas/ActorDefinitionRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectionReadList" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/state/get: post: tags: - state summary: Fetch the current state for a connection. operationId: getState requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectionState" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/state/create_or_update: post: tags: - state - internal summary: Create or update the state for a connection. operationId: createOrUpdateState requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionStateCreateOrUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectionState" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/connections/search: post: tags: - connection summary: Search connections operationId: searchConnections requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionSearch" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectionReadList" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/connections/delete: post: tags: - connection summary: Delete a connection operationId: deleteConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionIdRequestBody" required: true responses: "204": description: The resource was deleted successfully. "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/connections/sync: post: tags: - connection summary: Trigger a manual sync of the connection operationId: syncConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/JobInfoRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/connections/reset: post: tags: - connection summary: Reset the data for the connection. Deletes data generated by the connection in the destination. Resets any cursors back to initial state. operationId: resetConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/JobInfoRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/connections/reset/stream: post: tags: - connection summary: Reset the data for a specific stream in the connection. Deletes data generated by the stream in the destination. Resets any cursors back to initial state. operationId: resetConnectionStream requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionStreamRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/JobInfoRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/operations/check: post: tags: - operation summary: Check if an operation to be created is valid operationId: checkOperation requestBody: content: application/json: schema: $ref: "#/components/schemas/OperatorConfiguration" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/CheckOperationRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/operations/create: post: tags: - operation summary: Create an operation to be applied as part of a connection pipeline operationId: createOperation requestBody: content: application/json: schema: $ref: "#/components/schemas/OperationCreate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/OperationRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/operations/update: post: tags: - operation summary: Update an operation operationId: updateOperation requestBody: content: application/json: schema: $ref: "#/components/schemas/OperationUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/OperationRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/operations/list: post: tags: - operation summary: Returns all operations for a connection. description: List operations for connection. operationId: listOperationsForConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/OperationReadList" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/operations/get: post: tags: - operation summary: Returns an operation operationId: getOperation requestBody: content: application/json: schema: $ref: "#/components/schemas/OperationIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/OperationRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/operations/delete: post: tags: - operation summary: Delete an operation operationId: deleteOperation requestBody: content: application/json: schema: $ref: "#/components/schemas/OperationIdRequestBody" required: true responses: "204": description: The resource was deleted successfully. "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/scheduler/sources/check_connection: post: tags: - scheduler summary: Run check connection for a given source configuration operationId: executeSourceCheckConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceCoreConfig" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/CheckConnectionRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/scheduler/sources/discover_schema: post: tags: - scheduler summary: Run discover schema for a given source a source configuration operationId: executeSourceDiscoverSchema requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceCoreConfig" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/SourceDiscoverSchemaRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/scheduler/destinations/check_connection: post: tags: - scheduler summary: Run check connection for a given destination configuration operationId: executeDestinationCheckConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationCoreConfig" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/CheckConnectionRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_oauths/oauth_params/create: post: tags: - source_oauth summary: > Sets instancewide variables to be used for the oauth flow when creating this source. When set, these variables will be injected into a connector's configuration before any interaction with the connector image itself. This enables running oauth flows with consistent variables e.g: the company's Google Ads developer_token, client_id, and client_secret without the user having to know about these variables. operationId: setInstancewideSourceOauthParams requestBody: content: application/json: schema: $ref: "#/components/schemas/SetInstancewideSourceOauthParamsRequestBody" required: true responses: "200": description: Successful "400": $ref: "#/components/responses/ExceptionResponse" "404": $ref: "#/components/responses/NotFoundResponse" /v1/source_oauths/get_consent_url: post: tags: - source_oauth summary: Given a source connector definition ID, return the URL to the consent screen where to redirect the user to. operationId: getSourceOAuthConsent requestBody: content: application/json: schema: $ref: "#/components/schemas/SourceOauthConsentRequest" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/OAuthConsentRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_oauths/complete_oauth: post: tags: - source_oauth summary: Given a source def ID generate an access/refresh token etc. operationId: completeSourceOAuth requestBody: content: application/json: schema: $ref: "#/components/schemas/CompleteSourceOauthRequest" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/CompleteOAuthResponse" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/source_oauths/revoke: post: tags: - source_oauth summary: Given a source definition ID and workspace ID revoke access/refresh token etc. operationId: revokeSourceOAuthTokens requestBody: content: application/json: schema: $ref: "#/components/schemas/RevokeSourceOauthTokensRequest" required: true responses: "200": description: Successful operation "400": $ref: "#/components/responses/ExceptionResponse" "404": $ref: "#/components/responses/NotFoundResponse" /v1/destination_oauths/get_consent_url: post: tags: - destination_oauth summary: Given a destination connector definition ID, return the URL to the consent screen where to redirect the user to. operationId: getDestinationOAuthConsent requestBody: content: application/json: schema: $ref: "#/components/schemas/DestinationOauthConsentRequest" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/OAuthConsentRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destination_oauths/complete_oauth: post: tags: - destination_oauth summary: Given a destination def ID generate an access/refresh token etc. operationId: completeDestinationOAuth requestBody: content: application/json: schema: $ref: "#/components/schemas/CompleteDestinationOAuthRequest" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/CompleteOAuthResponse" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/destination_oauths/oauth_params/create: post: tags: - destination_oauth summary: > Sets instancewide variables to be used for the oauth flow when creating this destination. When set, these variables will be injected into a connector's configuration before any interaction with the connector image itself. This enables running oauth flows with consistent variables e.g: the company's Google Ads developer_token, client_id, and client_secret without the user having to know about these variables. operationId: setInstancewideDestinationOauthParams requestBody: content: application/json: schema: $ref: "#/components/schemas/SetInstancewideDestinationOauthParamsRequestBody" required: true responses: "200": description: Successful "400": $ref: "#/components/responses/ExceptionResponse" "404": $ref: "#/components/responses/NotFoundResponse" /v1/web_backend/check_updates: post: tags: - web_backend summary: Returns a summary of source and destination definitions that could be updated. operationId: webBackendCheckUpdates responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WebBackendCheckUpdatesRead" /v1/web_backend/connections/list: post: tags: - web_backend summary: Returns all non-deleted connections for a workspace. operationId: webBackendListConnectionsForWorkspace requestBody: content: application/json: schema: $ref: "#/components/schemas/WebBackendConnectionListRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WebBackendConnectionReadList" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/web_backend/connections/get: post: tags: - web_backend summary: Get a connection operationId: webBackendGetConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/WebBackendConnectionRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WebBackendConnectionRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/web_backend/connections/create: post: tags: - web_backend summary: Create a connection operationId: webBackendCreateConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/WebBackendConnectionCreate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WebBackendConnectionRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/web_backend/connections/update: post: tags: - web_backend summary: Update a connection description: | Apply a patch-style update to a connection. Only fields present on the update request body will be updated. Any operations that lack an ID will be created. Then, the newly created operationId will be applied to the connection along with the rest of the operationIds in the request body. Apply a patch-style update to a connection. Only fields present on the update request body will be updated. Note that if a catalog is present in the request body, the connection's entire catalog will be replaced with the catalog from the request. This means that to modify a single stream, the entire new catalog containing the updated stream needs to be sent. operationId: webBackendUpdateConnection requestBody: content: application/json: schema: $ref: "#/components/schemas/WebBackendConnectionUpdate" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WebBackendConnectionRead" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/web_backend/state/get_type: post: tags: - web_backend summary: Fetch the current state type for a connection. operationId: getStateType requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/ConnectionStateType" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/web_backend/workspace/state: post: tags: - web_backend summary: Returns the current state of a workspace operationId: webBackendGetWorkspaceState requestBody: content: application/json: schema: $ref: "#/components/schemas/WebBackendWorkspaceState" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WebBackendWorkspaceStateResult" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/web_backend/geographies/list: post: tags: - web_backend description: Returns all available geographies in which a data sync can run. summary: | Returns available geographies can be selected to run data syncs in a particular geography. The 'auto' entry indicates that the sync will be automatically assigned to a geography according to the platform default behavior. Entries other than 'auto' are two-letter country codes that follow the ISO 3166-1 alpha-2 standard. operationId: webBackendListGeographies responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/WebBackendGeographiesListResult" /v1/jobs/list: post: tags: - jobs summary: Returns recent jobs for a connection. Jobs are returned in descending order by createdAt. operationId: listJobsFor requestBody: content: application/json: schema: $ref: "#/components/schemas/JobListRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/JobReadList" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/jobs/get: post: tags: - jobs summary: Get information about a job operationId: getJobInfo requestBody: content: application/json: schema: $ref: "#/components/schemas/JobIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/JobInfoRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/jobs/get_last_replication_job: post: tags: - jobs operationId: getLastReplicationJob requestBody: content: application/json: schema: $ref: "#/components/schemas/ConnectionIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/JobOptionalRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/jobs/get_without_logs: post: tags: - jobs summary: Get information about a job excluding logs operationId: getJobInfoWithoutLogs requestBody: content: application/json: schema: $ref: "#/components/schemas/JobIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/JobInfoRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/jobs/get_light: post: tags: - jobs summary: Get information about a job excluding attempt info and logs operationId: getJobInfoLight requestBody: content: application/json: schema: $ref: "#/components/schemas/JobIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/JobInfoLightRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/jobs/cancel: post: tags: - jobs summary: Cancels a job operationId: cancelJob requestBody: content: application/json: schema: $ref: "#/components/schemas/JobIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/JobInfoRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/jobs/get_debug_info: post: tags: - jobs summary: Gets all information needed to debug this job operationId: getJobDebugInfo requestBody: content: application/json: schema: $ref: "#/components/schemas/JobIdRequestBody" required: true responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/JobDebugInfoRead" "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/jobs/get_normalization_status: post: tags: - jobs - internal summary: Get normalization status to determine if we can bypass normalization phase operationId: getAttemptNormalizationStatusesForJob requestBody: content: application/json: schema: $ref: "#/components/schemas/JobIdRequestBody" responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/AttemptNormalizationStatusReadList" /v1/health: get: tags: - health summary: Health Check operationId: getHealthCheck responses: "200": description: Successful operation content: application/json: schema: $ref: "#/components/schemas/HealthCheckRead" # This route is unsecured for external monitoring. security: [] /v1/logs/get: post: tags: - logs summary: Get logs operationId: getLogs requestBody: content: application/json: schema: $ref: "#/components/schemas/LogsRequestBody" required: true responses: "200": description: Returns the log file content: text/plain: schema: type: string format: binary "404": $ref: "#/components/responses/NotFoundResponse" "422": $ref: "#/components/responses/InvalidInputResponse" /v1/openapi: get: tags: - openapi summary: Returns the openapi specification operationId: getOpenApiSpec responses: "200": description: Returns the openapi specification file content: text/plain: schema: type: string format: binary /v1/attempt/set_workflow_in_attempt: post: tags: - attempt - internal summary: For worker to register the workflow id in attempt. operationId: setWorkflowInAttempt requestBody: content: application/json: schema: $ref: "#/components/schemas/SetWorkflowInAttemptRequestBody" required: true responses: "200": description: Successful Operation content: application/json: schema: $ref: "#/components/schemas/InternalOperationResult" /v1/attempt/save_stats: post: tags: - attempt - internal summary: For worker to set sync stats of a running attempt. operationId: saveStats requestBody: content: application/json: schema: $ref: "#/components/schemas/SaveStatsRequestBody" required: true responses: "200": description: Successful Operation content: application/json: schema: $ref: "#/components/schemas/InternalOperationResult" /v1/attempt/save_sync_config: post: tags: - attempt - internal summary: For worker to save the AttemptSyncConfig for an attempt. operationId: saveSyncConfig requestBody: content: application/json: schema: $ref: "#/components/schemas/SaveAttemptSyncConfigRequestBody" required: true responses: "200": description: Successful Operation content: application/json: schema: $ref: "#/components/schemas/InternalOperationResult" /v1/stream_statuses/list: post: summary: Gets a list of stream statuses filtered by parameters (with AND semantics). tags: - stream_statuses - streams operationId: getStreamStatuses requestBody: content: application/json: schema: $ref: "#/components/schemas/StreamStatusListRequestBody" responses: "200": description: Successfully queried stream statuses. content: application/json: schema: $ref: "#/components/schemas/StreamStatusReadList" /v1/stream_statuses/create: post: summary: Creates a stream status. tags: - stream_statuses - streams operationId: createStreamStatus requestBody: content: application/json: schema: $ref: "#/components/schemas/StreamStatusCreateRequestBody" responses: "201": description: Successfully created stream status. content: application/json: schema: $ref: "#/components/schemas/StreamStatusRead" /v1/stream_statuses/update: post: summary: Updates a stream status. tags: - stream_statuses - streams operationId: updateStreamStatus requestBody: content: application/json: schema: $ref: "#/components/schemas/StreamStatusUpdateRequestBody" responses: "201": description: Successfully created stream status. content: application/json: schema: $ref: "#/components/schemas/StreamStatusRead" "200": description: Successfully updated stream status. content: application/json: schema: $ref: "#/components/schemas/StreamStatusRead" components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT schemas: # WORKSPACE WorkspaceId: type: string format: uuid CustomerId: type: string format: uuid WorkspaceCreate: type: object required: - name properties: email: type: string format: email anonymousDataCollection: type: boolean name: type: string news: type: boolean securityUpdates: type: boolean notifications: type: array items: $ref: "#/components/schemas/Notification" notificationSettings: $ref: "#/components/schemas/NotificationSettings" displaySetupWizard: type: boolean defaultGeography: $ref: "#/components/schemas/Geography" webhookConfigs: type: array items: $ref: "#/components/schemas/WebhookConfigWrite" WebhookConfigWrite: type: object properties: name: type: string description: human readable name for this webhook e.g. for UI display. authToken: type: string description: an auth token, to be passed as the value for an HTTP Authorization header. validationUrl: type: string description: if supplied, the webhook config will be validated by checking that this URL returns a 2xx response. NotificationItem: type: object properties: notificationType: type: array items: $ref: "#/components/schemas/NotificationType" slackConfiguration: $ref: "#/components/schemas/SlackNotificationConfiguration" customerioConfiguration: $ref: "#/components/schemas/CustomerioNotificationConfiguration" NotificationSettings: type: object properties: sendOnSuccess: $ref: "#/components/schemas/NotificationItem" sendOnFailure: $ref: "#/components/schemas/NotificationItem" sendOnSyncDisabled: $ref: "#/components/schemas/NotificationItem" sendOnSyncDisabledWarning: $ref: "#/components/schemas/NotificationItem" sendOnConnectionUpdate: $ref: "#/components/schemas/NotificationItem" sendOnConnectionUpdateActionRequired: $ref: "#/components/schemas/NotificationItem" Notification: type: object required: - notificationType - sendOnSuccess - sendOnFailure properties: # Instead of this type field, we would prefer a json schema "oneOf" but unfortunately, # the jsonschema2pojo does not seem to support it yet: https://github.com/joelittlejohn/jsonschema2pojo/issues/392 notificationType: $ref: "#/components/schemas/NotificationType" sendOnSuccess: type: boolean default: false sendOnFailure: type: boolean default: true slackConfiguration: $ref: "#/components/schemas/SlackNotificationConfiguration" customerioConfiguration: $ref: "#/components/schemas/CustomerioNotificationConfiguration" SlackNotificationConfiguration: type: object required: - webhook properties: webhook: type: string CustomerioNotificationConfiguration: type: object NotificationType: type: string enum: - slack - customerio # - webhook NotificationRead: type: object required: - status properties: status: type: string enum: - succeeded - failed message: type: string WorkspaceIdRequestBody: type: object required: - workspaceId properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" ListConnectionsForWorkspacesRequestBody: type: object required: - workspaceIds - userId properties: workspaceIds: type: array items: $ref: "#/components/schemas/WorkspaceId" userId: type: string format: uuid pagination: $ref: "#/components/schemas/Pagination" includeDeleted: type: boolean default: false ListResourcesForWorkspacesRequestBody: type: object required: - workspaceIds properties: workspaceIds: type: array items: $ref: "#/components/schemas/WorkspaceId" includeDeleted: type: boolean default: false pagination: $ref: "#/components/schemas/Pagination" WorkspaceReadList: type: object required: - workspaces properties: workspaces: type: array items: $ref: "#/components/schemas/WorkspaceRead" WorkspaceRead: type: object required: - workspaceId - customerId - name - slug - initialSetupComplete properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" customerId: $ref: "#/components/schemas/CustomerId" email: type: string format: email name: type: string slug: type: string initialSetupComplete: type: boolean displaySetupWizard: type: boolean anonymousDataCollection: type: boolean news: type: boolean securityUpdates: type: boolean notifications: type: array items: $ref: "#/components/schemas/Notification" notificationSettings: $ref: "#/components/schemas/NotificationSettings" firstCompletedSync: type: boolean feedbackDone: type: boolean defaultGeography: $ref: "#/components/schemas/Geography" webhookConfigs: type: array items: # Note: this omits any sensitive info e.g. auth token $ref: "#/components/schemas/WebhookConfigRead" WebhookConfigRead: type: object description: the readable info for a webhook config; omits sensitive info e.g. auth token required: - id properties: id: type: string format: uuid name: type: string description: human-readable name e.g. for display in UI WorkspaceUpdateName: type: object required: - workspaceId - name properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" name: type: string WorkspaceUpdate: type: object description: Used to apply a patch-style update to a workspace, which means that null properties remain unchanged required: - workspaceId properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" email: type: string format: email initialSetupComplete: type: boolean displaySetupWizard: type: boolean anonymousDataCollection: type: boolean news: type: boolean securityUpdates: type: boolean notifications: type: array items: $ref: "#/components/schemas/Notification" notificationSettings: $ref: "#/components/schemas/NotificationSettings" defaultGeography: $ref: "#/components/schemas/Geography" webhookConfigs: type: array items: $ref: "#/components/schemas/WebhookConfigWrite" WorkspaceGiveFeedback: type: object required: - workspaceId properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" WebBackendWorkspaceState: type: object required: - workspaceId properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" WebBackendWorkspaceStateResult: type: object required: - hasConnections - hasSources - hasDestinations properties: hasConnections: type: boolean hasSources: type: boolean hasDestinations: type: boolean WebBackendGeographiesListResult: type: object required: - geographies properties: geographies: type: array items: $ref: "#/components/schemas/Geography" # SLUG SlugRequestBody: type: object required: - slug properties: slug: type: string # Geography Geography: type: string enum: - auto - us - eu # BuilderProject ConnectorBuilderProjectId: type: string format: uuid DeclarativeManifest: description: Low code CDK manifest JSON object type: object DeclarativeManifestRead: type: object properties: manifest: $ref: "#/components/schemas/DeclarativeManifest" isDraft: type: boolean version: $ref: "#/components/schemas/ManifestVersion" description: type: string ConnectorBuilderProjectDetails: type: object required: - name properties: name: type: string draftManifest: $ref: "#/components/schemas/DeclarativeManifest" ConnectorBuilderProjectDetailsRead: type: object required: - name - builderProjectId - hasDraft properties: name: type: string builderProjectId: $ref: "#/components/schemas/ConnectorBuilderProjectId" sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" activeDeclarativeManifestVersion: $ref: "#/components/schemas/ManifestVersion" hasDraft: type: boolean ConnectorBuilderProjectIdWithWorkspaceId: type: object required: - workspaceId - builderProjectId properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" builderProjectId: $ref: "#/components/schemas/ConnectorBuilderProjectId" version: $ref: "#/components/schemas/ManifestVersion" ExistingConnectorBuilderProjectWithWorkspaceId: type: object required: - workspaceId - builderProjectId - builderProject properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" builderProjectId: $ref: "#/components/schemas/ConnectorBuilderProjectId" builderProject: $ref: "#/components/schemas/ConnectorBuilderProjectDetails" ConnectorBuilderProjectWithWorkspaceId: type: object required: - workspaceId - builderProject properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" builderProject: $ref: "#/components/schemas/ConnectorBuilderProjectDetails" ConnectorBuilderProjectRead: type: object required: - builderProject properties: builderProject: $ref: "#/components/schemas/ConnectorBuilderProjectDetailsRead" declarativeManifest: $ref: "#/components/schemas/DeclarativeManifestRead" ConnectorBuilderProjectReadList: type: object required: - projects properties: projects: type: array items: $ref: "#/components/schemas/ConnectorBuilderProjectDetailsRead" ConnectorBuilderPublishRequestBody: type: object required: - workspaceId - builderProjectId - name - initialDeclarativeManifest properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" builderProjectId: $ref: "#/components/schemas/ConnectorBuilderProjectId" name: type: string initialDeclarativeManifest: $ref: "#/components/schemas/DeclarativeSourceManifest" ManifestVersion: type: integer format: int64 DeclarativeSourceManifest: type: object required: - description - manifest - spec - version properties: description: type: string manifest: $ref: "#/components/schemas/DeclarativeManifest" spec: $ref: "#/components/schemas/SourceDefinitionSpecification" version: $ref: "#/components/schemas/ManifestVersion" SourceDefinitionIdBody: type: object required: - sourceDefinitionId properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" # SourceDefinition SourceDefinitionId: type: string format: uuid SourceDefinitionIdRequestBody: type: object required: - sourceDefinitionId properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" SourceDefinitionCreate: type: object required: - name - dockerRepository - dockerImageTag - documentationUrl properties: name: type: string dockerRepository: type: string dockerImageTag: type: string documentationUrl: type: string format: uri icon: type: string resourceRequirements: $ref: "#/components/schemas/ActorDefinitionResourceRequirements" SourceDefinitionUpdate: type: object description: Update the SourceDefinition. Currently, the only allowed attribute to update is the default docker image version. required: - sourceDefinitionId - dockerImageTag properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" dockerImageTag: type: string resourceRequirements: $ref: "#/components/schemas/ActorDefinitionResourceRequirements" SourceDefinitionRead: type: object required: - sourceDefinitionId - name - dockerRepository - dockerImageTag properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" name: type: string dockerRepository: type: string dockerImageTag: type: string documentationUrl: type: string format: uri icon: type: string protocolVersion: description: The Airbyte Protocol version supported by the connector type: string releaseStage: $ref: "#/components/schemas/ReleaseStage" releaseDate: description: The date when this connector was first released, in yyyy-mm-dd format. type: string format: date sourceType: type: string enum: - api - file - database - custom resourceRequirements: $ref: "#/components/schemas/ActorDefinitionResourceRequirements" maxSecondsBetweenMessages: description: Number of seconds allowed between 2 airbyte protocol messages. The source will timeout if this delay is reach type: integer format: int64 SourceDefinitionReadList: type: object required: - sourceDefinitions properties: sourceDefinitions: type: array items: $ref: "#/components/schemas/SourceDefinitionRead" CustomSourceDefinitionCreate: type: object required: - workspaceId - sourceDefinition properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" sourceDefinition: $ref: "#/components/schemas/SourceDefinitionCreate" SourceDefinitionIdWithWorkspaceId: type: object required: - sourceDefinitionId - workspaceId properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" workspaceId: $ref: "#/components/schemas/WorkspaceId" ListDeclarativeManifestsRequestBody: type: object required: - workspaceId - sourceDefinitionId properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" DeclarativeManifestsReadList: type: object required: - manifestVersions properties: manifestVersions: type: array items: $ref: "#/components/schemas/DeclarativeManifestVersionRead" DeclarativeManifestVersionRead: type: object required: - version - isActive - description properties: version: type: integer format: int64 isActive: type: boolean description: type: string DeclarativeSourceDefinitionCreateManifestRequestBody: type: object required: - workspaceId - sourceDefinitionId - setAsActiveManifest - declarativeManifest properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" sourceDefinitionId: $ref: "#/components/schemas/ConnectorBuilderProjectId" setAsActiveManifest: type: boolean declarativeManifest: $ref: "#/components/schemas/DeclarativeSourceManifest" UpdateActiveManifestRequestBody: type: object required: - workspaceId - sourceDefinitionId - version properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" sourceDefinitionId: $ref: "#/components/schemas/ConnectorBuilderProjectId" version: $ref: "#/components/schemas/ManifestVersion" PrivateSourceDefinitionRead: type: object required: - sourceDefinition - granted properties: sourceDefinition: $ref: "#/components/schemas/SourceDefinitionRead" granted: type: boolean PrivateSourceDefinitionReadList: type: object required: - sourceDefinitions properties: sourceDefinitions: type: array items: $ref: "#/components/schemas/PrivateSourceDefinitionRead" # SOURCE SPECIFICATION SourceDefinitionSpecification: description: The specification for what values are required to configure the sourceDefinition. type: object example: { user: { type: string } } SourceDefinitionSpecificationRead: type: object required: - sourceDefinitionId - jobInfo properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" documentationUrl: type: string connectionSpecification: $ref: "#/components/schemas/SourceDefinitionSpecification" advancedAuth: $ref: "#/components/schemas/AdvancedAuth" jobInfo: $ref: "#/components/schemas/SynchronousJobRead" # SOURCE SourceId: type: string format: uuid SourceIdRequestBody: type: object required: - sourceId properties: sourceId: $ref: "#/components/schemas/SourceId" SourceCloneRequestBody: description: The values required to configure the source. The schema for this should have an id of the existing source along with the configuration you want to change in case. type: object required: - sourceCloneId properties: sourceCloneId: $ref: "#/components/schemas/SourceId" sourceConfiguration: $ref: "#/components/schemas/SourceCloneConfiguration" SourceCloneConfiguration: type: object properties: connectionConfiguration: $ref: "#/components/schemas/SourceConfiguration" name: type: string SourceConfiguration: description: The values required to configure the source. The schema for this must match the schema return by source_definition_specifications/get for the source. example: { user: "charles" } SourceCoreConfig: type: object required: - sourceDefinitionId - connectionConfiguration - workspaceId properties: sourceId: $ref: "#/components/schemas/SourceId" sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" connectionConfiguration: $ref: "#/components/schemas/SourceConfiguration" workspaceId: $ref: "#/components/schemas/WorkspaceId" SourceCreate: type: object required: - workspaceId - name - sourceDefinitionId - connectionConfiguration properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" connectionConfiguration: $ref: "#/components/schemas/SourceConfiguration" workspaceId: $ref: "#/components/schemas/WorkspaceId" name: type: string secretId: example: "airbyte_oauth_workspace_0509f049-d671-48cb-8105-0a23d47e6db6_secret_e0d38206-034e-4d75-9d21-da5a99b02826_v1" type: string SourceDiscoverSchemaRequestBody: type: object required: - sourceId properties: sourceId: $ref: "#/components/schemas/SourceId" connectionId: type: string format: uuid disable_cache: type: boolean notifySchemaChange: type: boolean PartialSourceUpdate: type: object required: - sourceId properties: sourceId: $ref: "#/components/schemas/SourceId" connectionConfiguration: $ref: "#/components/schemas/SourceConfiguration" name: type: string secretId: example: "airbyte_oauth_workspace_0509f049-d671-48cb-8105-0a23d47e6db6_secret_e0d38206-034e-4d75-9d21-da5a99b02826_v1" type: string SourceUpdate: type: object required: - sourceId - connectionConfiguration - name properties: sourceId: $ref: "#/components/schemas/SourceId" connectionConfiguration: $ref: "#/components/schemas/SourceConfiguration" name: type: string secretId: example: "airbyte_oauth_workspace_0509f049-d671-48cb-8105-0a23d47e6db6_secret_e0d38206-034e-4d75-9d21-da5a99b02826_v1" type: string SourceRead: type: object required: - sourceDefinitionId - sourceId - workspaceId - connectionConfiguration - name - sourceName properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" sourceId: $ref: "#/components/schemas/SourceId" workspaceId: $ref: "#/components/schemas/WorkspaceId" connectionConfiguration: $ref: "#/components/schemas/SourceConfiguration" name: type: string sourceName: type: string icon: type: string SourceSnippetRead: type: object required: - sourceId - name - sourceDefinitionId - sourceName properties: sourceId: $ref: "#/components/schemas/SourceId" name: type: string sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" sourceName: type: string icon: type: string SourceReadList: type: object required: - sources properties: sources: type: array items: $ref: "#/components/schemas/SourceRead" SourceDiscoverSchemaWriteRequestBody: description: to write this requested object to database. type: object required: - catalog properties: catalog: $ref: "#/components/schemas/AirbyteCatalog" sourceId: $ref: "#/components/schemas/SourceId" connectorVersion: type: string configurationHash: type: string SourceDiscoverSchemaRead: description: Returns the results of a discover catalog job. If the job was not successful, the catalog field will not be present. jobInfo will aways be present and its status be used to determine if the job was successful or not. type: object required: - jobInfo properties: catalog: $ref: "#/components/schemas/AirbyteCatalog" jobInfo: $ref: "#/components/schemas/SynchronousJobRead" catalogId: type: string format: uuid catalogDiff: $ref: "#/components/schemas/CatalogDiff" breakingChange: type: boolean connectionStatus: $ref: "#/components/schemas/ConnectionStatus" SourceAutoPropagateChange: description: Input of the source propagation, it contains the discovered catalog and a list of diff that need to be applied to the existing catalog. type: object required: - catalog - catalogId - sourceId - workspaceId properties: catalog: $ref: "#/components/schemas/AirbyteCatalog" catalogId: type: string format: uuid sourceId: type: string format: uuid workspaceId: type: string format: uuid SourceSearch: type: object properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" sourceId: $ref: "#/components/schemas/SourceId" workspaceId: $ref: "#/components/schemas/WorkspaceId" connectionConfiguration: $ref: "#/components/schemas/SourceConfiguration" name: type: string sourceName: type: string # DESTINATION DEFINITION DestinationDefinitionId: type: string format: uuid DestinationDefinitionIdRequestBody: type: object required: - destinationDefinitionId properties: destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" DestinationDefinitionCreate: type: object required: - name - dockerRepository - dockerImageTag - documentationUrl properties: name: type: string dockerRepository: type: string dockerImageTag: type: string documentationUrl: type: string format: uri icon: type: string resourceRequirements: $ref: "#/components/schemas/ActorDefinitionResourceRequirements" DestinationDefinitionUpdate: type: object required: - destinationDefinitionId - dockerImageag properties: destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" dockerImageTag: type: string resourceRequirements: $ref: "#/components/schemas/ActorDefinitionResourceRequirements" DestinationDefinitionRead: type: object required: - destinationDefinitionId - name - dockerRepository - dockerImageTag - documentationUrl - supportsDbt - normalizationConfig properties: destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" name: type: string dockerRepository: type: string dockerImageTag: type: string documentationUrl: type: string format: uri icon: type: string protocolVersion: description: The Airbyte Protocol version supported by the connector type: string releaseStage: $ref: "#/components/schemas/ReleaseStage" releaseDate: description: The date when this connector was first released, in yyyy-mm-dd format. type: string format: date resourceRequirements: $ref: "#/components/schemas/ActorDefinitionResourceRequirements" supportsDbt: type: boolean description: an optional flag indicating whether DBT is used in the normalization. If the flag value is NULL - DBT is not used. normalizationConfig: $ref: "#/components/schemas/NormalizationDestinationDefinitionConfig" DestinationDefinitionReadList: type: object required: - destinationDefinitions properties: destinationDefinitions: type: array items: $ref: "#/components/schemas/DestinationDefinitionRead" CustomDestinationDefinitionCreate: type: object required: - workspaceId - destinationDefinition properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" destinationDefinition: $ref: "#/components/schemas/DestinationDefinitionCreate" DestinationDefinitionIdWithWorkspaceId: type: object required: - destinationDefinitionId - workspaceId properties: destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" workspaceId: $ref: "#/components/schemas/WorkspaceId" PrivateDestinationDefinitionRead: type: object required: - destinationDefinition - granted properties: destinationDefinition: $ref: "#/components/schemas/DestinationDefinitionRead" granted: type: boolean PrivateDestinationDefinitionReadList: type: object required: - destinationDefinitions properties: destinationDefinitions: type: array items: $ref: "#/components/schemas/PrivateDestinationDefinitionRead" # DESTINATION DEFINITION SPECIFICATION DestinationDefinitionSpecification: description: The specification for what values are required to configure the destinationDefinition. type: object example: { user: { type: string } } DestinationDefinitionSpecificationRead: type: object required: - destinationDefinitionId - jobInfo properties: destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" documentationUrl: type: string connectionSpecification: $ref: "#/components/schemas/DestinationDefinitionSpecification" advancedAuth: $ref: "#/components/schemas/AdvancedAuth" jobInfo: $ref: "#/components/schemas/SynchronousJobRead" supportedDestinationSyncModes: type: array items: $ref: "#/components/schemas/DestinationSyncMode" # DESTINATION DestinationId: type: string format: uuid DestinationIdRequestBody: type: object required: - destinationId properties: destinationId: $ref: "#/components/schemas/DestinationId" DestinationConfiguration: description: The values required to configure the destination. The schema for this must match the schema return by destination_definition_specifications/get for the destinationDefinition. example: { user: "charles" } DestinationCoreConfig: type: object required: - workspaceId - destinationDefinitionId - connectionConfiguration properties: destinationId: $ref: "#/components/schemas/DestinationId" destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" connectionConfiguration: $ref: "#/components/schemas/DestinationConfiguration" workspaceId: $ref: "#/components/schemas/WorkspaceId" DestinationCreate: type: object required: - name - workspaceId - destinationDefinitionId - connectionConfiguration properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" name: type: string destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" connectionConfiguration: $ref: "#/components/schemas/DestinationConfiguration" DestinationUpdate: type: object required: - destinationId - connectionConfiguration - name properties: destinationId: $ref: "#/components/schemas/DestinationId" connectionConfiguration: $ref: "#/components/schemas/DestinationConfiguration" name: type: string PartialDestinationUpdate: type: object properties: destinationId: $ref: "#/components/schemas/DestinationId" connectionConfiguration: $ref: "#/components/schemas/DestinationConfiguration" name: type: string DestinationCloneRequestBody: description: The values required to configure the destination. The schema for this should have an id of the existing destination along with the configuration you want to change in case. type: object required: - destinationCloneId properties: destinationCloneId: $ref: "#/components/schemas/DestinationId" destinationConfiguration: $ref: "#/components/schemas/DestinationCloneConfiguration" DestinationCloneConfiguration: type: object properties: connectionConfiguration: $ref: "#/components/schemas/DestinationConfiguration" name: type: string DestinationRead: type: object required: - destinationDefinitionId - destinationId - workspaceId - connectionConfiguration - name - destinationName properties: destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" destinationId: $ref: "#/components/schemas/DestinationId" workspaceId: $ref: "#/components/schemas/WorkspaceId" connectionConfiguration: $ref: "#/components/schemas/DestinationConfiguration" name: type: string destinationName: type: string icon: type: string DestinationSnippetRead: type: object required: - destinationId - name - destinationDefinitionId - destinationName properties: destinationId: $ref: "#/components/schemas/DestinationId" name: type: string destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" destinationName: type: string icon: type: string DestinationReadList: type: object required: - destinations properties: destinations: type: array items: $ref: "#/components/schemas/DestinationRead" DestinationSearch: type: object properties: destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" destinationId: $ref: "#/components/schemas/DestinationId" workspaceId: $ref: "#/components/schemas/WorkspaceId" connectionConfiguration: $ref: "#/components/schemas/DestinationConfiguration" name: type: string destinationName: type: string # SOURCE / DESTINATION RELEASE STAGE ENUM ReleaseStage: type: string enum: - alpha - beta - generally_available - custom # CONNECTION ConnectionId: type: string format: uuid ConnectionIdRequestBody: type: object required: - connectionId properties: connectionId: $ref: "#/components/schemas/ConnectionId" ConnectionStream: type: object required: - streamName - streamNamespace properties: streamName: type: string streamNamespace: type: string ConnectionStreamRequestBody: type: object required: - connectionId - streams properties: connectionId: $ref: "#/components/schemas/ConnectionId" streams: type: array items: $ref: "#/components/schemas/ConnectionStream" DbMigrationRequestBody: type: object required: - database properties: database: type: string WebBackendConnectionRequestBody: type: object required: - connectionId properties: withRefreshedCatalog: type: boolean connectionId: $ref: "#/components/schemas/ConnectionId" ConnectionCreate: type: object required: - sourceId - destinationId - status properties: name: type: string description: Optional name of the connection namespaceDefinition: $ref: "#/components/schemas/NamespaceDefinitionType" namespaceFormat: type: string description: Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. default: null example: "${SOURCE_NAMESPACE}" prefix: type: string description: Prefix that will be prepended to the name of each stream when it is written to the destination. sourceId: $ref: "#/components/schemas/SourceId" destinationId: $ref: "#/components/schemas/DestinationId" operationIds: type: array items: $ref: "#/components/schemas/OperationId" syncCatalog: $ref: "#/components/schemas/AirbyteCatalog" schedule: $ref: "#/components/schemas/ConnectionSchedule" scheduleType: $ref: "#/components/schemas/ConnectionScheduleType" scheduleData: $ref: "#/components/schemas/ConnectionScheduleData" status: $ref: "#/components/schemas/ConnectionStatus" resourceRequirements: $ref: "#/components/schemas/ResourceRequirements" sourceCatalogId: type: string format: uuid geography: $ref: "#/components/schemas/Geography" notifySchemaChanges: type: boolean notifySchemaChangesByEmail: type: boolean nonBreakingChangesPreference: $ref: "#/components/schemas/NonBreakingChangesPreference" WebBackendConnectionCreate: type: object required: - sourceId - destinationId - status properties: name: type: string description: Optional name of the connection namespaceDefinition: $ref: "#/components/schemas/NamespaceDefinitionType" namespaceFormat: type: string description: Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. default: null example: "${SOURCE_NAMESPACE}" prefix: type: string description: Prefix that will be prepended to the name of each stream when it is written to the destination. sourceId: $ref: "#/components/schemas/SourceId" destinationId: $ref: "#/components/schemas/DestinationId" operationIds: type: array items: $ref: "#/components/schemas/OperationId" syncCatalog: $ref: "#/components/schemas/AirbyteCatalog" schedule: $ref: "#/components/schemas/ConnectionSchedule" scheduleType: $ref: "#/components/schemas/ConnectionScheduleType" scheduleData: $ref: "#/components/schemas/ConnectionScheduleData" status: $ref: "#/components/schemas/ConnectionStatus" resourceRequirements: $ref: "#/components/schemas/ResourceRequirements" operations: type: array items: $ref: "#/components/schemas/OperationCreate" sourceCatalogId: type: string format: uuid geography: $ref: "#/components/schemas/Geography" nonBreakingChangesPreference: $ref: "#/components/schemas/NonBreakingChangesPreference" ConnectionStateCreateOrUpdate: type: object required: - connectionId - connectionState properties: connectionId: $ref: "#/components/schemas/ConnectionId" connectionState: $ref: "#/components/schemas/ConnectionState" ConnectionUpdate: type: object description: Used to apply a patch-style update to a connection, which means that null properties remain unchanged required: - connectionId properties: connectionId: $ref: "#/components/schemas/ConnectionId" namespaceDefinition: $ref: "#/components/schemas/NamespaceDefinitionType" namespaceFormat: type: string description: Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. default: null example: "${SOURCE_NAMESPACE}" name: type: string description: Name that will be set to this connection prefix: type: string description: Prefix that will be prepended to the name of each stream when it is written to the destination. operationIds: type: array items: $ref: "#/components/schemas/OperationId" syncCatalog: $ref: "#/components/schemas/AirbyteCatalog" schedule: $ref: "#/components/schemas/ConnectionSchedule" scheduleType: $ref: "#/components/schemas/ConnectionScheduleType" scheduleData: $ref: "#/components/schemas/ConnectionScheduleData" status: $ref: "#/components/schemas/ConnectionStatus" resourceRequirements: $ref: "#/components/schemas/ResourceRequirements" sourceCatalogId: type: string format: uuid geography: $ref: "#/components/schemas/Geography" notifySchemaChanges: type: boolean notifySchemaChangesByEmail: type: boolean nonBreakingChangesPreference: $ref: "#/components/schemas/NonBreakingChangesPreference" breakingChange: type: boolean WebBackendConnectionUpdate: type: object description: Used to apply a patch-style update to a connection, which means that null properties remain unchanged required: - connectionId properties: name: type: string description: Name that will be set to the connection connectionId: $ref: "#/components/schemas/ConnectionId" namespaceDefinition: $ref: "#/components/schemas/NamespaceDefinitionType" namespaceFormat: type: string description: Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. default: null example: "${SOURCE_NAMESPACE}" prefix: type: string description: Prefix that will be prepended to the name of each stream when it is written to the destination. syncCatalog: $ref: "#/components/schemas/AirbyteCatalog" schedule: $ref: "#/components/schemas/ConnectionSchedule" scheduleType: $ref: "#/components/schemas/ConnectionScheduleType" scheduleData: $ref: "#/components/schemas/ConnectionScheduleData" status: $ref: "#/components/schemas/ConnectionStatus" resourceRequirements: $ref: "#/components/schemas/ResourceRequirements" skipReset: type: boolean operations: type: array items: $ref: "#/components/schemas/WebBackendOperationCreateOrUpdate" sourceCatalogId: type: string format: uuid geography: $ref: "#/components/schemas/Geography" notifySchemaChanges: type: boolean notifySchemaChangesByEmail: type: boolean nonBreakingChangesPreference: $ref: "#/components/schemas/NonBreakingChangesPreference" ConnectionRead: type: object required: - connectionId - name - sourceId - destinationId - syncCatalog - status - breakingChange properties: connectionId: $ref: "#/components/schemas/ConnectionId" name: type: string namespaceDefinition: $ref: "#/components/schemas/NamespaceDefinitionType" namespaceFormat: type: string description: Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. default: null example: "${SOURCE_NAMESPACE}" prefix: type: string description: Prefix that will be prepended to the name of each stream when it is written to the destination. sourceId: $ref: "#/components/schemas/SourceId" destinationId: $ref: "#/components/schemas/DestinationId" operationIds: type: array items: $ref: "#/components/schemas/OperationId" syncCatalog: $ref: "#/components/schemas/AirbyteCatalog" schedule: $ref: "#/components/schemas/ConnectionSchedule" scheduleType: $ref: "#/components/schemas/ConnectionScheduleType" scheduleData: $ref: "#/components/schemas/ConnectionScheduleData" status: $ref: "#/components/schemas/ConnectionStatus" resourceRequirements: $ref: "#/components/schemas/ResourceRequirements" sourceCatalogId: type: string format: uuid geography: $ref: "#/components/schemas/Geography" breakingChange: type: boolean notifySchemaChanges: type: boolean notifySchemaChangesByEmail: type: boolean nonBreakingChangesPreference: $ref: "#/components/schemas/NonBreakingChangesPreference" workspaceId: $ref: "#/components/schemas/WorkspaceId" SchemaChange: enum: - no_change - non_breaking - breaking type: string ConnectionSearch: type: object properties: connectionId: $ref: "#/components/schemas/ConnectionId" name: type: string namespaceDefinition: $ref: "#/components/schemas/NamespaceDefinitionType" namespaceFormat: type: string description: Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. default: null example: "${SOURCE_NAMESPACE}" prefix: type: string description: Prefix that will be prepended to the name of each stream when it is written to the destination. sourceId: $ref: "#/components/schemas/SourceId" destinationId: $ref: "#/components/schemas/DestinationId" schedule: $ref: "#/components/schemas/ConnectionSchedule" scheduleType: $ref: "#/components/schemas/ConnectionScheduleType" scheduleData: $ref: "#/components/schemas/ConnectionScheduleData" status: $ref: "#/components/schemas/ConnectionStatus" source: $ref: "#/components/schemas/SourceSearch" destination: $ref: "#/components/schemas/DestinationSearch" ConnectionReadList: type: object required: - connections properties: connections: type: array items: $ref: "#/components/schemas/ConnectionRead" ConnectionStatus: type: string description: Active means that data is flowing through the connection. Inactive means it is not. Deprecated means the connection is off and cannot be re-activated. the schema field describes the elements of the schema that will be synced. enum: - active - inactive - deprecated # TODO(https://github.com/airbytehq/airbyte/issues/11432): remove. # Prefer the ConnectionScheduleType and ConnectionScheduleData properties. ConnectionSchedule: description: if null, then no schedule is set. type: object required: - units - timeUnit properties: units: type: integer format: int64 timeUnit: type: string enum: - minutes - hours - days - weeks - months ConnectionScheduleType: description: determine how the schedule data should be interpreted type: string enum: - manual - basic - cron ConnectionScheduleData: description: schedule for when the the connection should run, per the schedule type type: object properties: # This should be populated when schedule type is basic. basicSchedule: type: object required: - timeUnit - units properties: timeUnit: type: string enum: - minutes - hours - days - weeks - months units: type: integer format: int64 # This should be populated when schedule type is cron. cron: type: object required: - cronExpression - cronTimeZone properties: cronExpression: type: string cronTimeZone: type: string NamespaceDefinitionType: type: string description: Method used for computing final namespace in destination enum: - source - destination - customformat # Operations OperationId: type: string format: uuid OperationIdRequestBody: type: object required: - operationId properties: operationId: $ref: "#/components/schemas/OperationId" OperationCreate: type: object required: - name - operatorConfiguration - workspaceId properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" name: type: string operatorConfiguration: $ref: "#/components/schemas/OperatorConfiguration" OperationUpdate: type: object required: - operationId - name - operatorConfiguration properties: operationId: $ref: "#/components/schemas/OperationId" name: type: string operatorConfiguration: $ref: "#/components/schemas/OperatorConfiguration" WebBackendOperationCreateOrUpdate: type: object required: - name - operatorConfiguration - workspaceId properties: operationId: $ref: "#/components/schemas/OperationId" workspaceId: $ref: "#/components/schemas/WorkspaceId" name: type: string operatorConfiguration: $ref: "#/components/schemas/OperatorConfiguration" OperationRead: type: object required: - operationId - name - operatorConfiguration - workspaceId properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" operationId: $ref: "#/components/schemas/OperationId" name: type: string operatorConfiguration: $ref: "#/components/schemas/OperatorConfiguration" OperationReadList: type: object required: - operations properties: operations: type: array items: $ref: "#/components/schemas/OperationRead" OperatorConfiguration: type: object required: - operatorType properties: # Instead of this type field, we would prefer a json schema "oneOf" but unfortunately, # the jsonschema2pojo does not seem to support it yet: https://github.com/joelittlejohn/jsonschema2pojo/issues/392 operatorType: $ref: "#/components/schemas/OperatorType" normalization: $ref: "#/components/schemas/OperatorNormalization" dbt: $ref: "#/components/schemas/OperatorDbt" webhook: $ref: "#/components/schemas/OperatorWebhook" OperatorType: type: string enum: # - destination - normalization - dbt - webhook # - docker OperatorNormalization: type: object properties: option: type: string enum: - basic #- unnesting OperatorDbt: type: object required: - gitRepoUrl properties: gitRepoUrl: type: string gitRepoBranch: type: string dockerImage: type: string dbtArguments: type: string OperatorWebhook: type: object properties: webhookConfigId: type: string format: uuid description: The id of the webhook configs to use from the workspace. webhookType: type: string enum: - dbtCloud dbtCloud: type: object required: - accountId - jobId properties: accountId: type: integer description: The account id associated with the job jobId: type: integer description: The job id associated with the job executionUrl: type: string description: DEPRECATED. Populate dbtCloud instead. deprecated: true executionBody: type: string description: DEPRECATED. Populate dbtCloud instead. deprecated: true CheckOperationRead: type: object required: - status properties: status: type: string enum: - succeeded - failed message: type: string # LOGS LogType: type: string description: type/source of logs produced enum: - server - scheduler LogsRequestBody: type: object required: - logType properties: logType: $ref: "#/components/schemas/LogType" # ACTOR CATALOG ActorCatalogWithUpdatedAt: description: A source actor catalog with the timestamp it was mostly recently updated type: object properties: updatedAt: type: integer format: int64 catalog: type: object # SCHEMA CATALOG AirbyteCatalog: description: describes the available schema (catalog). type: object required: - streams properties: streams: type: array items: $ref: "#/components/schemas/AirbyteStreamAndConfiguration" AirbyteStreamAndConfiguration: description: each stream is split in two parts; the immutable schema from source and mutable configuration for destination type: object additionalProperties: false properties: stream: $ref: "#/components/schemas/AirbyteStream" config: $ref: "#/components/schemas/AirbyteStreamConfiguration" AirbyteStream: description: the immutable schema defined by the source type: object additionalProperties: false required: - name - json_schema # todo (cgardens) - make required once sources are migrated # - supported_sync_modes properties: name: type: string description: Stream's name. jsonSchema: $ref: "#/components/schemas/StreamJsonSchema" supportedSyncModes: type: array items: $ref: "#/components/schemas/SyncMode" sourceDefinedCursor: description: If the source defines the cursor field, then any other cursor field inputs will be ignored. If it does not, either the user_provided one is used, or the default one is used as a backup. type: boolean defaultCursorField: description: Path to the field that will be used to determine if a record is new or modified since the last sync. If not provided by the source, the end user will have to specify the comparable themselves. type: array items: type: string sourceDefinedPrimaryKey: description: If the source defines the primary key, paths to the fields that will be used as a primary key. If not provided by the source, the end user will have to specify the primary key themselves. type: array items: type: array items: type: string namespace: type: string description: Optional Source-defined namespace. Airbyte streams from the same sources should have the same namespace. Currently only used by JDBC destinations to determine what schema to write to. StreamJsonSchema: description: Stream schema using Json Schema specs. type: object AirbyteStreamConfiguration: description: the mutable part of the stream to configure the destination type: object additionalProperties: false required: - syncMode - destinationSyncMode properties: syncMode: $ref: "#/components/schemas/SyncMode" cursorField: description: Path to the field that will be used to determine if a record is new or modified since the last sync. This field is REQUIRED if `sync_mode` is `incremental`. Otherwise it is ignored. type: array items: type: string destinationSyncMode: $ref: "#/components/schemas/DestinationSyncMode" primaryKey: description: Paths to the fields that will be used as primary key. This field is REQUIRED if `destination_sync_mode` is `*_dedup`. Otherwise it is ignored. type: array items: type: array items: type: string aliasName: description: Alias name to the stream to be used in the destination type: string selected: description: If this is true, the stream is selected with all of its properties. For new connections, this considers if the stream is suggested or not type: boolean suggested: description: Does the connector suggest that this stream be enabled by default? type: boolean fieldSelectionEnabled: description: Whether field selection should be enabled. If this is true, only the properties in `selectedFields` will be included. type: boolean selectedFields: description: Paths to the fields that will be included in the configured catalog. This must be set if `fieldSelectedEnabled` is set. An empty list indicates that no properties will be included. type: array items: $ref: "#/components/schemas/SelectedFieldInfo" SelectedFieldInfo: type: object # TODO(mfsiega-airbyte): point to thorough documentation on nested fields and paths. description: Path to a field/column/property in a stream to be selected. For example, if the field to be selected is a database column called "foo", this will be ["foo"]. Use multiple path elements for nested schemas. properties: fieldPath: type: array items: type: string DataType: type: string enum: - string - number - boolean - object - array # SCHEDULER JobId: type: integer format: int64 JobConfigType: type: string enum: - check_connection_source - check_connection_destination - discover_schema - get_spec - sync - reset_connection JobListRequestBody: type: object required: - configTypes - configId properties: configTypes: type: array items: $ref: "#/components/schemas/JobConfigType" configId: type: string includingJobId: description: If the job with this ID exists for the specified connection, returns the number of pages of jobs necessary to include this job. Returns an empty list if this job is specified and cannot be found in this connection. $ref: "#/components/schemas/JobId" pagination: $ref: "#/components/schemas/Pagination" JobIdRequestBody: type: object required: - id properties: id: $ref: "#/components/schemas/JobId" JobRead: type: object required: - id - configType - configId - createdAt - updatedAt - status properties: id: $ref: "#/components/schemas/JobId" configType: $ref: "#/components/schemas/JobConfigType" configId: type: string enabledStreams: type: array items: $ref: "#/components/schemas/StreamDescriptor" createdAt: type: integer format: int64 updatedAt: type: integer format: int64 startedAt: type: integer format: int64 status: $ref: "#/components/schemas/JobStatus" resetConfig: $ref: "#/components/schemas/ResetConfig" ResetConfig: type: object description: contains information about how a reset was configured. only populated if the job was a reset. properties: streamsToReset: type: array items: $ref: "#/components/schemas/StreamDescriptor" StreamDescriptor: type: object required: - name properties: name: type: string namespace: type: string JobDebugRead: type: object required: - id - configType - configId - status - airbyteVersion - sourceDefinition - destinationDefinition properties: id: $ref: "#/components/schemas/JobId" configType: $ref: "#/components/schemas/JobConfigType" configId: type: string status: $ref: "#/components/schemas/JobStatus" airbyteVersion: type: string sourceDefinition: $ref: "#/components/schemas/SourceDefinitionRead" destinationDefinition: $ref: "#/components/schemas/DestinationDefinitionRead" WorkflowStateRead: type: object required: - running properties: running: type: boolean JobWithAttemptsRead: type: object properties: job: $ref: "#/components/schemas/JobRead" attempts: type: array items: $ref: "#/components/schemas/AttemptRead" JobCreatedAt: description: epoch time of the latest sync job. null if no sync job has taken place. type: integer format: int64 JobStatus: type: string enum: - pending - running - incomplete - failed - succeeded - cancelled AttemptRead: type: object required: - id - status - createdAt - updatedAt properties: id: type: integer format: int64 status: $ref: "#/components/schemas/AttemptStatus" createdAt: type: integer format: int64 updatedAt: type: integer format: int64 endedAt: type: integer format: int64 bytesSynced: type: integer format: int64 recordsSynced: type: integer format: int64 totalStats: $ref: "#/components/schemas/AttemptStats" streamStats: type: array items: $ref: "#/components/schemas/AttemptStreamStats" failureSummary: $ref: "#/components/schemas/AttemptFailureSummary" AttemptStats: type: object properties: recordsEmitted: type: integer format: int64 bytesEmitted: type: integer format: int64 stateMessagesEmitted: type: integer format: int64 bytesCommitted: type: integer format: int64 recordsCommitted: type: integer format: int64 estimatedRecords: type: integer format: int64 estimatedBytes: type: integer format: int64 AttemptStreamStats: type: object required: - streamName - stats properties: streamName: type: string streamNamespace: type: string stats: $ref: "#/components/schemas/AttemptStats" AttemptFailureSummary: type: object required: - failures properties: failures: type: array items: $ref: "#/components/schemas/FailureReason" partialSuccess: description: True if the number of committed records for this attempt was greater than 0. False if 0 records were committed. If not set, the number of committed records is unknown. type: boolean FailureReason: type: object required: - timestamp properties: failureOrigin: $ref: "#/components/schemas/FailureOrigin" failureType: $ref: "#/components/schemas/FailureType" externalMessage: type: string internalMessage: type: string stacktrace: type: string retryable: description: True if it is known that retrying may succeed, e.g. for a transient failure. False if it is known that a retry will not succeed, e.g. for a configuration issue. If not set, retryable status is not well known. type: boolean timestamp: type: integer format: int64 FailureOrigin: description: Indicates where the error originated. If not set, the origin of error is not well known. type: string enum: - source - destination - replication - persistence - normalization - dbt - airbyte_platform - unknown FailureType: description: Categorizes well known errors into types for programmatic handling. If not set, the type of error is not well known. type: string enum: - config_error - system_error - manual_cancellation - refresh_schema - heartbeat_timeout AttemptStatus: type: string enum: - running - failed - succeeded JobReadList: type: object required: - jobs - totalJobCount properties: jobs: type: array items: $ref: "#/components/schemas/JobWithAttemptsRead" totalJobCount: description: the total count of jobs for the specified connection type: integer format: int64 JobInfoRead: type: object required: - job - attempts properties: job: $ref: "#/components/schemas/JobRead" attempts: type: array items: $ref: "#/components/schemas/AttemptInfoRead" JobInfoLightRead: type: object required: - job properties: job: $ref: "#/components/schemas/JobRead" JobOptionalRead: type: object properties: job: $ref: "#/components/schemas/JobRead" JobDebugInfoRead: type: object required: - job - attempts properties: job: $ref: "#/components/schemas/JobDebugRead" attempts: type: array items: $ref: "#/components/schemas/AttemptInfoRead" workflowState: $ref: "#/components/schemas/WorkflowStateRead" AttemptInfoRead: type: object required: - attempt - logs properties: attempt: $ref: "#/components/schemas/AttemptRead" logs: $ref: "#/components/schemas/LogRead" LogRead: type: object required: - logLines properties: logLines: type: array items: type: string SynchronousJobRead: type: object required: - id - configType - createdAt - endedAt - succeeded properties: id: type: string format: uuid configType: $ref: "#/components/schemas/JobConfigType" configId: description: only present if a config id was provided. type: string createdAt: type: integer format: int64 endedAt: type: integer format: int64 succeeded: type: boolean connectorConfigurationUpdated: type: boolean default: false logs: $ref: "#/components/schemas/LogRead" failureReason: $ref: "#/components/schemas/FailureReason" Pagination: type: object properties: pageSize: type: integer rowOffset: type: integer # Health HealthCheckRead: type: object required: - available properties: available: type: boolean # General CheckConnectionRead: type: object required: - jobInfo properties: status: type: string enum: - succeeded - failed message: type: string jobInfo: $ref: "#/components/schemas/SynchronousJobRead" ConnectionState: type: object description: Contains the state for a connection. The stateType field identifies what type of state it is. Only the field corresponding to that type will be set, the rest will be null. If stateType=not_set, then none of the fields will be set. required: - connectionId - stateType properties: stateType: $ref: "#/components/schemas/ConnectionStateType" connectionId: $ref: "#/components/schemas/ConnectionId" state: # legacy state object $ref: "#/components/schemas/StateBlob" streamState: type: array items: $ref: "#/components/schemas/StreamState" globalState: $ref: "#/components/schemas/GlobalState" StateBlob: type: object StreamState: type: object required: - streamDescriptor properties: streamDescriptor: $ref: "#/components/schemas/StreamDescriptor" streamState: $ref: "#/components/schemas/StateBlob" GlobalState: type: object required: - streamStates properties: shared_state: $ref: "#/components/schemas/StateBlob" streamStates: type: array items: $ref: "#/components/schemas/StreamState" ConnectionStateType: type: string enum: - global - stream - legacy - not_set CatalogDiff: type: object description: Describes the difference between two Airbyte catalogs. required: - transforms properties: transforms: description: list of stream transformations. order does not matter. type: array items: $ref: "#/components/schemas/StreamTransform" StreamTransform: type: object required: - transformType - streamDescriptor properties: transformType: type: string enum: - add_stream - remove_stream - update_stream streamDescriptor: $ref: "#/components/schemas/StreamDescriptor" updateStream: type: array description: list of field transformations. order does not matter. items: $ref: "#/components/schemas/FieldTransform" FieldTransform: type: object description: "Describes the difference between two Streams." required: - transformType - fieldName - breaking properties: transformType: type: string enum: - add_field - remove_field - update_field_schema fieldName: $ref: "#/components/schemas/FieldName" breaking: type: boolean addField: $ref: "#/components/schemas/FieldAdd" removeField: $ref: "#/components/schemas/FieldRemove" updateFieldSchema: $ref: "#/components/schemas/FieldSchemaUpdate" FieldAdd: type: object properties: schema: $ref: "#/components/schemas/FieldSchema" FieldRemove: type: object properties: schema: $ref: "#/components/schemas/FieldSchema" FieldSchemaUpdate: type: object required: - oldSchema - newSchema properties: oldSchema: $ref: "#/components/schemas/FieldSchema" newSchema: $ref: "#/components/schemas/FieldSchema" FieldName: description: A field name is a list of strings that form the path to the field. type: array items: type: string FieldSchema: description: JSONSchema representation of the field type: object ActorDefinitionResourceRequirements: description: actor definition specific resource requirements. if default is set, these are the requirements that should be set for ALL jobs run for this actor definition. it is overriden by the job type specific configurations. if not set, the platform will use defaults. these values will be overriden by configuration at the connection level. type: object additionalProperties: false properties: default: "$ref": "#/components/schemas/ResourceRequirements" jobSpecific: type: array items: "$ref": "#/components/schemas/JobTypeResourceLimit" ActorDefinitionRequestBody: type: object additionalProperties: false required: - actorDefinitionId - actorType properties: actorDefinitionId: type: string format: uuid actorType: $ref: "#/components/schemas/ActorType" NormalizationDestinationDefinitionConfig: description: describes a normalization config for destination definition type: object required: - supported additionalProperties: false properties: supported: type: boolean description: whether the destination definition supports normalization. default: false normalizationRepository: type: string description: a field indicating the name of the repository to be used for normalization. If the value of the flag is NULL - normalization is not used. normalizationTag: type: string description: a field indicating the tag of the docker repository to be used for normalization. normalizationIntegrationType: type: string description: a field indicating the type of integration dialect to use for normalization. JobTypeResourceLimit: description: sets resource requirements for a specific job type for an actor definition. these values override the default, if both are set. type: object additionalProperties: false required: - jobType - resourceRequirements properties: jobType: "$ref": "#/components/schemas/JobType" resourceRequirements: "$ref": "#/components/schemas/ResourceRequirements" JobType: description: enum that describes the different types of jobs that the platform runs. type: string enum: - get_spec - check_connection - discover_schema - sync - reset_connection - connection_updater - replicate ResourceRequirements: description: optional resource requirements to run workers (blank for unbounded allocations) type: object properties: cpu_request: type: string cpu_limit: type: string memory_request: type: string memory_limit: type: string # DB Migration DbMigrationState: type: string # https://github.com/flyway/flyway/blob/master/flyway-core/src/main/java/org/flywaydb/core/api/MigrationState.java enum: - pending - above_target - below_baseline - baseline - ignored - missing_success - missing_failed - success - undone - available - failed - out_of_order - future_success - future_failed - outdated - superseded - deleted DbMigrationRead: type: object required: - migrationType - migrationVersion - migrationDescription properties: migrationType: type: string migrationVersion: type: string migrationDescription: type: string migrationState: $ref: "#/components/schemas/DbMigrationState" migratedBy: type: string migratedAt: type: integer format: int64 migrationScript: type: string DbMigrationReadList: type: object properties: migrations: type: array items: $ref: "#/components/schemas/DbMigrationRead" DbMigrationExecutionRead: type: object properties: initialVersion: type: string targetVersion: type: string executedMigrations: type: array items: $ref: "#/components/schemas/DbMigrationRead" # OAuth OAuthConfiguration: description: The values required to configure OAuth flows. The schema for this must match the `OAuthConfigSpecification.oauthUserInputFromConnectorConfigSpecification` schema. OAuthInputConfiguration: $ref: "#/components/schemas/OAuthConfiguration" AdvancedAuth: type: object properties: authFlowType: type: string enum: ["oauth2.0", "oauth1.0"] predicateKey: description: Json Path to a field in the connectorSpecification that should exist for the advanced auth to be applicable. type: array items: type: string predicateValue: description: Value of the predicate_key fields for the advanced auth to be applicable. type: string oauthConfigSpecification: "$ref": "#/components/schemas/OAuthConfigSpecification" OAuthConfigSpecification: type: object properties: oauthUserInputFromConnectorConfigSpecification: description: |- OAuth specific blob. This is a Json Schema used to validate Json configurations used as input to OAuth. Must be a valid non-nested JSON that refers to properties from ConnectorSpecification.connectionSpecification using special annotation 'path_in_connector_config'. These are input values the user is entering through the UI to authenticate to the connector, that might also shared as inputs for syncing data via the connector. Examples: if no connector values is shared during oauth flow, oauth_user_input_from_connector_config_specification=[] if connector values such as 'app_id' inside the top level are used to generate the API url for the oauth flow, oauth_user_input_from_connector_config_specification={ app_id: { type: string path_in_connector_config: ['app_id'] } } if connector values such as 'info.app_id' nested inside another object are used to generate the API url for the oauth flow, oauth_user_input_from_connector_config_specification={ app_id: { type: string path_in_connector_config: ['info', 'app_id'] } } $ref: "#/components/schemas/OAuthConfiguration" completeOAuthOutputSpecification: description: |- OAuth specific blob. This is a Json Schema used to validate Json configurations produced by the OAuth flows as they are returned by the distant OAuth APIs. Must be a valid JSON describing the fields to merge back to `ConnectorSpecification.connectionSpecification`. For each field, a special annotation `path_in_connector_config` can be specified to determine where to merge it, Examples: complete_oauth_output_specification={ refresh_token: { type: string, path_in_connector_config: ['credentials', 'refresh_token'] } } $ref: "#/components/schemas/OAuthConfiguration" completeOAuthServerInputSpecification: description: |- OAuth specific blob. This is a Json Schema used to validate Json configurations persisted as Airbyte Server configurations. Must be a valid non-nested JSON describing additional fields configured by the Airbyte Instance or Workspace Admins to be used by the server when completing an OAuth flow (typically exchanging an auth code for refresh token). Examples: complete_oauth_server_input_specification={ client_id: { type: string }, client_secret: { type: string } } $ref: "#/components/schemas/OAuthConfiguration" completeOAuthServerOutputSpecification: description: |- OAuth specific blob. This is a Json Schema used to validate Json configurations persisted as Airbyte Server configurations that also need to be merged back into the connector configuration at runtime. This is a subset configuration of `complete_oauth_server_input_specification` that filters fields out to retain only the ones that are necessary for the connector to function with OAuth. (some fields could be used during oauth flows but not needed afterwards, therefore they would be listed in the `complete_oauth_server_input_specification` but not `complete_oauth_server_output_specification`) Must be a valid non-nested JSON describing additional fields configured by the Airbyte Instance or Workspace Admins to be used by the connector when using OAuth flow APIs. These fields are to be merged back to `ConnectorSpecification.connectionSpecification`. For each field, a special annotation `path_in_connector_config` can be specified to determine where to merge it, Examples: complete_oauth_server_output_specification={ client_id: { type: string, path_in_connector_config: ['credentials', 'client_id'] }, client_secret: { type: string, path_in_connector_config: ['credentials', 'client_secret'] } } $ref: "#/components/schemas/OAuthConfiguration" SourceOauthConsentRequest: type: object required: - sourceDefinitionId - workspaceId - redirectUrl properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" workspaceId: $ref: "#/components/schemas/WorkspaceId" redirectUrl: description: The url to redirect to after getting the user consent type: string oAuthInputConfiguration: $ref: "#/components/schemas/OAuthInputConfiguration" sourceId: $ref: "#/components/schemas/SourceId" DestinationOauthConsentRequest: type: object required: - destinationDefinitionId - workspaceId - redirectUrl properties: destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" workspaceId: $ref: "#/components/schemas/WorkspaceId" redirectUrl: description: The url to redirect to after getting the user consent type: string oAuthInputConfiguration: $ref: "#/components/schemas/OAuthInputConfiguration" destinationId: $ref: "#/components/schemas/DestinationId" OAuthConsentRead: type: object required: - consentUrl properties: consentUrl: type: string CompleteSourceOauthRequest: type: object required: - sourceDefinitionId - workspaceId properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" workspaceId: $ref: "#/components/schemas/WorkspaceId" redirectUrl: description: When completing OAuth flow to gain an access token, some API sometimes requires to verify that the app re-send the redirectUrl that was used when consent was given. type: string queryParams: description: The query parameters present in the redirect URL after a user granted consent e.g auth code type: object additionalProperties: true # Oauth parameters like code, state, etc.. will be different per API so we don't specify them in advance oAuthInputConfiguration: $ref: "#/components/schemas/OAuthInputConfiguration" returnSecretCoordinate: type: boolean description: If set to true, returns a secret coordinate which references the stored tokens. By default, returns raw tokens. default: false sourceId: $ref: "#/components/schemas/SourceId" RevokeSourceOauthTokensRequest: type: object required: - sourceId - sourceDefinitionId - workspaceId properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" sourceId: $ref: "#/components/schemas/SourceId" sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" CompleteDestinationOAuthRequest: type: object required: - destinationDefinitionId - workspaceId properties: destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" workspaceId: $ref: "#/components/schemas/WorkspaceId" redirectUrl: description: When completing OAuth flow to gain an access token, some API sometimes requires to verify that the app re-send the redirectUrl that was used when consent was given. type: string queryParams: description: The query parameters present in the redirect URL after a user granted consent e.g auth code type: object additionalProperties: true # Oauth parameters like code, state, etc.. will be different per API so we don't specify them in advance oAuthInputConfiguration: $ref: "#/components/schemas/OAuthInputConfiguration" destinationId: $ref: "#/components/schemas/DestinationId" CompleteOAuthResponse: type: object required: - request_succeeded - auth_payload properties: request_succeeded: type: boolean request_error: type: string auth_payload: type: object additionalProperties: true # Oauth parameters like refresh/access token etc.. will be different per API, so we don't specify them in advance SetInstancewideSourceOauthParamsRequestBody: type: object required: - sourceDefinitionId - params properties: sourceDefinitionId: $ref: "#/components/schemas/SourceDefinitionId" params: type: object additionalProperties: true SetInstancewideDestinationOauthParamsRequestBody: type: object required: - destinationDefinitionId - params properties: destinationDefinitionId: $ref: "#/components/schemas/DestinationDefinitionId" params: type: object additionalProperties: true WorkspaceOverrideOauthParamsRequestBody: type: object required: - definitionId - params - workspaceId - actorType properties: definitionId: type: string format: uuid params: type: object additionalProperties: true workspaceId: $ref: "#/components/schemas/WorkspaceId" actorType: $ref: "#/components/schemas/ActorType" ActorType: enum: - source - destination type: string # Web Backend WebBackendCheckUpdatesRead: type: object description: Summary of source and destination definitions that could be updated required: - destinationDefinitions - sourceDefinitions properties: destinationDefinitions: type: integer sourceDefinitions: type: integer WebBackendConnectionListRequestBody: type: object required: - workspaceId properties: workspaceId: $ref: "#/components/schemas/WorkspaceId" sourceId: type: array items: $ref: "#/components/schemas/SourceId" destinationId: type: array items: $ref: "#/components/schemas/DestinationId" WebBackendConnectionListItem: type: object description: Information about a connection that shows up in the connection list view. required: - connectionId - name - source - destination - status - isSyncing - schemaChange properties: connectionId: $ref: "#/components/schemas/ConnectionId" name: type: string scheduleType: $ref: "#/components/schemas/ConnectionScheduleType" scheduleData: $ref: "#/components/schemas/ConnectionScheduleData" status: $ref: "#/components/schemas/ConnectionStatus" source: $ref: "#/components/schemas/SourceSnippetRead" destination: $ref: "#/components/schemas/DestinationSnippetRead" latestSyncJobCreatedAt: $ref: "#/components/schemas/JobCreatedAt" latestSyncJobStatus: $ref: "#/components/schemas/JobStatus" isSyncing: type: boolean schemaChange: $ref: "#/components/schemas/SchemaChange" WebBackendConnectionRead: type: object required: - connectionId - name - sourceId - destinationId - syncCatalog - status - source - destination - isSyncing - schemaChange - notifySchemaChanges - notifySchemaChangesByEmail - nonBreakingChangesPreference properties: connectionId: $ref: "#/components/schemas/ConnectionId" name: type: string namespaceDefinition: $ref: "#/components/schemas/NamespaceDefinitionType" namespaceFormat: type: string description: Used when namespaceDefinition is 'customformat'. If blank then behaves like namespaceDefinition = 'destination'. If "${SOURCE_NAMESPACE}" then behaves like namespaceDefinition = 'source'. default: null example: "${SOURCE_NAMESPACE}" prefix: type: string description: Prefix that will be prepended to the name of each stream when it is written to the destination. sourceId: $ref: "#/components/schemas/SourceId" destinationId: $ref: "#/components/schemas/DestinationId" syncCatalog: $ref: "#/components/schemas/AirbyteCatalog" schedule: $ref: "#/components/schemas/ConnectionSchedule" scheduleType: $ref: "#/components/schemas/ConnectionScheduleType" scheduleData: $ref: "#/components/schemas/ConnectionScheduleData" status: $ref: "#/components/schemas/ConnectionStatus" operationIds: type: array items: $ref: "#/components/schemas/OperationId" source: $ref: "#/components/schemas/SourceRead" destination: $ref: "#/components/schemas/DestinationRead" operations: type: array items: $ref: "#/components/schemas/OperationRead" latestSyncJobCreatedAt: $ref: "#/components/schemas/JobCreatedAt" latestSyncJobStatus: $ref: "#/components/schemas/JobStatus" isSyncing: type: boolean resourceRequirements: $ref: "#/components/schemas/ResourceRequirements" catalogId: type: string format: uuid catalogDiff: $ref: "#/components/schemas/CatalogDiff" geography: $ref: "#/components/schemas/Geography" schemaChange: $ref: "#/components/schemas/SchemaChange" notifySchemaChanges: type: boolean notifySchemaChangesByEmail: type: boolean nonBreakingChangesPreference: $ref: "#/components/schemas/NonBreakingChangesPreference" NonBreakingChangesPreference: enum: - ignore # do nothing if we detect a schema change - disable # disable the connection, pausing the sync - propagate_columns # automatically propagate the changes on selected streams and continue syncing - propagate_fully # automatically propagate the changes including new streams and continue syncing type: string WebBackendConnectionReadList: type: object required: - connections properties: connections: type: array items: $ref: "#/components/schemas/WebBackendConnectionListItem" SyncMode: type: string enum: - full_refresh - incremental DestinationSyncMode: type: string enum: - append - overwrite #- upsert_dedup # TODO chris: SCD Type 1 can be implemented later - append_dedup # SCD Type 1 & 2 AirbyteArchive: type: string format: binary description: Tarball Archive (.tar.gz) of Airbyte Configuration and Database ImportRead: type: object required: - status properties: status: type: string enum: - succeeded - failed reason: type: string ResourceId: type: string format: uuid UploadRead: type: object required: - status properties: status: type: string enum: - succeeded - failed resourceId: $ref: "#/components/schemas/ResourceId" ImportRequestBody: type: object required: - resourceId - workspaceId properties: resourceId: $ref: "#/components/schemas/ResourceId" workspaceId: $ref: "#/components/schemas/WorkspaceId" AttemptNumber: type: integer format: int32 WorkflowId: type: string SetWorkflowInAttemptRequestBody: type: object required: - jobId - attemptNumber - workflowId properties: jobId: $ref: "#/components/schemas/JobId" attemptNumber: $ref: "#/components/schemas/AttemptNumber" workflowId: $ref: "#/components/schemas/WorkflowId" processingTaskQueue: type: string default: "" SaveStatsRequestBody: type: object required: - jobId - attemptNumber - stats properties: jobId: $ref: "#/components/schemas/JobId" attemptNumber: $ref: "#/components/schemas/AttemptNumber" stats: $ref: "#/components/schemas/AttemptStats" streamStats: type: array items: $ref: "#/components/schemas/AttemptStreamStats" AttemptSyncConfig: type: object required: - sourceConfiguration - destinationConfiguration properties: sourceConfiguration: $ref: "#/components/schemas/SourceConfiguration" destinationConfiguration: $ref: "#/components/schemas/DestinationConfiguration" state: $ref: "#/components/schemas/ConnectionState" SaveAttemptSyncConfigRequestBody: type: object required: - jobId - attemptNumber - syncConfig properties: jobId: $ref: "#/components/schemas/JobId" attemptNumber: $ref: "#/components/schemas/AttemptNumber" syncConfig: $ref: "#/components/schemas/AttemptSyncConfig" InternalOperationResult: type: object required: - succeeded properties: succeeded: type: boolean DiscoverCatalogResult: type: object required: - catalogId properties: catalogId: type: string format: uuid AttemptNormalizationStatusReadList: type: object properties: attemptNormalizationStatuses: type: array items: $ref: "#/components/schemas/AttemptNormalizationStatusRead" AttemptNormalizationStatusRead: type: object properties: attemptNumber: $ref: "#/components/schemas/AttemptNumber" hasRecordsCommitted: type: boolean recordsCommitted: type: integer format: int64 hasNormalizationFailed: type: boolean StreamStatusId: type: string format: uuid StreamStatusRunState: type: string description: > Values: * `PENDING` - The stream operation has been selected to run * `RUNNING` - The stream operation is running * `COMPLETE` - The stream operation ran successfully to completion * `INCOMPLETE` - The stream operation has terminated in an incomplete state. See StreamStatusIncompleteRunCause for more details. enum: - PENDING - RUNNING - COMPLETE - INCOMPLETE StreamStatusIncompleteRunCause: type: string description: > Values: * `FAILED` - A failure has occurred * `CANCELED` - The run has been canceled enum: - FAILED - CANCELED StreamStatusJobType: type: string enum: - SYNC - RESET StreamStatusListRequestBody: type: object required: - pagination - workspaceId properties: attemptNumber: $ref: "#/components/schemas/AttemptNumber" connectionId: $ref: "#/components/schemas/ConnectionId" jobId: $ref: "#/components/schemas/JobId" jobType: $ref: "#/components/schemas/StreamStatusJobType" pagination: $ref: "#/components/schemas/Pagination" streamName: type: string streamNamespace: type: string workspaceId: $ref: "#/components/schemas/WorkspaceId" StreamStatusCreateRequestBody: type: object required: - attemptNumber - connectionId - jobId - jobType - runState - streamName - transitionedAt - workspaceId properties: attemptNumber: $ref: "#/components/schemas/AttemptNumber" connectionId: $ref: "#/components/schemas/ConnectionId" jobId: $ref: "#/components/schemas/JobId" incompleteRunCause: $ref: "#/components/schemas/StreamStatusIncompleteRunCause" jobType: $ref: "#/components/schemas/StreamStatusJobType" runState: $ref: "#/components/schemas/StreamStatusRunState" streamName: type: string streamNamespace: type: string transitionedAt: type: integer format: int64 workspaceId: $ref: "#/components/schemas/WorkspaceId" StreamStatusUpdateRequestBody: type: object allOf: - $ref: "#/components/schemas/StreamStatusCreateRequestBody" required: - id properties: id: $ref: "#/components/schemas/StreamStatusId" StreamStatusRead: type: object required: - attemptNumber - connectionId - id - jobId - jobType - runState - streamName - streamNamespace - transitionedAt - workspaceId properties: attemptNumber: $ref: "#/components/schemas/AttemptNumber" connectionId: $ref: "#/components/schemas/ConnectionId" id: $ref: "#/components/schemas/StreamStatusId" jobId: $ref: "#/components/schemas/JobId" incompleteRunCause: $ref: "#/components/schemas/StreamStatusIncompleteRunCause" jobType: $ref: "#/components/schemas/StreamStatusJobType" runState: $ref: "#/components/schemas/StreamStatusRunState" streamName: type: string streamNamespace: type: string transitionedAt: type: integer format: int64 workspaceId: $ref: "#/components/schemas/WorkspaceId" StreamStatusReadList: type: object properties: streamStatuses: type: array items: $ref: "#/components/schemas/StreamStatusRead" InvalidInputProperty: type: object required: - propertyPath properties: propertyPath: type: string invalidValue: type: string message: type: string NotFoundKnownExceptionInfo: type: object required: - message properties: id: type: string message: type: string exceptionClassName: type: string exceptionStack: type: array items: type: string rootCauseExceptionClassName: type: string rootCauseExceptionStack: type: array items: type: string KnownExceptionInfo: type: object required: - message properties: message: type: string exceptionClassName: type: string exceptionStack: type: array items: type: string rootCauseExceptionClassName: type: string rootCauseExceptionStack: type: array items: type: string InvalidInputExceptionInfo: type: object required: - message - validationErrors properties: message: type: string exceptionClassName: type: string exceptionStack: type: array items: type: string validationErrors: type: array items: $ref: "#/components/schemas/InvalidInputProperty" responses: NotFoundResponse: description: Object with given id was not found. content: application/json: schema: $ref: "#/components/schemas/NotFoundKnownExceptionInfo" InvalidInputResponse: description: Input failed validation content: application/json: schema: $ref: "#/components/schemas/InvalidInputExceptionInfo" ExceptionResponse: description: Exception occurred; see message for details. content: application/json: schema: $ref: "#/components/schemas/KnownExceptionInfo" security: - {}