Ordinal
Authentication: API key or company API key. See Magic Link for the runtime auth flow.
Sample use cases
- Draft a LinkedIn post from a product update and schedule it for Tuesday at 9am
- Pull post analytics for last month’s X posts and rank them by engagement
- List posts waiting on approval and notify each reviewer
Available Tools
Retrieve follower counts over time for a connected LinkedIn profile, as one data point per recorded day. Use…
Retrieve per-post LinkedIn metrics for a connected profile: impressions, reactions, comments, shares, clicks, video…
Retrieve follower counts over time for a connected X profile, as one data point per recorded day. Use…
Retrieve per-post X metrics for a connected profile: impressions, likes, replies, retweets, quotes, bookmarks…
Read the workspace’s cost-per-mille values per platform. These are the multiplier behind the emv figure on every…
Set the workspace’s cost-per-mille values, one or more platforms at a time. This retroactively changes the emv…
List the approval requests on a post, showing who was asked, who has signed off, and which requests block…
Ask one or more workspace members to approve a post, optionally with a note, due date, and a blocking flag that…
Withdraw an approval request from a post. If it was blocking, the post can publish again. Use list_post_approvals to…
List the team’s comments on a post, oldest first, with who wrote each one. These are internal review comments, not…
Add an internal comment to a post for the team to see. To notify someone, mention them as @[Display Name](userId)…
Delete an internal comment from a post. Use list_post_comments to find comment IDs.
List inline comment threads on a post, each anchored to a highlighted piece of draft copy, with its replies and…
List every workspace in the company. Requires a company API key, not a workspace key. Returns the workspace IDs that…
Create a new workspace in the company, optionally seeding it with members. Requires a company API key. Returns the…
Retrieve one workspace in the company by ID, including its timezone. Requires a company API key. Use…
List the API keys issued for one workspace, with their names and last-used times. The key values are never returned…
Mint a new API key for one workspace. Requires a company API key. The key value is returned once here and never…
List the likes, comments, and reposts queued on a post for teammates’ profiles to perform after it publishes, with…
Queue likes, comments, or reposts that teammates’ profiles perform automatically after a post publishes. Call…
Change a queued engagement’s comment text, delay, profile, or LinkedIn reaction. Only the fields you pass change…
Remove a queued engagement so that profile will not like, comment, or repost when the post publishes. Use…
List unscheduled ideas, newest first. Filters by channel, profile, label, and creation date are applied by Ordinal…
Create an unscheduled idea with copy for LinkedIn, X, TikTok, or YouTube Shorts. Ideas have no publish time; use…
Retrieve one idea with its per-channel copy and media. Use list_ideas to find idea IDs.
Update an idea’s title, labels, campaign, notes, or per-channel copy. Only the fields you pass change. Use…
Archive an idea, moving it out of the idea list into the trash. Use unarchive_idea to restore it, and list_ideas to…
Restore an archived idea back to the idea list. Use list_ideas to find idea IDs.
Promote an idea to a calendar post on a given date, carrying its copy across. Returns the new post ID, which…
List workspace invitations that have not been accepted yet, with who sent each one. For members who have already…
Invite someone to the workspace by email. Ordinal emails them immediately, so only call this for a real teammate…
Revoke a pending workspace invitation so the link stops working. Use list_invites to find invite IDs.
List the labels defined in the workspace, with their IDs and colors. Call this before create_post, update_post…
Create a workspace label that can then be assigned to posts and ideas. Returns the new label ID for use as a…
Delete a workspace label. It is removed from every post and idea that carried it. Use list_labels to find label IDs.
Resolve a LinkedIn vanity name into the @[Name](urn) string LinkedIn post copy needs to tag a person or company…
Look up a LinkedIn person or company by URN and get their display name, vanity name, and avatar. Use…
Search Instagram locations by name for the pageId that tagging a location on an Instagram Feed or Reel post needs…
List posts on the Ordinal calendar, newest first. Filters by status, channel, profile, label, publish date, and…
Create a post with copy for one or more channels. Call list_scheduling_profiles for profileIds, list_labels for…
Retrieve one post with its full per-channel copy, media, labels, and schedule. Use list_posts to find post IDs. For…
Update a post’s title, publish time, status, labels, notes, or per-channel copy. Only the fields you pass change…
Archive a post, moving it off the calendar into the trash without publishing it. Use unarchive_post to restore it…
Restore an archived post back onto the calendar. Its schedule is not restored, so follow with schedule_post if it…
Queue a post to publish, optionally at a new time. This makes the post go live on the connected social accounts at…
Remove a post from the publishing queue and return it to a draft status. The copy is kept. Use schedule_post to…
List saved draft versions of a post’s copy, grouped by channel, with who edited each one. Returns metadata only, so…
Read the plain-text copy of one saved draft version for one channel. Use list_post_versions to find version IDs and…
List the connected social accounts posts can publish from, with the profile IDs that create_post, update_post…
List the connected social accounts that can like, comment, and repost on behalf of the team, with the profile IDs…
List the Slack channels connected to the workspace, with the slackWebhookId values create_slack_boost and…
List the Slack notifications queued on a post, which channel each goes to, and whether Ordinal added it…
Queue a Slack notification asking a channel to go engage with a post when it publishes. Call list_slack_webhooks for…
Retrieve one Slack boost with its message text and target channel. Use list_post_slack_boosts to find boost IDs.
Change a Slack boost’s message text or move it to a different channel. Only the fields you pass change. Use…
Remove a Slack boost so no notification is sent for the post. Use list_post_slack_boosts to find boost IDs.
List the workspace members subscribed to notifications about a post, and who added each of them. Use list_posts to…
Subscribe workspace members to notifications about a post. Call list_users for userIds and list_posts for the…
Unsubscribe a member from a post’s notifications. Use list_post_subscribers to find subscriber record IDs, which are…
Import an image or video from a public URL so it can be attached to a post. Returns an upload job, not an asset…
Reserve an upload slot and get signed credentials for sending local file bytes to Ordinal yourself, as a multipart…
Check an upload job and read its assetId once processing finishes. Status is ‘pending’ or ‘processing’ while Ordinal…
List the webhooks configured in the workspace, with their delivery URLs and subscribed event topics. Use get_webhook…
Create a webhook that POSTs Ordinal events to a URL. Subscribe to topics such as post.published…
Retrieve one webhook with its delivery URL, subscribed topics, and custom headers. Use list_webhooks to find webhook…
Change a webhook’s name, delivery URL, subscribed topics, description, or custom headers. Passing topics or headers…
Delete a webhook so Ordinal stops delivering events to it. Use list_webhooks to find webhook IDs.
Retrieve the workspace this API key belongs to: name, slug, and the IANA timezone that publishDate values and the…
List workspace members with the user IDs that create_approvals, add_post_subscribers, and @[Name](userId) comment…