Skip to main content

Developer API (2.0.0)

Download OpenAPI specification:Download

Integration

Operations about integrations.

List webhook integrations

This endpoint requires the following permission(s): project_configuration:integrations:read. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

query Parameters
starting_after
string
Example: starting_after=ent12354

Pagination cursor. Pass the id of the last item from the previous page to fetch the next page; omit for the first page.

limit
integer
Default: 20
Example: limit=10

Maximum number of items to return per page. Values below 1 or above 100 are clamped to that range rather than rejected.

Responses

Response samples

Content type
application/json
{
  • "object": "list",
  • "items": [
    ],
  • "next_page": "/v2/projects/proj1ab2c3d4/integrations/webhooks?starting_after=whintgr1a2b3c4d",
  • "url": "/v2/projects/proj1ab2c3d4/integrations/webhooks"
}

Create a webhook integration

This endpoint requires the following permission(s): project_configuration:integrations:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

Request Body schema: application/json
required
name
required
string [ 1 .. 1500 ] characters

The display name of the webhook integration

url
required
string <uri> <= 5000 characters

The URL RevenueCat will send webhook notifications to

authorization_header
string or null <= 5000 characters

Optional authorization header that will be sent with webhook notifications

environment
string or null
Enum: "production" "sandbox" null

The environment the webhook integration is configured for

event_types
Array of strings or null (WebhookEventType)
Enum: "initial_purchase" "renewal" "product_change" "cancellation" "billing_issue" "non_renewing_purchase" "uncancellation" "transfer" "subscription_paused" "expiration" … 5 more

Event types that will trigger the webhook

app_id
string or null [ 1 .. 255 ] characters

The ID of the app the webhook integration is scoped to

Responses

Request samples

Content type
application/json
{
  • "name": "Customer updates webhook",
  • "authorization_header": "Bearer 123456",
  • "environment": "production",
  • "event_types": [
    ],
  • "app_id": "app_1234567890abcdef"
}

Response samples

Content type
application/json
{
  • "object": "webhook_integration",
  • "id": "wh_1234567890abcdef",
  • "project_id": "proj_1234567890abcdef",
  • "name": "Customer updates webhook",
  • "environment": "production",
  • "event_types": [
    ],
  • "app_id": "app_1234567890abcdef",
  • "signing_secret": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
  • "created_at": 1658399423658
}

Get a webhook integration

This endpoint requires the following permission(s): project_configuration:integrations:read. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

webhook_integration_id
required
string [ 1 .. 255 ] characters
Example: wh_1234567890abcdef

The ID of the webhook integration

Responses

Response samples

Content type
application/json
{
  • "object": "webhook_integration",
  • "id": "wh_1234567890abcdef",
  • "project_id": "proj_1234567890abcdef",
  • "name": "Customer updates webhook",
  • "environment": "production",
  • "event_types": [
    ],
  • "app_id": "app_1234567890abcdef",
  • "signing_secret": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
  • "created_at": 1658399423658
}

Update a webhook integration

This endpoint requires the following permission(s): project_configuration:integrations:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

webhook_integration_id
required
string [ 1 .. 255 ] characters
Example: wh_1234567890abcdef

The ID of the webhook integration

Request Body schema: application/json
required
name
string [ 1 .. 1500 ] characters

The display name of the webhook integration

url
string <uri> <= 5000 characters

The URL RevenueCat will send webhook notifications to

authorization_header
string or null <= 5000 characters

Optional authorization header that will be sent with webhook notifications

environment
string or null
Enum: "production" "sandbox" null

The environment the webhook integration is configured for

event_types
Array of strings or null (WebhookEventType)
Enum: "initial_purchase" "renewal" "product_change" "cancellation" "billing_issue" "non_renewing_purchase" "uncancellation" "transfer" "subscription_paused" "expiration" … 5 more

Event types that will trigger the webhook

app_id
string or null [ 1 .. 255 ] characters

The ID of the app the webhook integration is scoped to

Responses

Request samples

Content type
application/json
{
  • "name": "Customer updates webhook",
  • "authorization_header": "Bearer 123456",
  • "environment": "production",
  • "event_types": [
    ],
  • "app_id": "app_1234567890abcdef"
}

Response samples

Content type
application/json
{
  • "object": "webhook_integration",
  • "id": "wh_1234567890abcdef",
  • "project_id": "proj_1234567890abcdef",
  • "name": "Customer updates webhook",
  • "environment": "production",
  • "event_types": [
    ],
  • "app_id": "app_1234567890abcdef",
  • "signing_secret": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
  • "created_at": 1658399423658
}

Delete a webhook integration

This endpoint requires the following permission(s): project_configuration:integrations:read_write. This endpoint belongs to the Project Configuration domain, which has a default rate limit of 60 requests per minute.

Authorizations:
BearerAuth
path Parameters
project_id
required
string <= 255 characters
Example: proj1ab2c3d4

ID of the project

webhook_integration_id
required
string [ 1 .. 255 ] characters
Example: wh_1234567890abcdef

The ID of the webhook integration

Responses

Response samples

Content type
application/json
{
  • "object": "app",
  • "id": "string",
  • "deleted_at": 1658399423658
}