Coop
API Reference

API Reference

Complete reference for the Coop REST API.

Base URL

https://api.coop.example.com/api/v1

Authentication

All requests require an Authorization header with either an API key or JWT token.

Authorization: Bearer YOUR_API_KEY

See Generate and use API keys for setup instructions.

Rate limits

LimitValue
Requests per minute100
Burst allowance20

Exceeding the limit returns 429 Too Many Requests with a Retry-After header (seconds).

Pagination

List endpoints accept page and limit query parameters.

GET /api/v1/contacts?page=2&limit=25

Responses include pagination metadata:

{
  "data": [],
  "pagination": {
    "page": 2,
    "limit": 25,
    "total": 142,
    "totalPages": 6
  }
}

Default limit is 20. Maximum is 100.

Error format

{
  "error": "not_found",
  "message": "Message not found",
  "statusCode": 404
}
StatusMeaning
400Bad request — invalid input
401Unauthorized — missing or invalid credentials
403Forbidden — insufficient permissions
404Resource not found
429Rate limit exceeded
500Internal server error

Message statuses

StatusDescription
queuedWaiting in the send queue
processingCoop Desktop is sending via iMessage
sentiMessage accepted the message
deliveredRecipient device confirmed receipt
failedAll retry attempts exhausted

Webhook events

EventDescription
message.queuedMessage added to send queue
message.sentMessage sent via iMessage
message.failedMessage failed after retries
message.receivedIncoming iMessage received
relay.onlineCoop Desktop connected
relay.offlineCoop Desktop disconnected

Endpoints

On this page