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

> ## Agent Instructions
> PostQueen's hosted API is https://api.postqueen.ai. The public API base is https://api.postqueen.ai/public/v1 and takes the raw API key in the Authorization header, with no Bearer prefix.
> The MCP server for posting is https://api.postqueen.ai/mcp/YOUR_API_KEY (or /mcp with Authorization: Bearer YOUR_API_KEY). docs.postqueen.ai/mcp only searches these docs and cannot post.
> The API key is under Connections > API Keys in the app, and only workspace admins can see it.

# Who am I

> The workspace your key or token belongs to, and for an OAuth token the person who approved it.

Use it to show which workspace your app or your API key is connected to, for example on your app's settings screen.

* **With an API key**, `user` is `null`. The key belongs to the whole workspace, not to one person.
* **With an OAuth access token**, `user` is the person who approved your app: their `id`, `name` and `picture`. See [OAuth apps](/public-api/oauth).

To test only that a key works, [Check the API key](/public-api/integrations/is-connected) is enough.


## OpenAPI

````yaml GET /me
openapi: 3.1.0
info:
  title: PostQueen Public API
  version: 1.0.0
  license:
    name: MIT
    identifier: MIT
  description: >-
    Schedule posts, upload media, read analytics and manage the channels of your
    PostQueen workspace.


    ## Authentication


    Send your API key in the `Authorization` header exactly as it is, with no
    prefix:


    ```

    Authorization: YOUR_API_KEY

    ```


    The key is under **Connections > API Keys** in the app. Only a workspace
    Admin or Super Admin can reveal or rotate it. An app your users sign in to
    with OAuth sends its `pos_` access token in the same header, also with no
    prefix. The workspace needs a subscription, and the free trial counts.


    ## Rate limits


    A workspace can send 30 `POST /posts` requests an hour. A request refused
    with `400` or `422` during validation gets its slot back; one refused once
    the posts are being created counts. `POST /upload` and `POST
    /upload-from-url` allow 300 requests an hour each, per workspace. Nothing
    else is limited. A limited endpoint answers with `X-RateLimit-Limit`,
    `X-RateLimit-Remaining` and `X-RateLimit-Reset` headers, and over the limit
    with `429` and `Retry-After` (seconds).


    ## Terminology


    The app says channel, the API says integration. They are the same thing: a
    connected account on a network.
servers:
  - url: https://api.postqueen.ai/public/v1
    description: PostQueen
security:
  - ApiKeyAuth: []
tags:
  - name: Channels
    description: Connected channels. The API calls them integrations.
  - name: Posts
    description: Create, list, change and delete posts
  - name: Media
    description: Upload files to the media library
  - name: Clipping
    description: >-
      Turn a YouTube video into short vertical clips. Not available on PostQueen
      yet
  - name: AI video
    description: Generate a video with AI into the media library
  - name: Analytics
    description: Channel and post metrics
  - name: Notifications
    description: The workspace's notifications
  - name: OAuth
    description: Sign-in for apps that act for other PostQueen workspaces
paths:
  /me:
    get:
      tags:
        - Channels
      summary: Who am I
      description: >-
        The workspace the key or token belongs to, and for an OAuth access token
        the person who approved it. An API key belongs to the whole workspace,
        so `user` is `null` for a key.
      operationId: getMe
      responses:
        '200':
          description: The workspace, and the approving user for an OAuth token
          content:
            application/json:
              schema:
                type: object
                properties:
                  organization:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                  user:
                    type:
                      - object
                      - 'null'
                    description: '`null` for an API key'
                    properties:
                      id:
                        type: string
                      name:
                        type:
                          - string
                          - 'null'
                      picture:
                        type:
                          - string
                          - 'null'
                        description: Profile picture URL
              examples:
                apiKey:
                  summary: An API key
                  value:
                    organization:
                      id: cmg1oxa1b0000qz0h3f9e2c7d
                      name: Acme
                    user: null
                oauth:
                  summary: An OAuth access token
                  value:
                    organization:
                      id: cmg1oxa1b0000qz0h3f9e2c7d
                      name: Acme
                    user:
                      id: cmg1oxb2c0001qz0h5g8f3d1e
                      name: Sam Lee
                      picture: https://cdn.example.com/sam.png
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: >-
        `No API Key found`, `Invalid API key`, `Invalid OAuth token`, or `No
        subscription found` when the workspace has no subscription
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MessageError'
          example:
            msg: Invalid API key
  schemas:
    MessageError:
      type: object
      description: The error shape of most checks written into the public API itself
      properties:
        msg:
          type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Your API key from Connections > API Keys, or an OAuth access token
        (`pos_...`). Send it as it is, with no `Bearer` prefix.

````

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