Back to catalog
Ordinal icon

Ordinal

Official

Draft, schedule, analyze, and manage social media content across multiple platforms.

Productivity63 toolsAuth: api key

Tools (63)

analytics-linkedin-followers

LinkedIn follower growth Retrieve follower count history for a LinkedIn profile [GET /analytics/linkedin/{profileId}/followers]

analytics-linkedin-posts

LinkedIn post analytics 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. [GET /analytics/linkedin/{profileId}/posts]

analytics-x-followers

X follower growth Retrieve follower count history for an X profile [GET /analytics/x/{profileId}/followers]

analytics-x-posts

X post analytics 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. [GET /analytics/x/{profileId}/posts]

analytics-cpm-get

Get CPM Values 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. [GET /analytics/cpm]

analytics-cpm-update

Update CPM Values 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. [PUT /analytics/cpm]

approvals-create

Create approval requests Create one or more approval requests for a post [POST /approvals]

approvals-delete

Delete approval Delete an approval request [DELETE /approvals/{id}]

approvals-list

List post approvals List all approval requests for a specific post [GET /posts/{postId}/approvals]

engagements-list

List for a post List all engagements (likes, comments, reposts) configured for a specific post [GET /posts/{postId}/engagements]

engagements-create

Create for a post Add engagements (likes, comments, reposts) to a post. Engagements will be executed automatically when the post is published. **Tagging on LinkedIn:** To mention someone in a comment or repost, use the format `@[Display Name](urn)`. See [LinkedIn Mentions](/api/linkedin-mentions) for details on how to look up URNs. **LinkedIn reaction types:** For Like engagements on LinkedIn, you can specify a reaction type (Like, Celebrate, Love, Insightful, Support, Funny). Defaults to Like if not specified. Must not be provided for Comment or Repost. **Validation rules:** - `copy` is required for Comment, optional for Repost, must not be provided for Like - `delaySeconds` is required for Comment and Repost (allowed values: 0, 300, 600, 1800, 3600, 14400, 28800, 43200, 86400 seconds), must not be provided for Like - `reactionType` is only for Like engagements on LinkedIn (defaults to Like if omitted) - Only one Like engagement per profile is allowed [POST /posts/{postId}/engagements]

engagements-update

Update an engagement Update an existing engagement's copy, delay, profile, or reaction type. **Validation rules:** - `copy` cannot be updated for Like engagements - `copy` cannot be removed from Comment engagements (must have content) - `delaySeconds` cannot be updated for Like engagements - `reactionType` can only be updated for Like engagements on LinkedIn - When changing `profileId`, the new profile must have the required engagement permissions - Cannot update engagements for posts that have already been published - Only one Like engagement per profile is allowed (cannot change profileId to a profile that already has a Like) [PATCH /engagements/{id}]

engagements-delete

Delete an engagement Remove an auto-engagement from a post [DELETE /engagements/{id}]

invites-list

List pending invites List all pending invites for the workspace [GET /invites]

invites-create

Create an invite 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. [POST /invites]

invites-delete

Delete an invite Delete a pending invite. This will prevent the invited user from joining the workspace using this invite. [DELETE /invites/{id}]

labels-list

List all labels List all labels in the workspace [GET /labels]

labels-create

Create a label Create a new label in the workspace [POST /labels]

labels-delete

Delete a label Delete a label from the workspace [DELETE /labels/{id}]

linkedin-leads-listPosts

List posts Returns all LinkedIn posts for a profile with scraped lead counts (reactions, comments, reshares). Supports pagination and filtering by date range. Requires leads scraping to be enabled for the profile. [GET /linkedin/leads/{profileId}/posts]

linkedin-leads-getLeadsByPost

Get posts leads Returns leads (reactions, comments, reshares) for a specific LinkedIn post. Supports filtering by engagement type and minimum follower count. [GET /linkedin/leads/{profileId}/posts/{postId}]

linkedin-getMention

Mention format by username Look up the mention format for a LinkedIn user or organization by their username to use in posts or comments. The username is the part after `/in/` or `/company/` in a LinkedIn profile URL: - Personal profile: `linkedin.com/in/johndoe` - username is `johndoe` - Company page: `linkedin.com/company/acme-inc` - username is `acme-inc` Returns both user and organization results if a username matches both (rare but possible). [GET /linkedin/{username}/mentions]

linkedin-getProfile

Get LinkedIn profile by URN 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. [GET /linkedin/profile/{urn}]

instagram-searchLocations

Search Instagram locations Search for locations to tag in Instagram posts. Requires at least one Instagram profile connected to the workspace. [GET /instagram/locations/search]

ideas-list

List ideas List all ideas in the workspace with pagination and filtering. Archived ideas are excluded from results. [GET /ideas]

ideas-create

Create idea Create a new idea in the workspace. At least one channel (linkedIn or x) is required. [POST /ideas]

ideas-get

Get idea Get a single idea by ID. [GET /ideas/{id}]

ideas-update

Update idea 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. [PATCH /ideas/{id}]

ideas-archive

Archive idea 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. [POST /ideas/{id}/archive]

ideas-unarchive

Unarchive idea Restore an archived idea from Trash. The idea will no longer be scheduled for permanent deletion. [POST /ideas/{id}/unarchive]

ideas-add-to-calendar

Add idea to calendar Convert an idea to a calendar post by assigning it a publish date. The idea becomes a regular post that can be scheduled. [POST /ideas/{id}/add-to-calendar]

posts-list

List posts List all posts in the workspace with pagination and filtering. Archived posts are excluded from results. [GET /posts]

posts-create

Create post Create a new post in the workspace. At least one channel (linkedIn, x, or instagram) is required. [POST /posts]

posts-get

Get post Get a specific post by ID [GET /posts/{id}]

posts-update

Update post 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. [PATCH /posts/{id}]

posts-archive

Archive post 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. [POST /posts/{id}/archive]

posts-unarchive

Unarchive post Restore an archived post from Trash. The post will no longer be scheduled for permanent deletion. [POST /posts/{id}/unarchive]

posts-schedule

Schedule or reschedule post 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. [POST /posts/{id}/schedule]

posts-unschedule

Unschedule post Cancel a scheduled post. The post status will be changed to Finalized and any pending scheduled publishes will be cancelled. [POST /posts/{id}/unschedule]

uploads-create

Upload a file from a URL 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. **Supported file types:** - Images: JPEG, PNG, GIF, WebP - Videos: MP4, QuickTime (MOV) **File size limits:** - Images: 10 MB max - GIFs: 15 MB max - Videos: 350 MB max **Additional constraints:** - Images cannot exceed 36 megapixels - URL must be publicly accessible [POST /uploads]

uploads-get

Get upload status Returns the current status and metadata of an upload. Poll this endpoint until status is 'ready', then use the returned assetId when creating posts. [GET /uploads/{id}]

profiles-listEngagement

List engagement profiles List all engagement-only profiles in the workspace. Engagement profiles can only be used for auto-engagements. [GET /profiles/engagement]

profiles-listScheduling

List scheduling profiles List all scheduling profiles in the workspace. Scheduling profiles support scheduling, auto-engagement, and analytics capabilities. [GET /profiles/scheduling]

comments-list

List post comments List all comments on a post, ordered by creation time (oldest first) [GET /posts/{postId}/comments]

comments-create

Create a comment on a post 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. [POST /posts/{postId}/comments]

comments-delete

Delete a comment Delete a comment from a post. Only the author of the comment can delete it. [DELETE /comments/{commentId}]

inline-comments-list

List inline comments on a post Returns inline comments (text-anchored comments) from all channels on a post. Optionally filter by channel or resolution status. [GET /posts/{postId}/inline-comments]

subscribers-list

List post subscribers List all subscribers for a specific post [GET /posts/{postId}/subscribers]

subscribers-create

Add subscribers to post Add one or more subscribers to a post [POST /subscribers]

subscribers-delete

Delete subscriber Remove a subscriber from a post [DELETE /subscribers/{id}]

users-list

List workspace users List all users in the workspace [GET /users]

webhooks-list

List webhooks List all webhooks for the current workspace. [GET /webhooks]

webhooks-create

Create webhook Create a webhook for the current workspace. The webhook will receive events for the specified topics. [POST /webhooks]

webhooks-get

Get webhook Get a webhook by ID for the current workspace. [GET /webhooks/{id}]

webhooks-update

Update webhook Update an existing webhook for the current workspace. All fields are optional—only include the fields you want to update. [PATCH /webhooks/{id}]

webhooks-delete

Delete webhook Delete a webhook from the current workspace. The webhook will no longer receive events. [DELETE /webhooks/{id}]

slack-boosts-list-by-post

List post's slack boosts List all slack boosts for a specific post in the current workspace. [GET /posts/{postId}/slack-boosts]

slack-boosts-create

Create slack boost 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). [POST /slack-boosts]

slack-boosts-get

Get slack boost Get a slack boost by ID for the current workspace. [GET /slack-boosts/{id}]

slack-boosts-update

Update slack boost Update an existing slack boost. Only include fields you want to change. Set `copy` to `null` to clear the custom message. [PATCH /slack-boosts/{id}]

slack-boosts-delete

Delete slack boost Delete a slack boost. The Slack notification will no longer be sent when the post is published. [DELETE /slack-boosts/{id}]

slack-webhooks-list

List slack webhooks 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. [GET /slack-webhooks]

workspace-get

Get workspace Get details about the current workspace [GET /workspace]

AI everywhere.