Nylon API reference
The Nylon API is a JSON API served from:Authorization header. Start with Authentication if you have not created a key yet.
Conventions
snake_case
Request and response fields are
snake_case throughout.Everything in data
Successful responses wrap the payload in
data. List responses add meta.pagination.One error shape
Failures return
{ "error": { "code", "message", "details?" } }. Branch on code — see Errors.Per-key rate limits
120 requests a minute for reads, 30 for publishing. Successful responses carry
RateLimit-* headers; a 429 adds Retry-After.Posts
Publishing is synchronous. A post that goes out now returns after every target has been attempted, carrying the network post ids, permalinks and per-target errors — not a job id to poll.Create a post
POST /v1/posts — publish or schedule one payload across every profile you address.List posts
GET /v1/posts — page through posts, filtered by status, network, profile or date.Retrieve a post
GET /v1/posts/{postId} — one post and the state of each of its targets.Update a scheduled post
PATCH /v1/posts/{postId} — replace content, targets or the send time before it goes out.Cancel a scheduled post
DELETE /v1/posts/{postId} — stop a post before it sends. Published targets are never withdrawn.Retry failed targets
POST /v1/posts/{postId}/retry — republish what failed, never what already went out.Profiles
List connected profiles
GET /v1/profiles — every profile connected to the account, with its network and status.Retrieve a profile
GET /v1/profiles/{profileId} — one connected profile.Disconnect a profile
DELETE /v1/profiles/{profileId} — destroy stored credentials, keep the connection history.List Pinterest boards
GET /v1/profiles/{profileId}/boards — the board ids a Pinterest profile can pin to.Connections
List connectable networks
GET /v1/connections — which networks this account can connect, and where each starts.Start a connection
POST /v1/connections — the URL to send a customer to so they can authorise an account.Networks and validation
List network capabilities
GET /v1/networks — character limits, media specs, post types and options, as data.Validate a post
POST /v1/validate — a dry run of POST /v1/posts. Same body, nothing published.Webhooks
Publishing is synchronous, so these are for the outcomes nobody is waiting on — a scheduled post that failed overnight, a profile whose token expired. See Webhooks for the payload, the signature and the retry schedule.Register an endpoint
POST /v1/webhooks — register a receiver and get its signing secret, once.List endpoints
GET /v1/webhooks — every endpoint, with its subscriptions and delivery health.Retrieve an endpoint
GET /v1/webhooks/{webhookId} — one endpoint and the state of its deliveries.Update an endpoint
PATCH /v1/webhooks/{webhookId} — change the URL or subscriptions, or re-enable a disabled endpoint.Delete an endpoint
DELETE /v1/webhooks/{webhookId} — remove it and stop its queued deliveries.Rotate the secret
POST /v1/webhooks/{webhookId}/secret — issue a new signing secret. No overlap window.Send a test event
POST /v1/webhooks/{webhookId}/test — deliver a signed test event now and see what your endpoint returned.List deliveries
GET /v1/webhooks/{webhookId}/deliveries — the delivery log, with payloads and responses.The same API, as agent tools
Every publishing, profile, connection and network endpoint above is also an MCP tool, so an AI agent works against this same contract. Webhook configuration is deliberately left out — see why. A tool calls the endpoint that implements it — same validation, same rate limits, same error codes.Inbox
Conversations on one resource. Live on Telegram — channels, groups and direct chats; read-only elsewhere. See Inbox for the model and how connecting works.List conversations
GET /v1/inbox/conversations — threads across every account, newest activity first.Retrieve a conversation
GET /v1/inbox/conversations/{conversationId} — one thread and its unread count.List messages
GET /v1/inbox/conversations/{conversationId}/messages — the thread itself, newest first.Reply
POST /v1/inbox/conversations/{conversationId}/messages — public on a comment, private on a DM.Mark read
POST /v1/inbox/conversations/{conversationId}/read — clear the unread count.Not yet in the API
Analytics
In build. Nothing in the API returns analytics data today.