# Postinger > Publish and measure social content with the Postinger CLI, MCP server, and API. - [Build with Postinger](https://docs.postinger.dev/introduction.md): One publishing workflow, three ways to use it. - [Your first draft](https://docs.postinger.dev/quickstart.md): Choose the interface that fits your workflow. - [Publish a post](https://docs.postinger.dev/guides/publishing.md): Move from ready media to a verified publication. - [Upload media](https://docs.postinger.dev/guides/media.md): Transfer files to storage, validate them, then attach their IDs. - [Schedule and edit](https://docs.postinger.dev/guides/scheduling.md): Use explicit time zones and preserve the fields you do not change. - [Read analytics](https://docs.postinger.dev/guides/analytics.md): Understand stored metrics, missing values, and date ranges. - [Authentication and permissions](https://docs.postinger.dev/guides/authentication.md): Authorize one project and grant the access your integration needs. - [Pagination and filtering](https://docs.postinger.dev/guides/pagination.md): Read beyond the first page without losing your place. - [Retries, limits, and errors](https://docs.postinger.dev/guides/retries-and-errors.md): Recover from failures without creating duplicate work. - [CLI quickstart](https://docs.postinger.dev/cli/quickstart.md): Install Postinger and create a draft from a local file. - [CLI authentication](https://docs.postinger.dev/cli/authentication.md): Browser sessions, API keys, and choosing a server. - [CLI command reference](https://docs.postinger.dev/cli/commands.md): Commands and flags generated from the Postinger CLI. - [Automate with the CLI](https://docs.postinger.dev/cli/automation.md): Use structured output, JSON input, and stable retry keys. - [Connect with MCP](https://docs.postinger.dev/mcp/quickstart.md): Give your AI assistant access to a Postinger project. - [MCP tool reference](https://docs.postinger.dev/mcp/tools.md): Available tools, input shapes, and required permissions. - [MCP examples](https://docs.postinger.dev/mcp/examples.md): Practical prompts and tool calls for common tasks. - [Local MCP server](https://docs.postinger.dev/mcp/local-server.md): Use the optional stdio server with an existing CLI login. - [API overview](https://docs.postinger.dev/api-reference/overview.md): Project-scoped HTTP endpoints with a generated OpenAPI reference. - [API quickstart](https://docs.postinger.dev/api-reference/quickstart.md): Verify your key, find an account, and create a draft. - [Verify API credentials and inspect project, expiry and effective permissions](https://docs.postinger.dev/api-reference/authentication/verify-api-credentials-and-inspect-project-expiry-and-effective-permissions.md): Requires a valid active API key, with no resource permission required. Does not return credentials. - [Read current publishing rules and account availability](https://docs.postinger.dev/api-reference/accounts/read-current-publishing-rules-and-account-availability.md): Required permissions: accounts-read. - [List connected accounts](https://docs.postinger.dev/api-reference/accounts/list-connected-accounts.md): Required permissions: accounts-read. - [List supported analytics metrics and platforms](https://docs.postinger.dev/api-reference/analytics/list-supported-analytics-metrics-and-platforms.md): Required permissions: analytics-read. Reads stored measurements only; never triggers collection. Counters are decimal strings; null means missing data, not zero. generatedAt is the response time, collectedAt is the measurement time. enabled indicates whether a platform currently supports analytics c… - [Read account analytics report](https://docs.postinger.dev/api-reference/analytics/read-account-analytics-report.md): Required permissions: analytics-read. Reads stored measurements only; never triggers collection. Counters are decimal strings; null means missing data, not zero. generatedAt is the response time, collectedAt is the measurement time. Optionally filter by accountId and platform. Unsupported or disable… - [Read account counters and daily analytics](https://docs.postinger.dev/api-reference/analytics/read-account-counters-and-daily-analytics.md): Required permissions: analytics-read. Reads stored measurements only; never triggers collection. Counters are decimal strings; null means missing data, not zero. generatedAt is the response time, collectedAt is the measurement time. Account counters are the latest stored totals, regardless of date r… - [List published post performance](https://docs.postinger.dev/api-reference/analytics/list-published-post-performance.md): Required permissions: analytics-read. Reads stored measurements only; never triggers collection. Counters are decimal strings; null means missing data, not zero. generatedAt is the response time, collectedAt is the measurement time. Dates filter publication time, not metric collection time; values a… - [Read post measurement history](https://docs.postinger.dev/api-reference/analytics/read-post-measurement-history.md): Required permissions: analytics-read. Reads stored measurements only; never triggers collection. Counters are decimal strings; null means missing data, not zero. generatedAt is the response time, collectedAt is the measurement time. Returns up to the latest 1000 retained observations, oldest first.… - [List posts](https://docs.postinger.dev/api-reference/posts/list-posts.md): Required permissions: posts-read. Returns data.items and data.nextCursor. Send nextCursor as after on the next request; the final full page may be followed by an empty page. For backward navigation send the first visible post ID as before. Use after or before, never both. Keep filters and sort uncha… - [Create a draft or scheduled post](https://docs.postinger.dev/api-reference/posts/create-a-draft-or-scheduled-post.md): Required permissions: posts-write. - [Get post and per-account publishing status](https://docs.postinger.dev/api-reference/posts/get-post-and-per-account-publishing-status.md): Required permissions: posts-read. - [Delete a post](https://docs.postinger.dev/api-reference/posts/delete-a-post.md): Required permissions: posts-delete. - [Edit a post](https://docs.postinger.dev/api-reference/posts/edit-a-post.md): Required permissions: posts-write. Editing a scheduled post or setting a non-null scheduledAt also requires posts-publish. Provide at least one field. Set scheduledAt to null to return an editable scheduled post to draft. - [Request immediate publication](https://docs.postinger.dev/api-reference/posts/request-immediate-publication.md): Required permissions: posts-publish. - [Create an image or video upload](https://docs.postinger.dev/api-reference/media/create-an-image-or-video-upload.md): Required permissions: media-write. - [Get media status](https://docs.postinger.dev/api-reference/media/get-media-status.md): Required permissions: media-read. - [Validate the uploaded file](https://docs.postinger.dev/api-reference/media/validate-the-uploaded-file.md): Required permissions: media-write. - [Sign parts, list parts, complete or abort a large video upload](https://docs.postinger.dev/api-reference/media/sign-parts-list-parts-complete-or-abort-a-large-video-upload.md): Required permissions: media-write. ## OpenAPI Specs - [openapi](/api-reference/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.