Skip to main content
Use Endorsal through Corsair: one client, typed API calls. Generate a property-specific key at https://app.endorsal.io/account/api. The plugin sends it as Authorization: Bearer <key> on every call. The reference marks GET keys as optional, but the API answers 401 to every route without one, so the plugin asks for a key before any call. The plugin uses the API host https://api.endorsal.io and never puts credentials in query parameters. The published OpenAPI document currently defines 25 REST operations. List routes return the complete collection and expose no page or cursor parameters. Search conditions are AND-combined; in requires an array. Testimonial status fields (approved, featured) are numeric. widgets.byId.get and wallOfLove.get support render: true, which returns rendered HTML rather than the normal JSON resource. The POST /superlinks route is not present in the current published OpenAPI document, so it is intentionally excluded. Webhooks are outside this integration’s scope. What you get:
  • 25 typed API operations

Setup

1

Install

2

Add the plugin

corsair.ts
With multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.
3

Choose authentication

4

Connect a tenant

Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.

Example API calls

autorequests.campaigns.byId.get
contacts.byId.delete
See the full list on the API page.

What’s next

API reference

Every endorsal.api.* operation with input and output types.

Connect / OAuth

createLink, Hub delivery, and tenant connect flows.

Use with agents

Expose this plugin’s operations as MCP tools.