Skip to main content
Every unipile.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Accounts

accounts.createAuthLink Create a Hosted Auth link for a user to connect a LinkedIn (or other) account, or to reconnect one with account_id; LinkedIn sign-in can offer credentials, cookies or the UniLogin extension Risk: write
Input
Output

get

accounts.get Get one connected account: provider, status (running, disconnected, errored…), lock state and connection method Risk: read
Input Output

list

accounts.list List connected Unipile accounts (LinkedIn and others) with their acc_ IDs, provider and status; filter by provider or status Risk: read
Input Output

remove

accounts.remove Disconnect an account from Unipile and delete all its Unipile data. The user must link it again to use it Risk: destructive · Irreversible
Input Output

update

accounts.update Update a connected account: its name, custom data, proxy settings or LinkedIn products Risk: write
Input
Output

Api Keys

create

apiKeys.create Create a global or scoped Account API Key. Returns the key once, and only here: store it right away. Needs a Service API Key Risk: write
Input
Output

delete

apiKeys.delete Delete an API key; requests using it fail from then on. Needs a Service API Key Risk: destructive · Irreversible
Input Output

list

apiKeys.list List the application’s API keys (names, prefixes, roles and expiry; never the keys themselves). Needs a Service API Key Risk: read
Input Output

Auth

requestCheckpoint

auth.requestCheckpoint Ask the provider for a different checkpoint method (for example SMS instead of email) during auth.startIntent Risk: write
Input Output

resendCheckpoint

auth.resendCheckpoint Ask the provider to send the checkpoint code or notification again during auth.startIntent Risk: write
Input Output

solveCheckpoint

auth.solveCheckpoint Answer the checkpoint (2FA code, OTP, captcha, in-app approval) that auth.startIntent returned Risk: write
Input Output

startIntent

auth.startIntent Advanced: connect an account without Hosted Auth by sending the user’s provider credentials (or UniLogin) yourself. Returns a checkpoint to solve or the new account. Prefer accounts.createAuthLink Risk: write
Input
Output: any

Calendar Events

cancel

calendarEvents.cancel Cancel an event the account organizes and notify the attendees. Google keeps it as cancelled; Outlook moves it to Deleted Items Risk: destructive
Input Output

create

calendarEvents.create Create an event (timed: date_time plus IANA timezone; all-day: date). Attendees are invited by the provider; leave conference.url out to ask for a native Meet or Teams link Risk: write
Input
Output

delete

calendarEvents.delete Delete an event from the account’s calendar permanently. To call off a meeting you organize and notify attendees, use calendarEvents.cancel Risk: destructive · Irreversible
Input Output

get

calendarEvents.get Get one event with its attendees and their responses (Outlook invitations show only the account’s own response) Risk: read
Input Output

list

calendarEvents.list List the events in a calendar between two dates, with paging; cancelled events are included unless is_cancelled is false. Outlook does not refresh other attendees’ responses on invitations Risk: read
Input Output

respond

calendarEvents.respond Answer an invitation: yes, maybe or no, with an optional comment. The organizer sees it; on Outlook, declining removes the event Risk: write
Input Output

restore

calendarEvents.restore Restore an event the account cancelled. Google Calendar only, organizer only, while Google still has it Risk: write
Input Output

update

calendarEvents.update Change an event; send only the fields that change. A series ID edits the whole series, an occurrence ID just that one. Attendees may be notified Risk: write
Input
Output

Calendars

create

calendars.create Create a calendar on the account Risk: write
Input Output

delete

calendars.delete Delete a calendar and permanently delete all its events. The default calendar cannot be deleted Risk: destructive · Irreversible
Input Output

get

calendars.get Get one calendar: name, timezone, colour, and whether it is the default or read-only Risk: read
Input Output

list

calendars.list List the account’s calendars, owned and shared (Google Calendar or Outlook) Risk: read
Input Output

update

calendars.update Rename or change a calendar Risk: write
Input Output

Chats

addParticipant

chats.addParticipant Add someone to a group chat; they are notified. On WhatsApp, Telegram and Instagram the account needs permission to add members, or the call can succeed without adding anyone Risk: write
Input Output

delete

chats.delete Delete a whole chat. LinkedIn Classic and WhatsApp only; other providers answer 501 Risk: destructive · Irreversible
Input Output

get

chats.get Get one chat on any provider: participants, unread count, last message and whether sending is restricted Risk: read
Input Output

getPicture

chats.getPicture Download a chat’s picture (Telegram only). Returns the type and size only, unless include_content is set (then base64, up to max_bytes) Risk: read
Input Output

list

chats.list List the account’s chats, newest first, filtered by type, date, unread or archived. WhatsApp, Telegram and Instagram; on LinkedIn use inboxes.listChats. WhatsApp and Telegram channels, communities and broadcasts are not returned Risk: read
Input Output

listParticipants

chats.listParticipants List the participants of a group chat (fails on 1-to-1 chats). LinkedIn Classic, WhatsApp, Telegram and Instagram Risk: read
Input Output

removeParticipant

chats.removeParticipant Remove someone from a group chat, or pass the account’s own user ID to leave it (the chat becomes read-only). Non-admins on WhatsApp, Telegram and Instagram can get success without a removal Risk: destructive
Input Output

setComposing

chats.setComposing Show the ‘typing…’ or ‘recording’ indicator in a chat. LinkedIn Classic, WhatsApp and Telegram (Telegram clears it after about 5 seconds) Risk: write
Input Output

start

chats.start Start a chat on WhatsApp, Telegram or Instagram by sending the first message (an array of users_ids makes a group; an existing 1-to-1 chat just gets the message). On LinkedIn use inboxes.startChat. Never retried after a timeout or 5xx Risk: write
Input
Output

update

chats.update Change a chat: mark it read or unread, archive, mute, rename (groups) or label (WhatsApp Business). Marking read does not mark its messages; Telegram cannot archive Risk: write
Input Output

Contacts

list

contacts.list List the account’s contacts on WhatsApp, Gmail or Outlook (not Telegram or IMAP), with paging. A contact does not mean a chat exists Risk: read
Input Output

Drafts

create

drafts.create Save an email draft without sending it; reply drafts use reply_to_message_id. Outlook attachments must be under 3 MB each Risk: write
Input
Output

delete

drafts.delete Delete an email draft permanently Risk: destructive · Irreversible
Input Output

get

drafts.get Get one email draft with its recipients, subject, body and attachment metadata Risk: read
Input Output

list

drafts.list List email drafts, newest first (Gmail and Outlook; IMAP answers 501) Risk: read
Input Output

send

drafts.send Send an existing draft; the draft is deleted afterwards. Never retried after a timeout or 5xx Risk: write
Input Output

update

drafts.update Change an email draft; fields left out stay, but attachments replaces the whole list. Outlook attachments must be under 3 MB each Risk: write
Input
Output

Emails

get

emails.get Get one email: headers, sender and recipients, body, folders or labels, and attachment metadata (download with emails.getAttachment) Risk: read
Input Output

getAttachment

emails.getAttachment Download an email attachment. Returns the type and size only, unless include_content is set (then base64, up to max_bytes) Risk: read
Input Output

getThread

emails.getThread Get a whole email conversation by the email’s thread_id (not its id). IMAP threads are inferred from headers and can be incomplete Risk: read
Input Output

list

emails.list List emails across folders, newest first, with filters (folder, from, to, date, text) and cursor paging; meta_only skips bodies. Gmail and Outlook; IMAP only with Initial Sync, otherwise use emails.listInFolder Risk: read
Input Output

listInFolder

emails.listInFolder List the emails in one folder or Gmail label (folder_id from folders.list), newest first. Works on IMAP without Initial Sync Risk: read
Input Output

listSenders

emails.listSenders List the addresses the account can send from: the main address plus aliases (Gmail; Outlook on Microsoft 365 or Exchange) Risk: read
Input Output

markRead

emails.markRead Mark an email as read for the account (does not trigger the sender’s tracking pixel) Risk: write
Input Output

markUnread

emails.markUnread Mark an email as unread Risk: write
Input Output

modify

emails.modify Move an email or set its labels: folders_ids replaces them all (on Gmail list every label to keep; Outlook allows one folder). Archive, junk or flag by moving to the folder with that role Risk: write
Input
Output

send

emails.send Send an email (from must be one of emails.listSenders; reply in-thread with reply_to_message_id), with base64 attachments and optional open/click tracking. Gmail advises 50-100 a day. Never retried after a timeout or 5xx Risk: write
Input
Output

trash

emails.trash Move an email to the provider’s trash. Permanent deletion is not available Risk: destructive
Input Output

Folders

create

folders.create Create an email folder or Gmail label. parent_id (sub-folders) is Outlook only; colors are Gmail only Risk: write
Input Output

delete

folders.delete Delete an email folder or label. Gmail keeps the emails (only the label goes); Outlook and IMAP permanently delete every email in the folder Risk: destructive · Irreversible
Input Output

get

folders.get Get one email folder or label by its provider ID from folders.list Risk: read
Input Output

list

folders.list List email folders (Outlook, IMAP) or labels (Gmail) with their role (INBOX, SENT, TRASH, ARCHIVE, JUNK…) and counts, with paging Risk: read
Input Output

update

folders.update Rename or change an email folder or label; colors are Gmail only, parent_id Outlook only Risk: write
Input Output

Inboxes

list

inboxes.list List a LinkedIn account’s inboxes (Classic, Sales Navigator, Recruiter, company pages). Only a product’s primary inbox (e.g. CLASSIC_PRIMARY) can start chats Risk: read
Input Output

listChats

inboxes.listChats List the chats in one LinkedIn inbox, newest first. This is how LinkedIn chats are listed (chats.list covers the other providers); Classic and Sales Navigator page by offset, Recruiter by cursor Risk: read
Input Output

startChat

inboxes.startChat Start a LinkedIn chat from a primary inbox (e.g. CLASSIC_PRIMARY) by sending the first message; an existing 1-to-1 chat just gets it. InMail spends credits; Sales Navigator needs a subject. Never retried after a timeout or 5xx Risk: write
Input
Output

Linkedin

endorseSkill

linkedin.endorseSkill Endorse a skill of a 1st-degree connection (skill_id from users.getProfile with linkedin_skills). The member is notified and it shows on their profile Risk: write
Input Output

getCompany

linkedin.getCompany Get a LinkedIn company page by numeric ID or URL slug: description, industry, size, locations, website. LinkedIn advises at most 80 a day (150 with Premium), so this is not retried after a timeout or 5xx Risk: read
Input Output

getCompanyFollowCredits

linkedin.getCompanyFollowCredits Get a company page’s remaining follow-invitation credits and when they reset Risk: read
Input Output

getInmailCredits

linkedin.getInmailCredits Get how many InMail credits the LinkedIn account has left (classic, sales_navigator or recruiter; all when omitted). Check before an InMail with inboxes.startChat Risk: read
Input Output

getSearchParameters

linkedin.getSearchParameters Look up the IDs LinkedIn searches need (type LOCATION, COMPANY, INDUSTRY, SCHOOL, JOB_TITLE, SKILL… plus keywords; up to 100). Searches, profile views and profile updates take these IDs, not text Risk: read
Input Output

inviteToFollowCompany

linkedin.inviteToFollowCompany Invite 1st-degree connections (ACo… IDs) to follow a company page the account administers. Spends the page’s monthly credits; success can be partial (invitations_count), so never resend the whole batch Risk: write
Input Output

listContracts

linkedin.listContracts List the Sales Navigator or Recruiter contracts (seats) the account can use (403 unless that product was activated when the account was linked) Risk: read
Input Output

listManagedCompanyPages

linkedin.listManagedCompanyPages List the LinkedIn company pages the account administers; their IDs work as post_as, comment_as, react_as and for follow invitations Risk: read
Input Output

listProfileViews

linkedin.listProfileViews List who viewed the account’s LinkedIn profile, with offset paging and filters (date range, industry, company, location). Without Premium the data is limited and filters are ignored Risk: read
Input Output

request

linkedin.request Advanced: send a raw request to any LinkedIn endpoint through the account’s session and get LinkedIn’s response as is. Can read or change anything the account can; prefer the typed operations. Never retried after a timeout or 5xx Risk: write
Input
Output: any

searchCompanies

linkedin.searchCompanies Search LinkedIn companies by keywords, location, industry and headcount (IDs from linkedin.getSearchParameters); cursor paging. Counts toward LinkedIn’s daily search limit Risk: read
Input
Output

searchFromUrl

linkedin.searchFromUrl Run a LinkedIn search from a linkedin.com/search/results/people, /companies or /content URL; page with next_cursor and the same URL. Counts toward LinkedIn’s daily search limit (about 1,000 profiles) Risk: read
Input Output

searchJobs

linkedin.searchJobs Search LinkedIn job postings by keywords, company, location, function and title (IDs from linkedin.getSearchParameters); offset paging, up to 100 per page Risk: read
Input
Output

searchPeople

linkedin.searchPeople Search LinkedIn people by keywords, location, company, school, industry and network distance (IDs from linkedin.getSearchParameters); 10 per page, cursor paging. LinkedIn advises at most 1,000 profiles a day Risk: read
Input
Output

searchPosts

linkedin.searchPosts Search LinkedIn posts by keywords, author or mention (IDs from linkedin.getSearchParameters), to find people engaging with a topic; cursor paging, up to 49 per page. Counts toward the daily search limit Risk: read
Input
Output

selectContract

linkedin.selectContract Switch to another Sales Navigator or Recruiter contract; later calls and webhooks for that product use it Risk: write
Input Output

Messages

addReaction

messages.addReaction React to a message with an emoji; the other participants see it. WhatsApp, Telegram and Instagram keep one reaction per person (a new one replaces it); some providers allow only a fixed set Risk: write
Input Output

delete

messages.delete Delete a message the account sent. WhatsApp and Telegram delete it for everyone; some providers leave a ‘deleted’ placeholder, and WhatsApp can report success outside its time limit without deleting Risk: destructive · Irreversible
Input Output

edit

messages.edit Edit the text of a message the account sent. Instagram allows it for 15 minutes; WhatsApp can report success outside its limits without editing Risk: write
Input Output

forward

messages.forward Forward a message to another chat (to_chat_id). WhatsApp and Telegram ignore the extra text; not on LinkedIn Sales Navigator or Recruiter. Sends immediately and is never retried after a timeout or 5xx Risk: write
Input Output

get

messages.get Get one message: text, sender, attachments, reactions, and read and delivery state. Not on LinkedIn Sales Navigator or Recruiter Risk: read
Input Output

getAttachment

messages.getAttachment Download a message attachment. Returns the type and size only, unless include_content is set (then base64, up to max_bytes). Attachments marked is_unavailable cannot be downloaded Risk: read
Input Output

list

messages.list List the messages in a chat on any provider, newest first, with sender, read and delivery state Risk: read
Input Output

listReactions

messages.listReactions List who reacted to a message with what. LinkedIn Classic, WhatsApp, Telegram and Instagram (counts are already on the message) Risk: read
Input Output

markRead

messages.markRead Mark someone else’s message as read (the sender may see a read receipt). Does not change the chat’s read state; not on LinkedIn Sales Navigator or Recruiter Risk: write
Input Output

pin

messages.pin Pin or unpin a message (pin_status false unpins). WhatsApp, Telegram and Instagram; WhatsApp pins expire after 24 hours, 7 or 30 days Risk: write
Input
Output

removeReaction

messages.removeReaction Remove the account’s own reaction from a message (pass the same emoji) Risk: destructive
Input Output

send

messages.send Send a message in an existing chat on any provider, optionally with attachments or as a reply (quote_id). WhatsApp sends one attachment per message; LinkedIn caps attachments at 20 MB. Never retried after a timeout or 5xx Risk: write
Input
Output

Posts

addComment

posts.addComment Comment on a post, optionally as a managed LinkedIn company page. The comment is public; LinkedIn advises 80-100 a day. Never retried after a timeout or 5xx Risk: write
Input
Output

addCommentReaction

posts.addCommentReaction React to a comment, optionally as a managed company page. The reaction is public Risk: write
Input Output

addReaction

posts.addReaction React to a post (LinkedIn: like, celebrate, support, love, insightful, funny; Instagram: like). The reaction is public; LinkedIn advises 80-100 reactions and comments a day Risk: write
Input Output

create

posts.create Publish a post on LinkedIn or Instagram. It goes live publicly right away (Instagram needs media). LinkedIn supports mentions, audience and posting as a managed company page. Never retried after a timeout or 5xx Risk: write
Input
Output

createStory

posts.createStory Publish an Instagram story with exactly one image or video. It goes live publicly right away Risk: write
Input
Output

delete

posts.delete Delete a post the account published (Unipile post ID) Risk: destructive · Irreversible
Input Output

deleteComment

posts.deleteComment Delete a comment the account wrote Risk: destructive · Irreversible
Input Output

get

posts.get Get one post by its Unipile ID or a native LinkedIn ID (activity:…, ugcPost:…). LinkedIn post reads count toward a daily limit (about 80-100), so this is not retried after a timeout or 5xx Risk: read
Input Output

list

posts.list List a user’s posts (LinkedIn or Instagram) with reaction, comment and repost counts. LinkedIn post reads count toward a daily limit (about 80-100), so this is not retried after a timeout or 5xx Risk: read
Input Output

listCommentReactions

posts.listCommentReactions List who reacted to a comment with what (LinkedIn pages by offset) Risk: read
Input Output

listCommentReplies

posts.listCommentReplies List the replies to a comment, newest first (LinkedIn pages by offset) Risk: read
Input Output

listComments

posts.listComments List the comments on a post with each author, newest or most relevant first Risk: read
Input Output

listReactions

posts.listReactions List the people who reacted to a post, with their profile summary, to find engaged leads Risk: read
Input Output

removeCommentReaction

posts.removeCommentReaction Remove the account’s reaction from a comment (pass the same reaction) Risk: destructive
Input Output

removeReaction

posts.removeReaction Remove the account’s reaction from a post (pass the same reaction) Risk: destructive
Input Output

replyToComment

posts.replyToComment Reply to a comment, optionally as a managed LinkedIn company page. The reply is public. Never retried after a timeout or 5xx Risk: write
Input
Output

update

posts.update Edit a post the account published (Unipile post ID). The change is public Risk: write
Input Output

updateComment

posts.updateComment Edit a comment the account wrote (LinkedIn only). The change is public Risk: write
Input Output

Relation Requests

accept

relationRequests.accept Accept a LinkedIn invitation the account received Risk: write
Input Output

cancel

relationRequests.cancel Withdraw a sent LinkedIn invitation or decline a received one. LinkedIn may block re-inviting the same person for weeks Risk: destructive
Input Output

create

relationRequests.create Send a LinkedIn connection invitation to a member ID (ACo…), with an optional note. LinkedIn allows roughly 100-200 a week; pace sends and never retry a failed one blindly Risk: write
Input Output

list

relationRequests.list List pending LinkedIn invitations the account sent or received, with the other person and any note Risk: read
Input Output

Sales Navigator

browseAccountList

salesNavigator.browseAccountList List the companies in a Sales Navigator account list, with filters; offset paging Risk: read
Input Output

browseLeadList

salesNavigator.browseLeadList List the leads in a Sales Navigator lead list, with filters; offset paging Risk: read
Input Output

getSearchParameters

salesNavigator.getSearchParameters Look up the IDs Sales Navigator filters need (type COMPANY, LOCATION, INDUSTRY, JOB_TITLE, PERSONA, LEAD_LIST, saved and recent searches…; up to 100). Needs Sales Navigator Risk: read
Input Output

listAccountLists

salesNavigator.listAccountLists List the account’s Sales Navigator account (company) lists; offset paging Risk: read
Input Output

listLeadLists

salesNavigator.listLeadLists List the account’s Sales Navigator lead lists (with several contracts, run linkedin.selectContract first); offset paging Risk: read
Input Output

saveAccount

salesNavigator.saveAccount Add a company (company_id from a companies search) to an existing Sales Navigator account list. Lists cannot be created here Risk: write
Input Output

saveLead

salesNavigator.saveLead Add a lead (user_id from a people search) to an existing Sales Navigator lead list. Lists cannot be created here Risk: write
Input Output

searchCompanies

salesNavigator.searchCompanies Search accounts (companies) in Sales Navigator with include/exclude filters, spotlights and headcount ranges; offset paging, up to 100 per page Risk: read
Input
Output

searchFromUrl

salesNavigator.searchFromUrl Run a Sales Navigator search from a linkedin.com/sales/search/people or /company URL; offset paging, up to 50 per page. Needs Sales Navigator; LinkedIn advises at most 2,500 profiles a day Risk: read
Input Output

searchPeople

salesNavigator.searchPeople Search leads in Sales Navigator with include/exclude filters (IDs from salesNavigator.getSearchParameters) or a saved search; offset paging, up to 100 per page. LinkedIn advises at most 2,500 profiles a day Risk: read
Input
Output

Scopes

create

scopes.create Create a Scope to group one customer’s accounts. Needs a Service API Key Risk: write
Input Output

delete

scopes.delete Delete a Scope. Needs a Service API Key Risk: destructive · Irreversible
Input Output

get

scopes.get Get one Scope. Needs a Service API Key Risk: read
Input Output

list

scopes.list List the Scopes (customer or workspace boundaries) in the application. Needs a Service API Key Risk: read
Input Output

update

scopes.update Rename, enable or disable a Scope. Needs a Service API Key Risk: write
Input Output

Users

follow

users.follow Follow a user on LinkedIn or Instagram (a private profile gets a follow request). Does not create a LinkedIn connection; fails if already followed Risk: write
Input Output

getChat

users.getChat Find the existing chats with a user by their provider ID, on any provider, to send into instead of starting a new one. Can return several chats across inboxes Risk: read
Input Output

getPicture

users.getPicture Download a user’s profile picture (Telegram only; me for the owner). Returns the type and size only, unless include_content is set Risk: read
Input Output

getPresence

users.getPresence Get whether a user is online and when they were last seen (Instagram, LinkedIn, Telegram, WhatsApp). unknown means not shared, not offline Risk: read
Input Output

getProfile

users.getProfile Get a LinkedIn profile by member ID or public identifier: headline, location, network distance, invitation status, and optional experience, education and skills. Each call counts toward LinkedIn’s profile-view limit (about 80-100 a day), so it is not retried after a timeout or 5xx, only after Unipile’s own rate limit Risk: read
Input Output

listComments

users.listComments List a user’s comments on posts (the account owner’s by default), with each post Risk: read
Input Output

listFollowers

users.listFollowers List a user’s followers on LinkedIn or Instagram (me for the owner); LinkedIn pages by offset Risk: read
Input Output

listFollowing

users.listFollowing List the accounts a user follows on LinkedIn or Instagram. LinkedIn accepts only user_id me; pages by offset Risk: read
Input Output

listReactions

users.listReactions List the posts a user reacted to (the account owner’s by default), with each post Risk: read
Input Output

listRelations

users.listRelations List a user’s 1st-degree connections (the account owner’s by default), with optional name search and paging Risk: read
Input Output

removeRelation

users.removeRelation Remove a LinkedIn connection (1st-degree relation). Use users.unfollow for one-way follows; reconnecting needs a new invitation Risk: destructive
Input Output

setPresence

users.setPresence Set the account’s own presence: online, offline, away or restricted_online. LinkedIn Classic, WhatsApp, Telegram and Instagram Risk: write
Input Output

unfollow

users.unfollow Stop following a user on LinkedIn or Instagram; fails if not followed Risk: destructive
Input Output

updateProfile

users.updateProfile Update the account owner’s own LinkedIn or Instagram profile (user_id me): headline, about, location, skills and similar. Changes are public, and notify_network announces them Risk: write
Input
Output

visitProfile

users.visitProfile Report a profile visit to LinkedIn so the member sees you in ‘Who viewed your profile’, using the notify_visit_token from users.getProfile. Counts toward LinkedIn’s profile-view limit and is not retried after a timeout or 5xx Risk: write
Input Output

Webhook Endpoints

create

webhookEndpoints.create Register a URL to receive Unipile events such as relation.new and message.new. Returns the signing secret once, and only here: store it as the plugin webhookSecret right away. Needs a Service API Key Risk: write
Input Output

delete

webhookEndpoints.delete Delete a Unipile webhook endpoint; its events stop. Needs a Service API Key Risk: destructive · Irreversible
Input Output

get

webhookEndpoints.get Get one Unipile webhook endpoint: URL, events, accounts and whether it has a signing secret (the secret is never returned). Needs a Service API Key Risk: read
Input Output

list

webhookEndpoints.list List the Unipile webhook endpoints, their URLs, events and accounts (signing secrets are never returned). Needs a Service API Key Risk: read
Input Output

update

webhookEndpoints.update Change a webhook endpoint’s URL, events, accounts or description, or enable or disable it. Keeps the signing secret, which is not returned. Needs a Service API Key Risk: write
Input Output

Webhook Events

listDeliveries

webhookEvents.listDeliveries List webhook delivery attempts (event, endpoint, status, response) from the last seven days, to debug missing events. Needs a Service API Key Risk: read
Input Output

replay

webhookEvents.replay Queue another delivery of a stored event (evt_…) to every enabled endpoint that matches it, even if it was delivered before. Receivers must handle the duplicate. Needs a Service API Key Risk: write
Input Output