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

# Get a datasource



## OpenAPI

````yaml /api-reference/openapi/datasources-api.json get /{id}
openapi: 3.0.0
info:
  title: datasources-api
  version: 0.0.0
  description: |-
    # Errors
    | Error code | Message | HTTP status code | Payload |
    | :--- | :--- | :--- | :--- |
    | number | string | 409 |  |
servers:
  - url: https://api.reelevant.com/v2/datasources/
    description: production
security: []
paths:
  /{id}:
    get:
      tags:
        - Datasource
      summary: Get a datasource
      operationId: get-datasource
      parameters:
        - name: id
          in: path
          schema:
            type: string
            pattern: ^[0-9a-fA-F]{24}$
          required: true
        - name: versions
          in: query
          schema:
            type: string
          required: false
        - name: withExample
          in: query
          schema:
            type: string
          required: false
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                allOf:
                  - type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - success
                    required:
                      - status
                    additionalProperties: false
                  - $ref: >-
                      #/components/schemas/InternalResponse_Union_Intersection_PushDatasource_example_Union_undefined_Record_queriableFields_Union_undefined_Array_QueriableField_Intersection_WorkerDatasource_example_Union_undefined_Record_queriableFields_Union_undefined_Array_QueriableField_Intersection_ProxyDatasource_example_Union_undefined_Record_queriableFields_Union_undefined_Array_QueriableField_Intersection_IngesterDatasource_example_Union_undefined_Record_queriableFields_Union_undefined_Array_QueriableField_Intersection_PubsubDatasource_example_Union_undefined_Record_queriableFields_Union_undefined_Array_QueriableField
        '400':
          description: ''
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/InternalResponse_'
                  - type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - fail
                      error_code:
                        type: number
                      code:
                        type: number
                      message:
                        type: string
                      data:
                        oneOf:
                          - type: object
                            properties: {}
                            additionalProperties:
                              $ref: '#/components/schemas/AnyValue'
                          - type: object
                            properties:
                              id:
                                type: string
                            required:
                              - id
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              id:
                                type: string
                            required:
                              - id
                            additionalProperties: false
                          - type: object
                            properties:
                              id:
                                type: string
                            required:
                              - id
                            additionalProperties: false
                          - type: object
                            properties:
                              id:
                                type: string
                            required:
                              - id
                            additionalProperties: false
                          - type: object
                            properties:
                              id:
                                type: string
                            required:
                              - id
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              field:
                                type: string
                              datasourceId:
                                type: string
                            required:
                              - field
                              - datasourceId
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              fields:
                                type: array
                                items:
                                  type: string
                            required:
                              - fields
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              err:
                                type: string
                            required:
                              - err
                            additionalProperties: false
                          - type: object
                            properties:
                              protocol:
                                type: string
                            required:
                              - protocol
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              field:
                                type: string
                            required:
                              - field
                            additionalProperties: false
                          - type: object
                            properties:
                              field:
                                type: string
                            required:
                              - field
                            additionalProperties: false
                          - type: object
                            properties:
                              field:
                                type: string
                            required:
                              - field
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              fields:
                                type: array
                                items:
                                  type: string
                            required:
                              - fields
                            additionalProperties: false
                          - type: object
                            properties:
                              type:
                                type: string
                            required:
                              - type
                            additionalProperties: false
                          - type: object
                            properties:
                              field:
                                type: string
                            required:
                              - field
                            additionalProperties: false
                          - type: object
                            properties:
                              name:
                                type: string
                            required:
                              - name
                            additionalProperties: false
                          - type: object
                            properties:
                              textEncoding:
                                type: string
                            required:
                              - textEncoding
                            additionalProperties: false
                          - type: object
                            properties:
                              err:
                                type: string
                              format:
                                oneOf:
                                  - type: string
                                    enum:
                                      - avro
                                  - type: string
                                    enum:
                                      - csv
                                  - type: string
                                    enum:
                                      - json
                                  - type: string
                                    enum:
                                      - ndjson
                                  - type: string
                                    enum:
                                      - parquet
                                  - type: string
                                    enum:
                                      - xlsx
                                  - type: string
                                    enum:
                                      - xml
                              url:
                                type: string
                            required:
                              - err
                              - format
                              - url
                            additionalProperties: false
                          - type: object
                            properties:
                              name:
                                type: string
                            required:
                              - name
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              fields:
                                type: array
                                items:
                                  type: string
                            required:
                              - fields
                            additionalProperties: false
                          - type: object
                            properties:
                              err:
                                type: string
                              url:
                                type: string
                            required:
                              - err
                              - url
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              err:
                                type: string
                            required:
                              - err
                            additionalProperties: false
                          - type: object
                            properties:
                              q:
                                type: string
                              err:
                                type: string
                            required:
                              - q
                              - err
                            additionalProperties: false
                          - type: object
                            properties:
                              err:
                                type: string
                            required:
                              - err
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              workflows:
                                type: array
                                items:
                                  type: string
                              contents:
                                type: array
                                items:
                                  type: string
                            required:
                              - workflows
                              - contents
                            additionalProperties: false
                          - type: object
                            properties:
                              expectedStep:
                                $ref: '#/components/schemas/StepName'
                            required:
                              - expectedStep
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              timeout:
                                type: number
                            required:
                              - timeout
                            additionalProperties: false
                          - type: object
                            properties:
                              message:
                                type: string
                            required:
                              - message
                            additionalProperties: false
                          - type: object
                            properties:
                              ids:
                                type: array
                                items:
                                  type: string
                            required:
                              - ids
                            additionalProperties: false
                          - type: object
                            properties:
                              expectedType:
                                $ref: '#/components/schemas/DatasourceType'
                            required:
                              - expectedType
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                    required:
                      - status
                      - error_code
                      - code
                      - message
                    additionalProperties: false
        '404':
          description: ''
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/InternalResponse_'
                  - type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - fail
                      error_code:
                        type: number
                      code:
                        type: number
                      message:
                        type: string
                      data:
                        oneOf:
                          - type: object
                            properties: {}
                            additionalProperties:
                              $ref: '#/components/schemas/AnyValue'
                          - type: object
                            properties:
                              id:
                                type: string
                            required:
                              - id
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              id:
                                type: string
                            required:
                              - id
                            additionalProperties: false
                          - type: object
                            properties:
                              id:
                                type: string
                            required:
                              - id
                            additionalProperties: false
                          - type: object
                            properties:
                              id:
                                type: string
                            required:
                              - id
                            additionalProperties: false
                          - type: object
                            properties:
                              id:
                                type: string
                            required:
                              - id
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              field:
                                type: string
                              datasourceId:
                                type: string
                            required:
                              - field
                              - datasourceId
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              fields:
                                type: array
                                items:
                                  type: string
                            required:
                              - fields
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              err:
                                type: string
                            required:
                              - err
                            additionalProperties: false
                          - type: object
                            properties:
                              protocol:
                                type: string
                            required:
                              - protocol
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              field:
                                type: string
                            required:
                              - field
                            additionalProperties: false
                          - type: object
                            properties:
                              field:
                                type: string
                            required:
                              - field
                            additionalProperties: false
                          - type: object
                            properties:
                              field:
                                type: string
                            required:
                              - field
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              fields:
                                type: array
                                items:
                                  type: string
                            required:
                              - fields
                            additionalProperties: false
                          - type: object
                            properties:
                              type:
                                type: string
                            required:
                              - type
                            additionalProperties: false
                          - type: object
                            properties:
                              field:
                                type: string
                            required:
                              - field
                            additionalProperties: false
                          - type: object
                            properties:
                              name:
                                type: string
                            required:
                              - name
                            additionalProperties: false
                          - type: object
                            properties:
                              textEncoding:
                                type: string
                            required:
                              - textEncoding
                            additionalProperties: false
                          - type: object
                            properties:
                              err:
                                type: string
                              format:
                                oneOf:
                                  - type: string
                                    enum:
                                      - avro
                                  - type: string
                                    enum:
                                      - csv
                                  - type: string
                                    enum:
                                      - json
                                  - type: string
                                    enum:
                                      - ndjson
                                  - type: string
                                    enum:
                                      - parquet
                                  - type: string
                                    enum:
                                      - xlsx
                                  - type: string
                                    enum:
                                      - xml
                              url:
                                type: string
                            required:
                              - err
                              - format
                              - url
                            additionalProperties: false
                          - type: object
                            properties:
                              name:
                                type: string
                            required:
                              - name
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              fields:
                                type: array
                                items:
                                  type: string
                            required:
                              - fields
                            additionalProperties: false
                          - type: object
                            properties:
                              err:
                                type: string
                              url:
                                type: string
                            required:
                              - err
                              - url
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              err:
                                type: string
                            required:
                              - err
                            additionalProperties: false
                          - type: object
                            properties:
                              q:
                                type: string
                              err:
                                type: string
                            required:
                              - q
                              - err
                            additionalProperties: false
                          - type: object
                            properties:
                              err:
                                type: string
                            required:
                              - err
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              workflows:
                                type: array
                                items:
                                  type: string
                              contents:
                                type: array
                                items:
                                  type: string
                            required:
                              - workflows
                              - contents
                            additionalProperties: false
                          - type: object
                            properties:
                              expectedStep:
                                $ref: '#/components/schemas/StepName'
                            required:
                              - expectedStep
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties:
                              timeout:
                                type: number
                            required:
                              - timeout
                            additionalProperties: false
                          - type: object
                            properties:
                              message:
                                type: string
                            required:
                              - message
                            additionalProperties: false
                          - type: object
                            properties:
                              ids:
                                type: array
                                items:
                                  type: string
                            required:
                              - ids
                            additionalProperties: false
                          - type: object
                            properties:
                              expectedType:
                                $ref: '#/components/schemas/DatasourceType'
                            required:
                              - expectedType
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                          - type: object
                            properties: {}
                            additionalProperties: false
                    required:
                      - status
                      - error_code
                      - code
                      - message
                    additionalProperties: false
      security:
        - password_auth: []
components:
  schemas:
    InternalResponse_Union_Intersection_PushDatasource_example_Union_undefined_Record_queriableFields_Union_undefined_Array_QueriableField_Intersection_WorkerDatasource_example_Union_undefined_Record_queriableFields_Union_undefined_Array_QueriableField_Intersection_ProxyDatasource_example_Union_undefined_Record_queriableFields_Union_undefined_Array_QueriableField_Intersection_IngesterDatasource_example_Union_undefined_Record_queriableFields_Union_undefined_Array_QueriableField_Intersection_PubsubDatasource_example_Union_undefined_Record_queriableFields_Union_undefined_Array_QueriableField:
      type: object
      properties:
        program:
          type: string
        version:
          type: string
        datetime:
          type: string
        status:
          type: string
        code:
          type: number
        message:
          type: string
        data:
          oneOf:
            - allOf:
                - $ref: '#/components/schemas/PushDatasource'
                - type: object
                  properties:
                    example:
                      type: object
                      properties: {}
                      additionalProperties:
                        $ref: '#/components/schemas/AnyValue'
                    queriableFields:
                      type: array
                      items:
                        $ref: '#/components/schemas/QueriableField'
                  additionalProperties: false
            - allOf:
                - $ref: '#/components/schemas/WorkerDatasource'
                - type: object
                  properties:
                    example:
                      type: object
                      properties: {}
                      additionalProperties:
                        $ref: '#/components/schemas/AnyValue'
                    queriableFields:
                      type: array
                      items:
                        $ref: '#/components/schemas/QueriableField'
                  additionalProperties: false
            - allOf:
                - $ref: '#/components/schemas/ProxyDatasource'
                - type: object
                  properties:
                    example:
                      type: object
                      properties: {}
                      additionalProperties:
                        $ref: '#/components/schemas/AnyValue'
                    queriableFields:
                      type: array
                      items:
                        $ref: '#/components/schemas/QueriableField'
                  additionalProperties: false
            - allOf:
                - $ref: '#/components/schemas/IngesterDatasource'
                - type: object
                  properties:
                    example:
                      type: object
                      properties: {}
                      additionalProperties:
                        $ref: '#/components/schemas/AnyValue'
                    queriableFields:
                      type: array
                      items:
                        $ref: '#/components/schemas/QueriableField'
                  additionalProperties: false
            - allOf:
                - $ref: '#/components/schemas/PubsubDatasource'
                - type: object
                  properties:
                    example:
                      type: object
                      properties: {}
                      additionalProperties:
                        $ref: '#/components/schemas/AnyValue'
                    queriableFields:
                      type: array
                      items:
                        $ref: '#/components/schemas/QueriableField'
                  additionalProperties: false
      required:
        - program
        - version
        - datetime
        - status
        - message
        - data
      additionalProperties: false
    InternalResponse_:
      type: object
      properties:
        program:
          type: string
        version:
          type: string
        datetime:
          type: string
        status:
          type: string
        code:
          type: number
        message:
          type: string
        data:
          type: object
          properties: {}
          additionalProperties: false
      required:
        - program
        - version
        - datetime
        - status
        - message
        - data
      additionalProperties: false
    AnyValue:
      description: Can be any value
      nullable: true
    StepName:
      type: string
      enum:
        - configure_name
        - configure_resource_group_ids
        - configure_sources
        - configure_fields
        - configure_field
        - create_oauth_client
        - authorize_oauth_client
        - configure_thresholds
        - configure_api_key
        - patch
        - configure_fetcher
        - validate
        - configure_google_tag_manager
        - configure_reelevant_analytics_script
        - configure_product_datasource_source
        - configure_tracking_datasource_source
        - configure_best_product_query
        - configure_best_product_field
        - configure_bought_together
        - configure_merge_mapping
        - configure_merge_datasource_source
        - configure_merge_datasource_dependency
        - configure_top_attributes
        - configure_destination
        - configure_hierarchy
    DatasourceType:
      type: string
      enum:
        - generic
        - location
        - product
        - analytics
        - crm
        - push
    PushDatasource:
      $ref: '#/components/schemas/AnyValue'
    QueriableField:
      allOf:
        - $ref: '#/components/schemas/FieldMap_With_Name_Type_Primitive'
        - type: object
          properties:
            required:
              type: boolean
            unique:
              type: boolean
            sortable:
              type: boolean
            enum:
              type: array
              items:
                oneOf:
                  - type: string
                  - type: number
            allowedOperators:
              type: array
              items:
                oneOf:
                  - oneOf:
                      - type: string
                        enum:
                          - $eq
                      - type: string
                        enum:
                          - $ne
                      - type: string
                        enum:
                          - $contains
                      - type: string
                        enum:
                          - $notcontains
                      - type: string
                        enum:
                          - $empty
                      - type: string
                        enum:
                          - eq
                      - type: string
                        enum:
                          - ne
                      - type: string
                        enum:
                          - contains
                      - type: string
                        enum:
                          - notcontains
                      - type: string
                        enum:
                          - empty
                      - type: string
                        enum:
                          - $neq
                      - type: string
                        enum:
                          - $nne
                      - type: string
                        enum:
                          - $lt
                      - type: string
                        enum:
                          - $lte
                      - type: string
                        enum:
                          - $gt
                      - type: string
                        enum:
                          - $gte
                      - type: string
                        enum:
                          - neq
                      - type: string
                        enum:
                          - nne
                      - type: string
                        enum:
                          - lt
                      - type: string
                        enum:
                          - lte
                      - type: string
                        enum:
                          - gt
                      - type: string
                        enum:
                          - gte
                      - type: string
                        enum:
                          - $rangefuture
                      - type: string
                        enum:
                          - $rangepast
                      - type: string
                        enum:
                          - $nrangefuture
                      - type: string
                        enum:
                          - $nrangepast
                      - type: string
                        enum:
                          - rangefuture
                      - type: string
                        enum:
                          - rangepast
                      - type: string
                        enum:
                          - nrangefuture
                      - type: string
                        enum:
                          - nrangepast
                  - oneOf:
                      - type: string
                        enum:
                          - $eq
                      - type: string
                        enum:
                          - $ne
                      - type: string
                        enum:
                          - $contains
                      - type: string
                        enum:
                          - $notcontains
                      - type: string
                        enum:
                          - $empty
                      - type: string
                        enum:
                          - eq
                      - type: string
                        enum:
                          - ne
                      - type: string
                        enum:
                          - contains
                      - type: string
                        enum:
                          - notcontains
                      - type: string
                        enum:
                          - empty
                      - type: string
                        enum:
                          - $neq
                      - type: string
                        enum:
                          - $nne
                      - type: string
                        enum:
                          - $lt
                      - type: string
                        enum:
                          - $lte
                      - type: string
                        enum:
                          - $gt
                      - type: string
                        enum:
                          - $gte
                      - type: string
                        enum:
                          - neq
                      - type: string
                        enum:
                          - nne
                      - type: string
                        enum:
                          - lt
                      - type: string
                        enum:
                          - lte
                      - type: string
                        enum:
                          - gt
                      - type: string
                        enum:
                          - gte
                      - type: string
                        enum:
                          - $rangefuture
                      - type: string
                        enum:
                          - $rangepast
                      - type: string
                        enum:
                          - $nrangefuture
                      - type: string
                        enum:
                          - $nrangepast
                      - type: string
                        enum:
                          - rangefuture
                      - type: string
                        enum:
                          - rangepast
                      - type: string
                        enum:
                          - nrangefuture
                      - type: string
                        enum:
                          - nrangepast
          required:
            - required
            - unique
            - sortable
            - allowedOperators
    WorkerDatasource:
      $ref: '#/components/schemas/AnyValue'
    ProxyDatasource:
      $ref: '#/components/schemas/AnyValue'
    IngesterDatasource:
      $ref: '#/components/schemas/AnyValue'
    PubsubDatasource:
      $ref: '#/components/schemas/AnyValue'
    FieldMap_With_Name_Type_Primitive:
      type: object
      properties:
        name:
          type: string
        type:
          $ref: '#/components/schemas/FieldMapType'
        primitive:
          oneOf:
            - type: string
              enum:
                - string
            - type: string
              enum:
                - number
            - type: string
              enum:
                - boolean
            - type: string
              enum:
                - datetime
            - type: string
              enum:
                - datetime_iso
            - type: string
              enum:
                - string[]
            - type: string
              enum:
                - number[]
            - type: string
              enum:
                - string{}
            - type: string
              enum:
                - number{}
          readOnly: true
      required:
        - name
        - type
        - primitive
      additionalProperties: false
    FieldMapType:
      type: string
      enum:
        - string
        - number
        - datetime
        - datetime_iso
        - boolean
        - address_1
        - address_2
        - address_3
        - address_4
        - city
        - zipcode
        - country
        - latitude
        - longitude
        - reference_id
        - reference_ids
        - product_id
        - price
        - url
        - image_url
        - name
        - description
        - product_lifetime
        - locale
        - array_string
        - array_number
        - record_string
        - record_number
        - company_id
        - event_name
        - event_id
        - user_tmp_id
        - user_agent
        - workflow_id
        - workflow_version_id
        - workflow_event_mode
        - transaction_id
        - transaction_source
        - transaction_metadata
        - product_quantity
        - workflow_purchase_user
        - workflow_user
        - workflow_onsite_user
        - user_birthday
        - user_age
  securitySchemes:
    password_auth:
      type: oauth2
      flows:
        password:
          tokenUrl: https://api.reelevant.com/v1/auth/token
          refreshUrl: https://api.reelevant.com/v1/auth/token
          scopes: {}

````