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

# List drafts

> Lists unscheduled drafts owned by the authenticated API-key profile.



## OpenAPI

````yaml /openapi/public-api.yaml get /v1/drafts
openapi: 3.1.0
info:
  title: PostOnce Public API
  version: 1.0.0-alpha
  description: Public API for PostOnce paid users
servers:
  - url: https://postonce.to/api/public
security:
  - bearerAuth: []
paths:
  /v1/drafts:
    get:
      summary: List drafts
      description: Lists unscheduled drafts owned by the authenticated API-key profile.
      parameters:
        - $ref: '#/components/parameters/listLimit'
        - $ref: '#/components/parameters/listAfter'
        - name: after_id
          in: query
          required: false
          schema:
            type: string
            format: uuid
          description: >-
            Stable ID tie-breaker returned as meta.next_after_id. Send it with
            after to avoid skipping drafts that share the same updated_at
            timestamp.
        - name: status
          in: query
          required: false
          schema:
            type: string
            enum:
              - inbox
              - ready
              - archived
      responses:
        '200':
          description: Drafts returned successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Draft'
                  meta:
                    type: object
                    additionalProperties: true
        '401':
          description: Missing, invalid, revoked, or expired API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthErrorResponse'
components:
  parameters:
    listLimit:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 100
      description: Maximum number of items to return.
    listAfter:
      name: after
      in: query
      required: false
      schema:
        type: string
      description: Cursor returned by a previous list response.
  schemas:
    Draft:
      type: object
      properties:
        id:
          type: string
        content:
          type: string
        candidate_angle:
          type: string
        media:
          type: array
          items:
            $ref: '#/components/schemas/DraftMediaInput'
      selected_account_ids:
        type: array
        uniqueItems: true
        items:
          type: string
          format: uuid
        suggested_platforms:
          type: array
          items:
            type: string
        source_type:
          type: string
      status:
        type: string
        enum:
          - inbox
          - ready
          - scheduled
          - archived
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    AuthErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: invalid_api_key
            message:
              type: string
              example: Invalid API key.
            hint:
              type: string
              description: Suggested action to resolve the error.
    DraftMediaInput:
      type: object
      additionalProperties: false
      required:
        - type
        - url
      properties:
        url:
          type: string
        type:
          type: string
          enum:
            - image
            - video
        file_name:
          type: string
        mime_type:
          type: string
        width:
          type: integer
          minimum: 0
        height:
          type: integer
          minimum: 0
        size:
          type: integer
          minimum: 0
        duration:
          type: number
          minimum: 0
        thumbnail_url:
          type: string
          nullable: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Scoped API key issued in PostOnce Settings. OAuth authorization grants
        are not currently supported.
      x-scopes:
        accounts:read: List and read connected accounts.
        accounts:write: Connect and disconnect social accounts.
        media:read: Read uploaded media.
        media:write: Upload media.
        posts:read: Read posts and unpublished drafts.
        posts:write: Create, update, publish, cancel, retry, and delete posts and drafts.
        workflows:read: List and read crossposting workflows.
        workflows:write: Create, update, and delete crossposting workflows.

````