Altimate AI GLOBAL_CONFIG API

The GLOBAL_CONFIG API from Altimate AI — 4 operation(s) for global_config.

OpenAPI Specification

altimate-ai-global-config-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Fast ACCOUNT_COSTS GLOBAL_CONFIG API
  version: 0.1.0
tags:
- name: GLOBAL_CONFIG
paths:
  /global_config/:
    get:
      tags:
      - GLOBAL_CONFIG
      summary: Get Global Config
      description: Get global configuration for query tags or cost attribution
      operationId: get_global_config_global_config__get
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: config_type
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/GlobalConfigType'
          default: query_tag_keys
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 400 Get Global Config Global Config  Get
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 403 Get Global Config Global Config  Get
        '404':
          description: Configuration not found
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 404 Get Global Config Global Config  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - GLOBAL_CONFIG
      summary: Add Query Tag
      description: Add a new query tag to global configuration
      operationId: add_query_tag_global_config__post
      deprecated: true
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddQueryTagRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                title: Response Add Query Tag Global Config  Post
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 400 Add Query Tag Global Config  Post
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 403 Add Query Tag Global Config  Post
        '404':
          description: Configuration not found
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 404 Add Query Tag Global Config  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /global_config/cost-attribution:
    post:
      tags:
      - GLOBAL_CONFIG
      summary: Upsert Cost Attribution
      description: Upsert cost attribution global configuration
      operationId: upsert_cost_attribution_global_config_cost_attribution_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertCostAttributionRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostAttributionResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 400 Upsert Cost Attribution Global Config Cost Attribution Post
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 403 Upsert Cost Attribution Global Config Cost Attribution Post
        '404':
          description: Configuration not found
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 404 Upsert Cost Attribution Global Config Cost Attribution Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - HTTPBearer: []
  /global_config/recipient-email-domain-allowlist:
    get:
      tags:
      - GLOBAL_CONFIG
      summary: Get Email Domain Allowlist
      description: 'Get the per-tenant recipient email-domain allowlist with attribution and

        status. Owner only.'
      operationId: get_email_domain_allowlist_global_config_recipient_email_domain_allowlist_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailDomainAllowlistResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 400 Get Email Domain Allowlist Global Config Recipient Email Domain Allowlist Get
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 403 Get Email Domain Allowlist Global Config Recipient Email Domain Allowlist Get
        '404':
          description: Configuration not found
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 404 Get Email Domain Allowlist Global Config Recipient Email Domain Allowlist Get
      security:
      - HTTPBearer: []
      - HTTPBearer: []
    post:
      tags:
      - GLOBAL_CONFIG
      summary: Add Email Domain
      description: 'Add a domain to the allowlist. Stamps the current user and time, status

        active. Owner only. Invalid or duplicate domains are rejected.'
      operationId: add_email_domain_global_config_recipient_email_domain_allowlist_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddEmailDomainRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailDomainAllowlistResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 400 Add Email Domain Global Config Recipient Email Domain Allowlist Post
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 403 Add Email Domain Global Config Recipient Email Domain Allowlist Post
        '404':
          description: Configuration not found
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 404 Add Email Domain Global Config Recipient Email Domain Allowlist Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - HTTPBearer: []
    patch:
      tags:
      - GLOBAL_CONFIG
      summary: Update Email Domain Status
      description: 'Update a domain''s status (active / paused). Owner only. The

        status value is validated by the request schema.'
      operationId: update_email_domain_status_global_config_recipient_email_domain_allowlist_patch
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmailDomainStatusRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailDomainAllowlistResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 400 Update Email Domain Status Global Config Recipient Email Domain Allowlist Patch
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 403 Update Email Domain Status Global Config Recipient Email Domain Allowlist Patch
        '404':
          description: Configuration not found
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response 404 Update Email Domain Status Global Config Recipient Email Domain Allowlist Patch
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
      - HTTPBearer: []
  /global_config/recipient-email-domain-allowlist/{domain}:
    delete:
      tags:
      - GLOBAL_CONFIG
      summary: Delete Email Domain
      description: Remove a domain from the allowlist. Owner only.
      operationId: delete_email_domain_global_config_recipient_email_domain_allowlist__domain__delete
      security:
      - HTTPBearer: []
      - HTTPBearer: []
      parameters:
      - name: domain
        in: path
        required: true
        schema:
          type: string
          title: Domain
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailDomainAllowlistResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 400 Delete Email Domain Global Config Recipient Email Domain Allowlist  Domain  Delete
        '403':
          description: Not supported for public user
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 403 Delete Email Domain Global Config Recipient Email Domain Allowlist  Domain  Delete
        '404':
          description: Configuration not found
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response 404 Delete Email Domain Global Config Recipient Email Domain Allowlist  Domain  Delete
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    UpsertCostAttributionRequest:
      properties:
        enabled:
          type: boolean
          title: Enabled
          default: false
        mode:
          type: string
          title: Mode
          default: warehouse
      type: object
      title: UpsertCostAttributionRequest
    DomainStatus:
      type: string
      enum:
      - active
      - paused
      title: DomainStatus
    UpdateEmailDomainStatusRequest:
      properties:
        domain:
          type: string
          title: Domain
        status:
          $ref: '#/components/schemas/DomainStatus'
      type: object
      required:
      - domain
      - status
      title: UpdateEmailDomainStatusRequest
    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
    CostAttributionResponse:
      properties:
        enabled:
          type: boolean
          title: Enabled
        mode:
          type: string
          title: Mode
      type: object
      required:
      - enabled
      - mode
      title: CostAttributionResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    AddEmailDomainRequest:
      properties:
        domain:
          type: string
          title: Domain
      type: object
      required:
      - domain
      title: AddEmailDomainRequest
    GlobalConfigType:
      type: string
      enum:
      - summary
      - dbt_s3_prefix
      - query_profile
      - ingestion_worker_config
      - tenant_info
      - audit_s3_prefix
      - snowflake_job
      - altimate_db_and_schema
      - cost_per_credit
      - query_tag_keys
      - altimate_tableau_site
      - cost_attribution
      - knowledge_private_link_enabled
      - use_account_usage
      - snowflake_enterprise
      - instance_edition
      - dbt_ingestion_failures_email
      - skip_dbt_lineage
      - ingestion_config
      - snowflake_ddl_tool
      - cost_projections
      - auto_resize_ignore_list
      - recipient_email_domain_allowlist
      - databricks_service_principal_config
      - infra_savings_multiplier
      title: GlobalConfigType
    AddQueryTagRequest:
      properties:
        tag:
          type: string
          title: Tag
      type: object
      required:
      - tag
      title: AddQueryTagRequest
    EmailDomainAllowlistResponse:
      properties:
        domains:
          items:
            $ref: '#/components/schemas/EmailDomainEntry'
          type: array
          title: Domains
      type: object
      required:
      - domains
      title: EmailDomainAllowlistResponse
    EmailDomainEntry:
      properties:
        domain:
          type: string
          title: Domain
        added_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Added By
        added_at:
          anyOf:
          - type: string
          - type: 'null'
          title: Added At
        status:
          $ref: '#/components/schemas/DomainStatus'
      type: object
      required:
      - domain
      - status
      title: EmailDomainEntry
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer