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

# Start Connection Metadata Job

> Queue metadata computation for a connection and return a job id to poll, instead of blocking on a long read



## OpenAPI

````yaml post /v1/api/connection/compute-metadata-job
openapi: 3.1.0
info:
  title: Upsolve API
  version: 1.5.0
servers:
  - url: https://api.upsolve.ai
security: []
tags: []
paths:
  /v1/api/connection/compute-metadata-job:
    post:
      summary: Start a connection metadata job
      description: >-
        Queue metadata computation for a connection and return a job id to poll,
        instead of blocking on a long read
      operationId: PostV1ApiConnectionComputeMetadataJob
      requestBody:
        description: POST /v1/api/connection/compute-metadata-job Request body
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties:
                    apiKey:
                      description: >-
                        Upsolve API key, generated under Account → Developer
                        settings in the Upsolve Hub. Keys are user-scoped: pass
                        organizationId alongside the key to select which org to
                        act on.
                      type: string
                      minLength: 1
                    organizationId:
                      type: string
                      description: >-
                        The ID of the organization. Required when using Supabase
                        JWT authentication.
                    connectionId:
                      type: string
                      description: The ID of the connection a guest has access to
                - type: object
                  properties: {}
                - type: object
                  properties: {}
                - type: object
                  properties:
                    connectionId:
                      type: string
                      description: The ID of the connection to compute metadata for
                    projectId:
                      type: string
                    mode:
                      default: v2
                      type: string
                      enum:
                        - v1
                        - v2
                    catalogNames:
                      type: array
                      items:
                        type: string
                    schemaNames:
                      type: array
                      items:
                        type: string
                    keepQueries:
                      type: boolean
                    refreshConnectionSchema:
                      type: boolean
                    dataModelId:
                      type: string
                      format: uuid
                      pattern: >-
                        ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                    dataModelVersion:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                  required:
                    - connectionId
        required: true
      responses:
        '200':
          description: POST /v1/api/connection/compute-metadata-job Positive response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    const: success
                  data:
                    type: object
                    properties:
                      jobId:
                        type: string
                      status:
                        type: string
                        enum:
                          - pending
                          - processing
                          - completed
                          - failed
                      reused:
                        type: boolean
                        description: >-
                          True when an identical request was already running and
                          this call joined it instead of starting a second
                          catalog read
                    required:
                      - jobId
                      - status
                      - reused
                    additionalProperties: false
                required:
                  - status
                  - data
                additionalProperties: false
        '400':
          description: POST /v1/api/connection/compute-metadata-job Negative response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    const: error
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                      code:
                        type: string
                      details:
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                    required:
                      - message
                    additionalProperties: false
                required:
                  - status
                  - error
                additionalProperties: false
      security:
        - APIKEY_3: []
components:
  securitySchemes:
    APIKEY_3:
      type: apiKey
      in: header
      name: authorization

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.