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

# Get a draft

> Read a draft's text, selected accounts, overrides and ordered media.

Read access: a read-enabled personal or team REST API key, or a signed-in user. OAuth clients use the corresponding MCP tool through /mcp.

Read a draft's text, selected accounts, overrides and ordered media.

Resolved media and mediaOverrides contain media objects. Saving uses mediaIds and mediaOverrides containing IDs.

MCP clients can use [`get_draft`](/mcp-reference/get_draft) for this operation.

[Request conventions](/api-reference/overview) · [API keys](/api-keys) · [MCP connections](/mcp-connections)


## OpenAPI

````yaml api-reference/openapi.json GET /api/drafts/{draftId}
openapi: 3.1.0
info:
  title: Posted HTTP API
  version: 0.2.0
  description: >-
    All registered application, account, OAuth, MCP transport and health
    endpoints. Publishing and draft request schemas come from the shared runtime
    validators. Replace the example server with your installation. Documentation
    uses simple request examples and does not execute live publishing requests.
servers:
  - url: https://posted-api.example.com
security: []
paths:
  /api/drafts/{draftId}:
    get:
      tags:
        - Drafts
      summary: Get a draft
      description: >-
        Read a draft's text, selected accounts, overrides and ordered media.


        Resolved media and mediaOverrides contain media objects. Saving uses
        mediaIds and mediaOverrides containing IDs.


        Read access: a read-enabled personal or team REST API key, or a
        signed-in user. OAuth clients use the corresponding MCP tool through
        /mcp.
      operationId: get_api_drafts_by_draftId
      parameters:
        - name: draftId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: >-
            The draftId from the corresponding list, record or authorization
            response.
      responses:
        '200':
          description: >-
            Successful response. Examples are illustrative; field values vary by
            record.
          content:
            application/json:
              schema:
                type: object
                properties:
                  draft:
                    type: object
                    properties:
                      id:
                        type: string
                      text:
                        type: string
                      additionalPosts:
                        type: array
                        items: {}
                      mediaOverrides:
                        type: object
                        properties: {}
                        additionalProperties: true
                      textOverrides:
                        type: object
                        properties: {}
                        additionalProperties: true
                      connectionIds:
                        type: array
                        items:
                          type: string
                      connections:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            provider:
                              type: string
                            accountId:
                              type: string
                            name:
                              type: string
                            handle:
                              type: string
                            avatarUrl:
                              type:
                                - string
                                - 'null'
                            state:
                              type: string
                            createdAt:
                              type: string
                          additionalProperties: true
                      media:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            fileName:
                              type: string
                            contentType:
                              type: string
                            sizeBytes:
                              type: integer
                            width:
                              type: integer
                            height:
                              type: integer
                            alt:
                              type: string
                            durationSeconds:
                              type:
                                - string
                                - 'null'
                          additionalProperties: true
                      version:
                        type: integer
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                      draftedBy:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          avatarUrl:
                            type:
                              - string
                              - 'null'
                        additionalProperties: true
                    additionalProperties: true
                additionalProperties: true
              example:
                draft:
                  id: 33333333-3333-4333-8333-333333333333
                  text: An unfinished studio update.
                  additionalPosts: []
                  mediaOverrides: {}
                  textOverrides: {}
                  connectionIds:
                    - 11111111-1111-4111-8111-111111111111
                  connections:
                    - id: 11111111-1111-4111-8111-111111111111
                      provider: bluesky
                      accountId: did:plc:example
                      name: Alex Morgan
                      handle: alex.example.test
                      avatarUrl: null
                      state: connected
                      createdAt: '2027-01-18T09:30:00.000Z'
                  media:
                    - id: 44444444-4444-4444-8444-444444444444
                      fileName: studio.jpg
                      contentType: image/jpeg
                      sizeBytes: 245760
                      width: 1600
                      height: 900
                      alt: A bright studio desk beside a window
                      durationSeconds: null
                  version: 1
                  createdAt: '2027-01-18T09:30:00.000Z'
                  updatedAt: '2027-01-18T09:30:00.000Z'
                  draftedBy:
                    id: 66666666-6666-4666-8666-666666666666
                    name: Alex Morgan
                    avatarUrl: null
        default:
          description: >-
            Request failure. Inspect code, message and requestId; respect
            Retry-After on HTTP 429.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
        - sessionCookie: []
components:
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - requestId
          properties:
            code:
              type: string
            message:
              type: string
            requestId:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Personal or team Posted REST API key
    sessionCookie:
      type: apiKey
      in: cookie
      name: posted_session
      description: >-
        Signed-in human browser session; mutation requests also need the exact
        UI Origin

````

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