Support · Contact · Legal
Verified RCS · SMS · MMS · Log in
API REFERENCE

Webhooks API

The SimplyRCS webhooks API has 6 public endpoints. Every endpoint below is documented with its parameters, responses and an example request. The reference is public and needs no account; a scoped API key is required only to make live calls.

Webhook endpoint management and provider callbacks.

Base URL https://api.simplyrcs.com · All 194 endpoints · Pricing

GET/v1/webhook-endpoints

List webhook endpoints

GET https://api.simplyrcs.com/v1/webhook-endpoints · requires an API key

Responses

StatusReturnsDescription
200ListWebhookEndpointsResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/webhook-endpoints \
  -H "Authorization: Bearer $SIMPLYRCS_API_KEY"

POST/v1/webhook-endpoints

Create a webhook endpoint

Registers a destination for the events listed under **Webhooks**. The response is the only time `secret` is returned; store it immediately and use it to verify `X-Signature` on every delivery. Rotate by deleting and recreating the endpoint. Destinations must be public HTTPS URLs without embedded credentials; redirects are followed only on the same origin.

POST https://api.simplyrcs.com/v1/webhook-endpoints · requires an API key

Request body

CreateWebhookEndpointBody · optional

Responses

StatusReturnsDescription
201CreateWebhookEndpointResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X POST https://api.simplyrcs.com/v1/webhook-endpoints \
  -H "Authorization: Bearer $SIMPLYRCS_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{ "url": "https://example.com/webhooks/rcs", "events": ["message.received"] }'

PATCH/v1/webhook-endpoints/{id}

Update a webhook endpoint

Change the destination or subscribed events, or set `isActive: true` to re-enable an endpoint that was auto-disabled after repeated failures.

PATCH https://api.simplyrcs.com/v1/webhook-endpoints/{id} · requires an API key

Path parameters

NameTypeDescription
id requiredId

Request body

UpdateWebhookEndpointBody · optional

Responses

StatusReturnsDescription
200objectSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X PATCH https://api.simplyrcs.com/v1/webhook-endpoints/{id} \
  -H "Authorization: Bearer $SIMPLYRCS_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{ "url": "https://example.com/webhooks/rcs", "events": ["message.received"] }'

DELETE/v1/webhook-endpoints/{id}

Delete a webhook endpoint

DELETE https://api.simplyrcs.com/v1/webhook-endpoints/{id} · requires an API key

Path parameters

NameTypeDescription
id requiredId

Responses

StatusReturnsDescription
200objectSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X DELETE https://api.simplyrcs.com/v1/webhook-endpoints/{id} \
  -H "Authorization: Bearer $SIMPLYRCS_API_KEY"

POST/v1/webhook-endpoints/{id}/test

Send a test webhook delivery

Sends one signed delivery synchronously and returns the result. The body uses the normal envelope with `data: { "test": true }` and the requested `event` name. After signature verification, acknowledge and ignore data.test === true BEFORE routing by senderIdId/contactPhone. Portal connectivity tests use event: test instead; acknowledge and ignore that name too. Missing routing fields alone never identify a test. Test deliveries are not retried and use a 5 second timeout.

POST https://api.simplyrcs.com/v1/webhook-endpoints/{id}/test · requires an API key

Path parameters

NameTypeDescription
id requiredId

Request body

TestWebhookBody · optional

Responses

StatusReturnsDescription
200objectSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X POST https://api.simplyrcs.com/v1/webhook-endpoints/{id}/test \
  -H "Authorization: Bearer $SIMPLYRCS_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{ "url": "https://example.com/webhooks/rcs", "events": ["message.received"] }'

GET/v1/webhook-endpoints/{id}/deliveries

List webhook delivery attempts

One row per attempt, newest first. Use it to debug signature or timeout problems during integration.

GET https://api.simplyrcs.com/v1/webhook-endpoints/{id}/deliveries · requires an API key

Path parameters

NameTypeDescription
id requiredId

Query parameters

NameTypeRequiredDescription
pageintegerNo
limitintegerNo

Responses

StatusReturnsDescription
200ListWebhookDeliveriesResponseSuccessful response
400ErrorResponseValidation error
401ErrorResponseAuthentication failed

Example request

curl -X GET https://api.simplyrcs.com/v1/webhook-endpoints/{id}/deliveries \
  -H "Authorization: Bearer $SIMPLYRCS_API_KEY"