Altimate AI DBT_V2 API

The DBT_V2 API from Altimate AI — 6 operation(s) for dbt_v2.

OpenAPI Specification

altimate-ai-dbt-v2-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Fast ACCOUNT_COSTS DBT_V2 API
  version: 0.1.0
tags:
- name: DBT_V2
paths:
  /dbt/v2/lineage:
    post:
      tags:
      - DBT_V2
      summary: Get Column Level Lineage
      description: Generates lineage analysis for a dbt_model
      operationId: get_column_level_lineage_dbt_v2_lineage_post
      deprecated: true
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DBTColumnLineageRequestV2'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DBTColumnLineageResponse'
        '400':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 400 Get Column Level Lineage Dbt V2 Lineage Post
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 403 Get Column Level Lineage Dbt V2 Lineage Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /dbt/v2/:
    post:
      tags:
      - DBT_V2
      summary: Dbt Docs Gen
      description: 'Generates Dbt docs for a dbt_model

        :param db: The database session for accessing the database.

        :param auth: The authorization token for the request.

        :param dbt_model: DBTModel.

        :return: DBTDocsGenResponse'
      operationId: dbt_docs_gen_dbt_v2__post
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DBTDocsGenRequestV2'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DBTDocsGenResponse'
        '400':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 400 Dbt Docs Gen Dbt V2  Post
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 403 Dbt Docs Gen Dbt V2  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /dbt/v2/query-analysis/:
    post:
      tags:
      - DBT_V2
      summary: Query Analysis
      operationId: query_analysis_dbt_v2_query_analysis__post
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DBTQueryAnalysisRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '400':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 400 Query Analysis Dbt V2 Query Analysis  Post
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 403 Query Analysis Dbt V2 Query Analysis  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /dbt/v2/follow-up-questions/:
    post:
      tags:
      - DBT_V2
      summary: Generate Follow Up Questions
      operationId: generate_follow_up_questions_dbt_v2_follow_up_questions__post
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DBTQueryFollowUpQuestionsRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '400':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 400 Generate Follow Up Questions Dbt V2 Follow Up Questions  Post
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 403 Generate Follow Up Questions Dbt V2 Follow Up Questions  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /dbt/v2/dbt-test/:
    post:
      tags:
      - DBT_V2
      summary: Generate Dbt Test
      operationId: generate_dbt_test_dbt_v2_dbt_test__post
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DBTTest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '400':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 400 Generate Dbt Test Dbt V2 Dbt Test  Post
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 403 Generate Dbt Test Dbt V2 Dbt Test  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /dbt/v2/bulk_test_gen:
    post:
      tags:
      - DBT_V2
      summary: Dbt Bulk Test Gen
      description: 'Stores event info for bulk test generation

        :param db: The database session for accessing the database.

        :param auth: The authorization token for the request.'
      operationId: dbt_bulk_test_gen_dbt_v2_bulk_test_gen_post
      deprecated: true
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: x-tenant
        in: header
        required: true
        schema:
          type: string
          title: X-Tenant
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DBTBulkTestGenRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse'
        '400':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 400 Dbt Bulk Test Gen Dbt V2 Bulk Test Gen Post
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 403 Dbt Bulk Test Gen Dbt V2 Bulk Test Gen Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    UnifiedMessage:
      properties:
        type:
          $ref: '#/components/schemas/MessageType'
        content:
          type: string
          title: Content
        additional_kwargs:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Additional Kwargs
          default: {}
      type: object
      required:
      - type
      - content
      title: UnifiedMessage
    ColumnDescription:
      properties:
        column_name:
          type: string
          title: Column Name
        column_description:
          type: string
          title: Column Description
        column_citations:
          anyOf:
          - items:
              $ref: '#/components/schemas/Citation'
            type: array
          - type: 'null'
          title: Column Citations
      type: object
      required:
      - column_name
      - column_description
      title: ColumnDescription
    DBTQueryAnalysisRequest:
      properties:
        session_id:
          type: string
          title: Session Id
        model:
          $ref: '#/components/schemas/DBTModel-Input'
        job_type:
          $ref: '#/components/schemas/QueryAnalysisJob'
        user_request:
          anyOf:
          - type: string
          - type: 'null'
          title: User Request
        selected_part:
          anyOf:
          - type: string
          - type: 'null'
          title: Selected Part
        history:
          anyOf:
          - items:
              $ref: '#/components/schemas/UnifiedMessage'
            type: array
          - type: 'null'
          title: History
      type: object
      required:
      - session_id
      - model
      - job_type
      title: DBTQueryAnalysisRequest
    Citation:
      properties:
        id:
          type: string
          title: Id
        content:
          type: string
          title: Content
        taskLabel:
          type: string
          title: Tasklabel
      type: object
      required:
      - id
      - content
      - taskLabel
      title: Citation
    FollowUpInstruction:
      properties:
        instruction:
          anyOf:
          - type: string
          - type: 'null'
          title: Instruction
      type: object
      title: FollowUpInstruction
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    SelectedColumn:
      properties:
        model_node:
          anyOf:
          - $ref: '#/components/schemas/ModelNode'
          - type: 'null'
        column:
          type: string
          title: Column
      type: object
      required:
      - column
      title: SelectedColumn
    SupportedLanguage:
      type: string
      enum:
      - English
      - German
      - French
      - Dutch
      title: SupportedLanguage
    DBTColumnLineageRequestV2:
      properties:
        targets:
          items:
            prefixItems:
            - type: string
            - type: string
            type: array
            maxItems: 2
            minItems: 2
          type: array
          title: Targets
        model_dialect:
          type: string
          title: Model Dialect
        model_info:
          items:
            $ref: '#/components/schemas/ModelInfo'
          type: array
          title: Model Info
        model_schemas:
          anyOf:
          - $ref: '#/components/schemas/Schemas'
          - type: 'null'
        upstream_expansion:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Upstream Expansion
        selected_column:
          anyOf:
          - $ref: '#/components/schemas/SelectedColumn'
          - type: 'null'
        parent_models:
          anyOf:
          - items:
              $ref: '#/components/schemas/ModelInfo'
            type: array
          - type: 'null'
          title: Parent Models
      type: object
      required:
      - targets
      - model_dialect
      - model_info
      title: DBTColumnLineageRequestV2
    DBTModel-Input:
      properties:
        model_name:
          type: string
          title: Model Name
        adapter:
          anyOf:
          - type: string
          - type: 'null'
          title: Adapter
        model_description:
          anyOf:
          - type: string
          - type: 'null'
          title: Model Description
        compiled_sql:
          anyOf:
          - type: string
          - type: 'null'
          title: Compiled Sql
        schedule:
          anyOf:
          - type: string
          - type: 'null'
          title: Schedule
        columns:
          anyOf:
          - items:
              $ref: '#/components/schemas/Column'
            type: array
          - type: 'null'
          title: Columns
        dependencies:
          anyOf:
          - items:
              $ref: '#/components/schemas/DBTModel-Input'
            type: array
          - type: 'null'
          title: Dependencies
      type: object
      required:
      - model_name
      title: DBTModel
    UserInstructions:
      properties:
        prompt_hint:
          anyOf:
          - $ref: '#/components/schemas/PromptHint'
          - type: 'null'
        language:
          anyOf:
          - $ref: '#/components/schemas/SupportedLanguage'
          - type: 'null'
        persona:
          anyOf:
          - $ref: '#/components/schemas/Persona'
          - type: 'null'
      type: object
      title: UserInstructions
    ModelNode:
      properties:
        database:
          anyOf:
          - type: string
          - type: 'null'
          title: Database
        schema_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Schema Name
        package_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Package Name
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        alias:
          type: string
          title: Alias
        uniqueId:
          type: string
          title: Uniqueid
        columns:
          additionalProperties:
            $ref: '#/components/schemas/ModelColumn'
          type: object
          title: Columns
      type: object
      required:
      - alias
      - uniqueId
      - columns
      title: ModelNode
    PromptHint:
      type: string
      enum:
      - short
      - long
      - funny
      - generate
      title: PromptHint
    Column:
      properties:
        column_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Column Name
        data_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Data Type
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        tests:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Tests
      type: object
      title: Column
    DBTDocsGenRequestV2:
      properties:
        columns:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Columns
        dbt_model:
          $ref: '#/components/schemas/DBTModel-Input'
        gen_model_description:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Gen Model Description
        user_instructions:
          anyOf:
          - $ref: '#/components/schemas/UserInstructions'
          - type: 'null'
        follow_up_instructions:
          anyOf:
          - $ref: '#/components/schemas/FollowUpInstruction'
          - type: 'null'
        column_index_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Column Index Count
          default: 1
        session_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Session Id
        is_bulk_gen:
          type: boolean
          title: Is Bulk Gen
          default: false
      type: object
      required:
      - dbt_model
      title: DBTDocsGenRequestV2
    MessageType:
      type: string
      enum:
      - SystemMessage
      - HumanMessage
      title: MessageType
    DBTDocsGenResponse:
      properties:
        model_description:
          anyOf:
          - type: string
          - type: 'null'
          title: Model Description
        column_descriptions:
          anyOf:
          - items:
              anyOf:
              - additionalProperties:
                  type: string
                type: object
              - $ref: '#/components/schemas/ColumnDescription'
            type: array
          - type: 'null'
          title: Column Descriptions
        model_citations:
          anyOf:
          - items:
              $ref: '#/components/schemas/Citation'
            type: array
          - type: 'null'
          title: Model Citations
        chain_of_thought:
          anyOf:
          - type: string
          - type: 'null'
          title: Chain Of Thought
      type: object
      title: DBTDocsGenResponse
    Persona:
      type: string
      enum:
      - Data Analyst
      - Data Engineer
      - Data Scientist
      - Business User
      - General User
      - Technical User
      title: Persona
    QueryAnalysisJob:
      type: string
      enum:
      - explain
      - fix
      - modify
      title: QueryAnalysisJob
    ModelInfo:
      properties:
        model_node:
          $ref: '#/components/schemas/ModelNode'
        compiled_sql:
          anyOf:
          - type: string
          - type: 'null'
          title: Compiled Sql
        raw_sql:
          anyOf:
          - type: string
          - type: 'null'
          title: Raw Sql
      type: object
      required:
      - model_node
      title: ModelInfo
    Schemas:
      properties:
        model_name:
          additionalProperties: true
          type: object
          title: Model Name
      type: object
      required:
      - model_name
      title: Schemas
    DBTQueryFollowUpQuestionsRequest:
      properties:
        model:
          $ref: '#/components/schemas/DBTModel-Input'
        user_request:
          anyOf:
          - type: string
          - type: 'null'
          title: User Request
        job_type:
          $ref: '#/components/schemas/QueryAnalysisJob'
          default: explain
      type: object
      required:
      - model
      title: DBTQueryFollowUpQuestionsRequest
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    DBTColumnLineageResponse:
      properties:
        column_lineage:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Column Lineage
        confidence:
          anyOf:
          - $ref: '#/components/schemas/Confidence'
          - type: 'null'
      type: object
      required:
      - column_lineage
      title: DBTColumnLineageResponse
    StandardResponse:
      properties:
        ok:
          type: boolean
          title: Ok
      type: object
      required:
      - ok
      title: StandardResponse
    DBTTest:
      properties:
        model:
          $ref: '#/components/schemas/DBTModel-Input'
        user_request:
          type: string
          title: User Request
        dbt_expectations:
          type: boolean
          title: Dbt Expectations
          default: false
        dbt_utils:
          type: boolean
          title: Dbt Utils
          default: false
        history:
          anyOf:
          - items:
              $ref: '#/components/schemas/UnifiedMessage'
            type: array
          - type: 'null'
          title: History
        column_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Column Name
      type: object
      required:
      - model
      - user_request
      title: DBTTest
    DBTBulkTestGenRequest:
      properties:
        session_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Session Id
      type: object
      title: DBTBulkTestGenRequest
    ModelColumn:
      properties:
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        data_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Data Type
      type: object
      required:
      - name
      title: ModelColumn
    Confidence:
      properties:
        confidence:
          type: string
          title: Confidence
        operator_list:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Operator List
      type: object
      required:
      - confidence
      title: Confidence
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer