---
title: "Get specification for a SourceDefinition."
method: POST
path: "/v1/source_definition_specifications/get"
tags: ["source_definition_specification"]
---

# Get specification for a SourceDefinition.

`POST /v1/source_definition_specifications/get`

## Request body

- SourceDefinitionIdWithWorkspaceId
  - `sourceDefinitionId` string, uuid, required
  - `workspaceId` string, uuid, required

## Response `200`

Successful operation

- SourceDefinitionSpecificationRead
  - `advancedAuth` AdvancedAuth
    - `authFlowType` 'oauth2.0' | 'oauth1.0'
    - `oauthConfigSpecification` OAuthConfigSpecification
      - `completeOAuthOutputSpecification` unknown
      - `completeOAuthServerInputSpecification` unknown
      - `completeOAuthServerOutputSpecification` unknown
      - `oauthUserInputFromConnectorConfigSpecification` unknown
    - `predicateKey` string[] — Json Path to a field in the connectorSpecification that should exist for the advanced auth to be applicable.
    - `predicateValue` string — Value of the predicate_key fields for the advanced auth to be applicable.
  - `authSpecification` SourceAuthSpecification
    - `auth_type` 'oauth2.0'
    - `oauth2Specification` OAuth2Specification — An object containing any metadata needed to describe this connector's Oauth flow
      - `oauthFlowInitParameters` array[], required — Pointers to the fields in the rootObject needed to obtain the initial refresh/access tokens for the OAuth flow. Each inner array represents the path in the rootObject of the referenced field. For example. Assume the rootObject contains params 'app_secret', 'app_id' which are needed to get the initial refresh token. If they are not nested in the rootObject, then the array would look like this [['app_secret'], ['app_id']] If they are nested inside an object called 'auth_params' then this array would be [['auth_params', 'app_secret'], ['auth_params', 'app_id']]
        - string[] — A list of strings denoting a pointer into the rootObject for where to find this property
      - `oauthFlowOutputParameters` array[], required — Pointers to the fields in the rootObject which can be populated from successfully completing the oauth flow using the init parameters. This is typically a refresh/access token. Each inner array represents the path in the rootObject of the referenced field.
        - string[] — A list of strings denoting a pointer into the rootObject for where to find this property
      - `rootObject` unknown[], required — A list of strings representing a pointer to the root object which contains any oauth parameters in the ConnectorSpecification. Examples: if oauth parameters were contained inside the top level, rootObject=[] If they were nested inside another object {'credentials': {'app_id' etc...}, rootObject=['credentials'] If they were inside a oneOf {'switch': {oneOf: [{client_id...}, {non_oauth_param]}}, rootObject=['switch', 0]
        - unknown
  - `connectionSpecification` SourceDefinitionSpecification — The specification for what values are required to configure the sourceDefinition.
  - `documentationUrl` string
  - `jobInfo` SynchronousJobRead, required
    - `configId` string — only present if a config id was provided.
    - `configType` 'check_connection_source' | 'check_connection_destination' | 'discover_schema' | 'get_spec' | 'sync' | 'reset_connection', required
    - `connectorConfigurationUpdated` boolean
    - `createdAt` integer, required
    - `endedAt` integer, required
    - `id` string, uuid, required
    - `logs` LogRead
      - `logLines` string[], required
    - `succeeded` boolean, required
  - `sourceDefinitionId` string, uuid, required

## Other responses

- `404` — Object with given id was not found.
- `422` — Input failed validation

---

[API](https://skmtc.net/airbyte/apis/config.md) · [All operations](https://skmtc.net/airbyte/apis/config/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/airbyte/config/revisions/ce48e08e02ec/schema)
