---
title: "Read plan, features and publishing quotas"
method: GET
path: "/account-context"
tags: ["Posts"]
---

# Read plan, features and publishing quotas

`GET /account-context`

## Request

- Base URL: `https://api.publora.com/api/v1`
- URL: `https://api.publora.com/api/v1/account-context`
- Auth: API key in header `x-publora-key`

Read-only snapshot of the personal account behind the API key (or the
managed user named by `x-publora-user-id`): plan, available features,
publishing quotas, schedule horizon and allowed platforms. Call it before
a batch of posts and after a quota or feature error. Quotas count platform
posts; `limit: null` means unlimited. The snapshot is advisory
(`advisory: true`): it reserves nothing, and every write is checked again.
The MCP tool `account_context` returns the same object.

## Query parameters

- `scheduledTime` string, date-time

## Headers

- `x-publora-user-id` string

## Response `200`

Account context snapshot

- object
  - `success` boolean
  - `context` AccountContext
    - `plane` 'personal'
    - `actorUserId` string
    - `snapshotAt` string, date-time
    - `serverTime` string, date-time
    - `effectiveQuotaTime` string, date-time: The date used to select the monthly quota period
    - `plan` object
      - `key` string
      - `name` string
      - `source` string
    - `features` object
      - `publishing` boolean
      - `apiAccess` boolean
      - `mcpAccess` boolean
      - `analytics` boolean: Needed by the Mastodon and Bluesky statistics endpoints
      - `mentionables` boolean: Needed by the LinkedIn mentionables endpoint
    - `quotas` object
      - `monthlyPosts` object
        - `metric` string
        - `scope` 'account' | 'connection': `account`: one shared limit. `connection`: a separate limit for each connection.
        - `usageScope` string
        - `unit` 'platform_post' | 'day' | 'channel'
        - `limit` integer, nullable: null means unlimited
        - `used` integer
        - `remaining` integer, nullable: null when unlimited, or when scope is connection (read connections[])
        - `resetAt` string, date-time, nullable
        - `periodStart` string, date-time
        - `periodEnd` string, date-time
        - `periodTimeZone` string
        - `connections` object[]: Per-connection usage when scope is connection; otherwise empty
          - `platformSelection` string
          - `used` integer
          - `limit` integer, nullable
          - `remaining` integer, nullable
      - `scheduledPosts` AccountQuota
        - `metric` string
        - `scope` 'account' | 'connection': `account`: one shared limit. `connection`: a separate limit for each connection.
        - `usageScope` string
        - `unit` 'platform_post' | 'day' | 'channel'
        - `limit` integer, nullable: null means unlimited
        - `used` integer
        - `remaining` integer, nullable: null when unlimited, or when scope is connection (read connections[])
        - `resetAt` string, date-time, nullable
      - `scheduleHorizon` object
        - `metric` string
        - `unit` string
        - `limit` integer, nullable
        - `maxScheduledDate` string, date-time, nullable: Latest time a post can be scheduled; null when there is no horizon
        - `resetAt` string, nullable
      - `connections` AccountQuota
        - `metric` string
        - `scope` 'account' | 'connection': `account`: one shared limit. `connection`: a separate limit for each connection.
        - `usageScope` string
        - `unit` 'platform_post' | 'day' | 'channel'
        - `limit` integer, nullable: null means unlimited
        - `used` integer
        - `remaining` integer, nullable: null when unlimited, or when scope is connection (read connections[])
        - `resetAt` string, date-time, nullable
    - `allowedPlatforms` string[], nullable: Platform types the plan allows; null means all platforms
    - `advisory` boolean: Always true; the snapshot reserves nothing

## Other responses

- `400`: Malformed scheduledTime
- `401`: Invalid API key
- `403`: API access is not enabled for this account
- `500`: Failed to read account context

## Changes

- **2026-10-14** `ca83a1bb0203`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/publora/apis/publora-api/changes/account-context/get.md)

---

[API](https://skmtc.dev/publora/apis/publora-api.md) - [All operations](https://skmtc.dev/publora/apis/publora-api/llms.txt) - [OpenAPI document](https://skmtc.dev/publora/apis/publora-api/revisions/f93f96e52798?raw)
