# Ordinal Knowledge Base ## Docs - [Billing & Plans](https://docs.tryordinal.com/account/subscription-plans.md) - [User Preferences](https://docs.tryordinal.com/account/user-preferences.md) - [Create workspace API key](https://docs.tryordinal.com/agency-api-reference/api-keys/create-workspace-api-key.md): Create an API key for a specific workspace. The key can be used to access workspace-specific endpoints. - [List workspace API keys](https://docs.tryordinal.com/agency-api-reference/api-keys/list-workspace-api-keys.md): List all active API keys for a specific workspace - [Create workspace](https://docs.tryordinal.com/agency-api-reference/workspaces/create-workspace.md): Create a new workspace in the company - [Get workspace](https://docs.tryordinal.com/agency-api-reference/workspaces/get-workspace.md): Get a specific workspace by ID - [List workspaces](https://docs.tryordinal.com/agency-api-reference/workspaces/list-workspaces.md): List all workspaces in the company - [Authentication](https://docs.tryordinal.com/agency-api/authentication.md): Secure your Agency API requests with company API keys - [Introduction](https://docs.tryordinal.com/agency-api/introduction.md): Programmatically manage multiple workspaces with the Agency API - [Analytics](https://docs.tryordinal.com/analytics/overview.md) - [Shortlinks](https://docs.tryordinal.com/analytics/shortlinks.md) - [Get CPM Values](https://docs.tryordinal.com/api-reference/analytics/get-cpm-values.md): Retrieve the current CPM (Cost Per Mille) values used for EMV (Earned Media Value) calculations across all platforms. CPM values represent the cost per 1,000 impressions for each social media platform. - [LinkedIn follower growth](https://docs.tryordinal.com/api-reference/analytics/linkedin-follower-growth.md): Retrieve follower count history for a LinkedIn profile - [LinkedIn post analytics](https://docs.tryordinal.com/api-reference/analytics/linkedin-post-analytics.md): Retrieve post analytics for a LinkedIn profile within a date range. When a post was published from Ordinal, the response includes an ordinalPost object with the linked post's id, title, labels, and campaign. For personal profiles, the response also includes saveCount (times the post was saved) and s… - [Update CPM Values](https://docs.tryordinal.com/api-reference/analytics/update-cpm-values.md): Update the CPM (Cost Per Mille) values used for EMV (Earned Media Value) calculations. You can update one or more platform CPM values in a single request. Only provide the platforms you want to update. - [X follower growth](https://docs.tryordinal.com/api-reference/analytics/x-follower-growth.md): Retrieve follower count history for an X profile - [X post analytics](https://docs.tryordinal.com/api-reference/analytics/x-post-analytics.md): Retrieve post analytics for an X profile within a date range. When a post was published from Ordinal, the response includes an ordinalPost object with the linked post's id, title, labels, and campaign. - [Create approval requests](https://docs.tryordinal.com/api-reference/approvals/create-approval-requests.md): Create one or more approval requests for a post - [Delete approval](https://docs.tryordinal.com/api-reference/approvals/delete-approval.md): Delete an approval request - [List post approvals](https://docs.tryordinal.com/api-reference/approvals/list-post-approvals.md): List all approval requests for a specific post - [Create a comment on a post](https://docs.tryordinal.com/api-reference/comments/create-a-comment-on-a-post.md): Add a comment to a post. Supports @mentions using the format `@[Display Name](userId)`. Tagged users must be workspace members. The commenter and any tagged users are automatically subscribed to the post. - [Delete a comment](https://docs.tryordinal.com/api-reference/comments/delete-a-comment.md): Delete a comment from a post. Only the author of the comment can delete it. - [List post comments](https://docs.tryordinal.com/api-reference/comments/list-post-comments.md): List all comments on a post, ordered by creation time (oldest first) - [Create for a post](https://docs.tryordinal.com/api-reference/engagements/create-for-a-post.md): Add engagements (likes, comments, reposts) to a post. Engagements will be executed automatically when the post is published. - [Delete an engagement](https://docs.tryordinal.com/api-reference/engagements/delete-an-engagement.md): Remove an auto-engagement from a post - [List for a post](https://docs.tryordinal.com/api-reference/engagements/list-for-a-post.md): List all engagements (likes, comments, reposts) configured for a specific post - [Update an engagement](https://docs.tryordinal.com/api-reference/engagements/update-an-engagement.md): Update an existing engagement's copy, delay, profile, or reaction type. - [Get upload status](https://docs.tryordinal.com/api-reference/file-uploads/get-upload-status.md): Returns the current status and metadata of an upload. Poll this endpoint until status is 'ready', then use the returned assetId when creating posts. - [Upload a file from a URL](https://docs.tryordinal.com/api-reference/file-uploads/upload-a-file-from-a-url.md): Uploads a file by downloading it from the provided URL. The file will be processed asynchronously. Poll the GET endpoint to check when it's ready, then use the returned assetId in post creation. - [Add idea to calendar](https://docs.tryordinal.com/api-reference/ideas/add-idea-to-calendar.md): Convert an idea to a calendar post by assigning it a publish date. The idea becomes a regular post that can be scheduled. - [Archive idea](https://docs.tryordinal.com/api-reference/ideas/archive-idea.md): Archive an idea by ID. The idea is moved to Trash and will be permanently deleted after 30 days. Use the unarchive endpoint to restore it. - [Create idea](https://docs.tryordinal.com/api-reference/ideas/create-idea.md): Create a new idea in the workspace. At least one channel (linkedIn or x) is required. - [Get idea](https://docs.tryordinal.com/api-reference/ideas/get-idea.md): Get a single idea by ID. - [List ideas](https://docs.tryordinal.com/api-reference/ideas/list-ideas.md): List all ideas in the workspace with pagination and filtering. Archived ideas are excluded from results. - [Unarchive idea](https://docs.tryordinal.com/api-reference/ideas/unarchive-idea.md): Restore an archived idea from Trash. The idea will no longer be scheduled for permanent deletion. - [Update idea](https://docs.tryordinal.com/api-reference/ideas/update-idea.md): Update an existing idea by ID. All fields are optional - only include the fields you want to update. Archived ideas cannot be updated; unarchive them first. - [List inline comments on a post](https://docs.tryordinal.com/api-reference/inline-comments/list-inline-comments-on-a-post.md): Returns inline comments (text-anchored comments) from all channels on a post. Optionally filter by channel or resolution status. - [Search Instagram locations](https://docs.tryordinal.com/api-reference/instagram/search-instagram-locations.md): Search for locations to tag in Instagram posts. Requires at least one Instagram profile connected to the workspace. - [Create an invite](https://docs.tryordinal.com/api-reference/invites/create-an-invite.md): Invite a user to the workspace by email. If the user already has an Ordinal account, they will be added to the workspace immediately. Otherwise, an invite email will be sent. - [Delete an invite](https://docs.tryordinal.com/api-reference/invites/delete-an-invite.md): Delete a pending invite. This will prevent the invited user from joining the workspace using this invite. - [List pending invites](https://docs.tryordinal.com/api-reference/invites/list-pending-invites.md): List all pending invites for the workspace - [Create a label](https://docs.tryordinal.com/api-reference/labels/create-a-label.md): Create a new label in the workspace - [Delete a label](https://docs.tryordinal.com/api-reference/labels/delete-a-label.md): Delete a label from the workspace - [List all labels](https://docs.tryordinal.com/api-reference/labels/list-all-labels.md): List all labels in the workspace - [Get LinkedIn profile by URN](https://docs.tryordinal.com/api-reference/linkedin/get-linkedin-profile-by-urn.md): Look up a LinkedIn user or organization by their URN (e.g. `urn:li:person:xyz` or `urn:li:organization:xyz`) to get the username, name, and profile picture. - [Mention format by username](https://docs.tryordinal.com/api-reference/linkedin/mention-format-by-username.md): Look up the mention format for a LinkedIn user or organization by their username to use in posts or comments. - [Archive post](https://docs.tryordinal.com/api-reference/posts/archive-post.md): Archive a post by ID. The post is moved to Trash and will be permanently deleted after 30 days. Use the unarchive endpoint to restore it. - [Create post](https://docs.tryordinal.com/api-reference/posts/create-post.md): Create a new post in the workspace. At least one channel (linkedIn, x, or instagram) is required. - [Get post](https://docs.tryordinal.com/api-reference/posts/get-post.md): Get a specific post by ID - [List posts](https://docs.tryordinal.com/api-reference/posts/list-posts.md): List all posts in the workspace with pagination and filtering. Archived posts are excluded from results. - [Schedule or reschedule post](https://docs.tryordinal.com/api-reference/posts/schedule-or-reschedule-post.md): Schedule a post for publishing, or reschedule an already scheduled post to a new time. The post must have at least one channel with a connected profile. Archived posts cannot be scheduled; unarchive them first. - [Unarchive post](https://docs.tryordinal.com/api-reference/posts/unarchive-post.md): Restore an archived post from Trash. The post will no longer be scheduled for permanent deletion. - [Unschedule post](https://docs.tryordinal.com/api-reference/posts/unschedule-post.md): Cancel a scheduled post. The post status will be changed to Finalized and any pending scheduled publishes will be cancelled. - [Update post](https://docs.tryordinal.com/api-reference/posts/update-post.md): Update an existing post by ID. All fields are optional - only include the fields you want to update. Archived posts cannot be updated; unarchive them first. - [List engagement profiles](https://docs.tryordinal.com/api-reference/profiles/list-engagement-profiles.md): List all engagement-only profiles in the workspace. Engagement profiles can only be used for auto-engagements. - [List scheduling profiles](https://docs.tryordinal.com/api-reference/profiles/list-scheduling-profiles.md): List all scheduling profiles in the workspace. Scheduling profiles support scheduling, auto-engagement, and analytics capabilities. - [Create slack boost](https://docs.tryordinal.com/api-reference/slack-boosts/create-slack-boost.md): Create a slack boost for a post. When the post publishes, Ordinal sends a notification to the selected Slack channel. Each post can have at most one slack boost. Use a `slackWebhookId` from a [connected Slack marketing boost channel](/integrations/slack). - [Delete slack boost](https://docs.tryordinal.com/api-reference/slack-boosts/delete-slack-boost.md): Delete a slack boost. The Slack notification will no longer be sent when the post is published. - [Get slack boost](https://docs.tryordinal.com/api-reference/slack-boosts/get-slack-boost.md): Get a slack boost by ID for the current workspace. - [List post's slack boosts](https://docs.tryordinal.com/api-reference/slack-boosts/list-posts-slack-boosts.md): List all slack boosts for a specific post in the current workspace. - [List slack webhooks](https://docs.tryordinal.com/api-reference/slack-boosts/list-slack-webhooks.md): List all Slack webhooks (connected marketing boost channels) for the current workspace. Use an `id` from this list as `slackWebhookId` when creating a slack boost. - [Update slack boost](https://docs.tryordinal.com/api-reference/slack-boosts/update-slack-boost.md): Update an existing slack boost. Only include fields you want to change. Set `copy` to `null` to clear the custom message. - [Add subscribers to post](https://docs.tryordinal.com/api-reference/subscribers/add-subscribers-to-post.md): Add one or more subscribers to a post - [Delete subscriber](https://docs.tryordinal.com/api-reference/subscribers/delete-subscriber.md): Remove a subscriber from a post - [List post subscribers](https://docs.tryordinal.com/api-reference/subscribers/list-post-subscribers.md): List all subscribers for a specific post - [List workspace users](https://docs.tryordinal.com/api-reference/users/list-workspace-users.md): List all users in the workspace - [Create webhook](https://docs.tryordinal.com/api-reference/webhooks/create-webhook.md): Create a webhook for the current workspace. The webhook will receive events for the specified topics. - [Delete webhook](https://docs.tryordinal.com/api-reference/webhooks/delete-webhook.md): Delete a webhook from the current workspace. The webhook will no longer receive events. - [Get webhook](https://docs.tryordinal.com/api-reference/webhooks/get-webhook.md): Get a webhook by ID for the current workspace. - [List webhooks](https://docs.tryordinal.com/api-reference/webhooks/list-webhooks.md): List all webhooks for the current workspace. - [Update webhook](https://docs.tryordinal.com/api-reference/webhooks/update-webhook.md): Update an existing webhook for the current workspace. All fields are optional—only include the fields you want to update. - [Get workspace](https://docs.tryordinal.com/api-reference/workspaces/get-workspace.md): Get details about the current workspace - [Authentication](https://docs.tryordinal.com/api/authentication.md): Secure your API requests with Bearer token authentication - [Error Handling](https://docs.tryordinal.com/api/errors.md): Understanding and handling API error responses - [File Uploads](https://docs.tryordinal.com/api/file-uploads.md): How to upload files from URLs for use in posts - [Introduction](https://docs.tryordinal.com/api/introduction.md): Programmatically manage your Ordinal workspace with the REST API - [LinkedIn Mentions](https://docs.tryordinal.com/api/linkedin-mentions.md): How to tag people and companies in LinkedIn posts and comments - [Calendar](https://docs.tryordinal.com/calendar/overview.md) - [Campaigns](https://docs.tryordinal.com/campaigns/overview.md) - [Approvals](https://docs.tryordinal.com/collaboration/approvals.md) - [Comments](https://docs.tryordinal.com/collaboration/commenting.md) - [Notifications](https://docs.tryordinal.com/collaboration/notifications.md) - [Members](https://docs.tryordinal.com/collaboration/team-permissions.md) - [Concepts](https://docs.tryordinal.com/getting-started/concepts.md): Understand the core concepts and terminology used in Ordinal - [Ordinal Overview](https://docs.tryordinal.com/getting-started/overview.md): Learn what Ordinal is and how it can help you manage your social media presence - [Quickstart Guide](https://docs.tryordinal.com/getting-started/quickstart.md) - [Dub](https://docs.tryordinal.com/integrations/dub.md) - [Slack](https://docs.tryordinal.com/integrations/slack.md) - [campaign.approval.approved](https://docs.tryordinal.com/integrations/webhooks/campaign-approval-approved.md): Fired when an approver grants approval for a campaign - [campaign.approval.requested](https://docs.tryordinal.com/integrations/webhooks/campaign-approval-requested.md): Fired when someone requests approval from users for a campaign - [Event types](https://docs.tryordinal.com/integrations/webhooks/event-types.md): Supported webhook event types and their payloads - [Introduction](https://docs.tryordinal.com/integrations/webhooks/introduction.md): Get real-time notifications on events across your Ordinal workspace - [invite.accepted](https://docs.tryordinal.com/integrations/webhooks/invite-accepted.md): Fired when a user accepts a workspace invite - [invite.created](https://docs.tryordinal.com/integrations/webhooks/invite-created.md): Fired when a user is invited to the workspace. If the invitee already has an account, they are added directly and no email is sent. - [post.approval.approved](https://docs.tryordinal.com/integrations/webhooks/post-approval-approved.md): Fired when an approver grants approval for a post - [post.approval.requested](https://docs.tryordinal.com/integrations/webhooks/post-approval-requested.md): Fired when someone requests approval from users for a post - [post.archived](https://docs.tryordinal.com/integrations/webhooks/post-archived.md): Fired when a post is archived (moved to trash) - [post.comment.created](https://docs.tryordinal.com/integrations/webhooks/post-comment-created.md): Fired when a comment is added to a post - [post.content.edited](https://docs.tryordinal.com/integrations/webhooks/post-content-edited.md): Fired when a post's content is edited (debounced per post, fires after 5 minutes). Includes latest content for all channels. - [post.created](https://docs.tryordinal.com/integrations/webhooks/post-created.md): Fired when a new post is created - [post.inline_comment.created](https://docs.tryordinal.com/integrations/webhooks/post-inline-comment-created.md): Fired when an inline comment (text-anchored comment) is added to a post. One event per comment, including replies in a thread. - [post.permanently_deleted](https://docs.tryordinal.com/integrations/webhooks/post-permanently-deleted.md): Fired when a post is permanently deleted - [post.publish_failed](https://docs.tryordinal.com/integrations/webhooks/post-publish-failed.md): Fired when a post fails to publish - [post.published](https://docs.tryordinal.com/integrations/webhooks/post-published.md): Fired when a post is successfully published to a social channel - [post.rescheduled](https://docs.tryordinal.com/integrations/webhooks/post-rescheduled.md): Fired when a post's scheduled time is changed - [post.scheduled](https://docs.tryordinal.com/integrations/webhooks/post-scheduled.md): Fired when a post is scheduled for publishing - [post.unscheduled](https://docs.tryordinal.com/integrations/webhooks/post-unscheduled.md): Fired when a post is unscheduled - [social_profile.connected](https://docs.tryordinal.com/integrations/webhooks/social-profile-connected.md): Fired when a social profile is connected to the workspace - [social_profile.disconnected](https://docs.tryordinal.com/integrations/webhooks/social-profile-disconnected.md): Fired when a social profile is disconnected from the workspace - [social_profile.reconnect_needed](https://docs.tryordinal.com/integrations/webhooks/social-profile-reconnect-needed.md): Fired when a social profile needs to be reconnected (e.g. token expired, permissions revoked) - [Claude](https://docs.tryordinal.com/mcp/install/claude.md): Add the Ordinal MCP server to Claude Desktop and claude.ai - [Claude Code](https://docs.tryordinal.com/mcp/install/claude-code.md): Add the Ordinal MCP server to Claude Code - [Cursor](https://docs.tryordinal.com/mcp/install/cursor.md): Add the Ordinal MCP server to Cursor - [Installation](https://docs.tryordinal.com/mcp/install/overview.md): Set up the Ordinal MCP server in your AI assistant - [VS Code](https://docs.tryordinal.com/mcp/install/vscode.md): Add the Ordinal MCP server to Visual Studio Code - [Introduction](https://docs.tryordinal.com/mcp/introduction.md): Use Ordinal directly from Claude, Cursor, and other AI assistants - [Migrating from the old MCP](https://docs.tryordinal.com/mcp/migrating.md): Remove the old API-key MCP server and switch to the new OAuth one - [Tools](https://docs.tryordinal.com/mcp/tools.md): Everything the Ordinal MCP server lets your assistant do - [AI Writing](https://docs.tryordinal.com/posts/ai-writing.md) - [Auto-Engagements](https://docs.tryordinal.com/posts/auto-engagements.md) - [Creating Posts](https://docs.tryordinal.com/posts/creating-posts.md) - [Cross-Posting](https://docs.tryordinal.com/posts/cross-posting.md) - [Drafting Posts](https://docs.tryordinal.com/posts/drafting-posts.md) - [Ideas](https://docs.tryordinal.com/posts/ideas.md) - [Labels](https://docs.tryordinal.com/posts/labels.md): Organize and categorize your content - [Media & Assets](https://docs.tryordinal.com/posts/media.md) - [Overview](https://docs.tryordinal.com/posts/overview.md) - [Post Defaults](https://docs.tryordinal.com/posts/post-defaults.md) - [Scheduling Posts](https://docs.tryordinal.com/posts/scheduling-posts.md) - [Slack Boost](https://docs.tryordinal.com/posts/slack-boost.md) - [Statuses](https://docs.tryordinal.com/posts/statuses.md) - [Deleting Posts](https://docs.tryordinal.com/posts/trash.md): Manage archived posts and restore or permanently delete them - [Version History](https://docs.tryordinal.com/posts/version-history.md): View, compare, and restore previous versions of your post copy. - [Discord](https://docs.tryordinal.com/social-profiles/discord.md) - [Facebook](https://docs.tryordinal.com/social-profiles/facebook.md) - [Instagram](https://docs.tryordinal.com/social-profiles/instagram.md) - [LinkedIn](https://docs.tryordinal.com/social-profiles/linkedin.md) - [Overview](https://docs.tryordinal.com/social-profiles/overview.md) - [Slack](https://docs.tryordinal.com/social-profiles/slack.md) - [Threads](https://docs.tryordinal.com/social-profiles/threads.md) - [TikTok](https://docs.tryordinal.com/social-profiles/tiktok.md) - [Twitter / X](https://docs.tryordinal.com/social-profiles/twitter.md) - [Webflow](https://docs.tryordinal.com/social-profiles/webflow.md) - [YouTube Shorts](https://docs.tryordinal.com/social-profiles/youtube-shorts.md) ## OpenAPI Specs - [openapi](https://docs.tryordinal.com/api/openapi.json) ## Optional - [Dashboard](https://app.tryordinal.com) - [Support](mailto:support@tryordinal.com)