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

# Get an assistant's publish state

> Where `draft` and `prod` point, without any config. `prod` is absent until the first publish. When `draft.version` is ahead of `prod.version`, the draft has edits that calls don't run yet.



## OpenAPI

````yaml /voice-agents/api-reference/openapi.yaml get /realtime-assistants/{realtimeAssistantId}/metadata
openapi: 3.1.0
info:
  title: UpliftAI Voice Agents API
  version: '1.0'
  description: >-
    Build voice assistants, start conversations on the web or the phone, run
    calling campaigns, and receive outcomes by webhook. All endpoints take a
    bearer API key unless noted otherwise.
servers:
  - url: https://api.upliftai.org/v1
security:
  - apiKey: []
tags:
  - name: Assistants
  - name: Authoring an assistant
  - name: Starting a conversation
  - name: Sessions & call records
  - name: Campaigns
  - name: Campaign outcomes
  - name: Contacts
  - name: Google Sheet sources
  - name: Integrations & delivery health
paths:
  /realtime-assistants/{realtimeAssistantId}/metadata:
    get:
      tags:
        - Assistants
      summary: Get an assistant's publish state
      description: >-
        Where `draft` and `prod` point, without any config. `prod` is absent
        until the first publish. When `draft.version` is ahead of
        `prod.version`, the draft has edits that calls don't run yet.
      operationId: getAssistantPublishState
      parameters:
        - name: realtimeAssistantId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          example: 0f4a91d3-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      responses:
        '200':
          description: The assistant's aliases.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssistantPublishState'
              examples:
                unpublishedEdits:
                  summary: Published at 11, draft saved since
                  value:
                    realtimeAssistantId: 0f4a91d3-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                    name: Edversity admissions follow-up
                    description: Calls warm leads about the cybersecurity programme
                    aliases:
                      draft:
                        version: 14
                        updatedAt: '2026-08-18T10:02:47.883Z'
                        updatedBy: d9164fbd-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                      prod:
                        version: 11
                        updatedAt: '2026-08-18T09:58:03.120Z'
                        updatedBy: d9164fbd-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                neverPublished:
                  summary: Never published, so every save is live
                  value:
                    realtimeAssistantId: 26932cc0-xxxx-xxxx-xxxx-xxxxxxxxxxxx
                    name: Shifa Clinic appointment confirmation
                    description: Confirms next-day appointments for Shifa Clinic patients
                    aliases:
                      draft:
                        version: 1
                        updatedAt: '2026-08-18T02:05:22.029Z'
                        updatedBy: ef80cc74-xxxx-xxxx-xxxx-xxxxxxxxxxxx
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    AssistantPublishState:
      type: object
      properties:
        realtimeAssistantId:
          type: string
          format: uuid
        name:
          type: string
          description: The draft's name.
        description:
          type: string
        aliases:
          $ref: '#/components/schemas/AssistantAliases'
    AssistantAliases:
      type: object
      properties:
        draft:
          allOf:
            - $ref: '#/components/schemas/AssistantAlias'
          description: The copy you edit. Every save moves it.
        prod:
          allOf:
            - $ref: '#/components/schemas/AssistantAlias'
          description: >-
            What calls run by default. Absent until the first publish, and until
            then calls run the draft.
      required:
        - draft
    Error:
      type: object
      properties:
        message:
          description: >-
            One message per failed field for validation errors, a single string
            otherwise.
          oneOf:
            - type: string
            - type: array
              items:
                type: string
        error:
          type: string
        statusCode:
          type: integer
    AssistantAlias:
      type: object
      description: Where an alias points, and who last moved it.
      properties:
        version:
          type: integer
          minimum: 1
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
          description: The API key or portal user that saved or published.
  responses:
    Unauthorized:
      description: A bearer key was sent but is not recognized.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: invalid authorization
            error: Unauthorized
            statusCode: 401
    Forbidden:
      description: No API key sent, or the key lacks permission for this resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: Forbidden resource
            error: Forbidden
            statusCode: 403
    NotFound:
      description: No such resource in the API key's project.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            message: 'Realtime assistant not found: 00000000-0000-4000-8000-000000000000'
            error: Not Found
            statusCode: 404
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: Project API key (`sk_api_…`).

````