# Sendlane > Email and SMS marketing platform for e-commerce. The Sendlane v2 REST API manages > contacts, lists, segments, tags, custom fields, sender profiles, suppression lists, > consent, campaign and SMS reporting, and ingests e-commerce behaviour events. Generated by API Evangelist on 2026-08-13 from Sendlane's published OpenAPI and documentation. Sendlane does not serve an llms.txt of its own — probed https://www.sendlane.com/llms.txt (404) and https://sendlane.stoplight.io/llms.txt (404). ## Facts an agent needs first - Base URL: `https://api.sendlane.com/v2` - Auth: `Authorization: Bearer ` — a static, account-scoped token generated from the API section of the Sendlane dashboard. No OAuth, no scopes, no expiry, no refresh. - Also send `Accept: application/json`. - Rate limit: 240 requests per minute per ACCOUNT, totalled across every key and integration. Exhaustion returns 429. No RateLimit-* headers are returned, so the remaining quota is not observable — track it client-side. - Pagination: `limit` (default 100) and `page` (default 1). Responses carry `data`, `links{first,last,prev,next}` and `meta{current_page,from,last_page,path,per_page,to,total}`. Keep calling until `links.next` is null. - Time filters: `from` and `to`, RFC 3339. `from` is REQUIRED whenever `to` is present. Percent-encode `+` as `%2b` in the query string. - Errors: `{ "message": string, "errors": object|array }`. Validation errors key `errors` on the failing attribute; other errors return `errors` as an array. NOT RFC 9457. - NO idempotency keys. Writes are not safe to blind-retry. - The API can send real email and SMS. There is no test mode and no sandbox. ## Specification - OpenAPI 3.0.0, 56 paths, 82 operations, 81 schemas: [openapi/sendlane-openapi.yml](../openapi/sendlane-openapi.yml) - Provider source: https://stoplight.io/api/v1/projects/sendlane/api-documentation/nodes/sendlane-v2.v2.yaml?fromExportButton=true&snapshotType=http_service ## Documentation - Overview: https://sendlane.stoplight.io/docs/api-documentation/c53add3c8b16f-overview - Authentication: https://sendlane.stoplight.io/docs/api-documentation/ZG9jOjk3NDY2OQ-authentication - Responses and error codes: https://sendlane.stoplight.io/docs/api-documentation/ZG9jOjQwMjk2NTQ-responses - Pagination: https://sendlane.stoplight.io/docs/api-documentation/ZG9jOjk3NDY3MA-pagination - Rate limits: https://sendlane.stoplight.io/docs/api-documentation/80256ed7dae2a-rate-limits - Custom integration setup: https://help.sendlane.com/articles/3807111349-sendlane-custom-integration-setup-api-v2 - Knowledge base: https://help.sendlane.com/ - Postman collection: https://www.postman.com/sendlane/sendlane-s-public-workspace/documentation/xl7jbbs/sendlane-api ## Resource surface - Contacts — `/contacts`, `/contacts/{contactId}`, `/contacts/search`, `/contacts/{contactId}/history`, `/contacts/unsubscribed`. 26 operations; the hub of the data model. - Lists — `/lists`, `/lists/{listId}`, `/lists/{listId}/contacts`, `/lists/{listId}/unsubscribed`. - Segments — `/segments`, `/segments/{segmentId}/contacts`. Read-only; segments belong to a list via `list_id`. - Tags — `/tags`, `/tags/{tagId}`, `/tags/{tagId}/contacts`, `/contacts/{contactId}/tags`. - Custom fields — `/custom-fields`, `/contacts/{contactId}/custom-fields`. - Senders — `/senders`, `/senders/{senderId}`. Sender profiles are the verified identity a campaign sends from. - Consent — `/contacts/{contactId}/email-consent`, `/contacts/{contactId}/sms-consent`, `/contacts/{contactId}/unsubscribe`. NOTE: the SMS consent endpoint must be enabled on the account by Sendlane support before it works. - Suppression — `/suppression/emails`, `/suppression/domains`. - Reporting — `/campaigns`, `/campaigns/{campaignId}/report`, `/sms-messages`, `/sms-messages/{messageId}/report`. - Automations — `/automations/copy` (copies an automation into a second account named by the `Authorization-Destination` header). - Back in stock — `/back-in-stock-contacts`. ## Events (inbound only) Sendlane calls these "Custom Integration Webhooks", but the direction is INBOUND: you POST events to Sendlane. Sendlane sends no outbound webhooks, so anything that happens inside Sendlane must be polled. `/tracking/added-to-cart`, `/tracking/back-in-stock`, `/tracking/category-added`, `/tracking/checkout-started`, `/tracking/customer-added`, `/tracking/order-placed`, `/tracking/product-added`, `/tracking/product-viewed`, `/tracking/event`. Custom event types are registered under an integration: `/integrations/custom`, `/integrations/custom/{integrationToken}/events`. The same stream can be produced in the browser with the Beacon script: `` (one instance per site only). ## What Sendlane does NOT publish Stated plainly so an agent stops looking: - No MCP server. `mcp.sendlane.com` is the app login, not an endpoint. - No A2A agent card at `/.well-known/agent-card.json` or `/.well-known/agent.json`. - No first-party SDK in any language registry. Integrators write raw HTTP. - No GraphQL, no gRPC, no AsyncAPI. - No `/.well-known/` documents of any kind, including security.txt. - No sandbox or test mode. The only safe evaluation path is the 60-day free trial (100 contacts, 500 emails, no credit card). - No API changelog. The product release notes stop at 2025-07-11. - No published SLA and no deprecation policy. ## Repository artifacts - [apis.yml](../apis.yml) — APIs.json profile - [authentication/sendlane-authentication.yml](../authentication/sendlane-authentication.yml) - [conventions/sendlane-conventions.yml](../conventions/sendlane-conventions.yml) - [errors/sendlane-problem-types.yml](../errors/sendlane-problem-types.yml) - [data-model/sendlane-data-model.yml](../data-model/sendlane-data-model.yml) - [rate-limits/sendlane-rate-limits.yml](../rate-limits/sendlane-rate-limits.yml) - [lifecycle/sendlane-lifecycle.yml](../lifecycle/sendlane-lifecycle.yml) - [conformance/sendlane-conformance.yml](../conformance/sendlane-conformance.yml) - [asyncapi/sendlane-webhooks.yml](../asyncapi/sendlane-webhooks.yml) - [sandbox/sendlane-sandbox.yml](../sandbox/sendlane-sandbox.yml) - [components/sendlane-components.yml](../components/sendlane-components.yml) - [packages/sendlane-packages.yml](../packages/sendlane-packages.yml) - [changelog/sendlane-changelog.yml](../changelog/sendlane-changelog.yml) - [plans/sendlane-plans-pricing.yml](../plans/sendlane-plans-pricing.yml) - [security/sendlane-domain-security.yml](../security/sendlane-domain-security.yml) - [skills/_index.yml](../skills/_index.yml)