Skip to content

Webhooks

9 endpoints

Webhook endpoint management and testing

GET /cursor-sync/deduplication/config

Get webhook deduplication configuration

Retrieve the current webhook deduplication configuration settings.

Parameters

This endpoint does not accept parameters.

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X GET "http://localhost:8080/cursor-sync/deduplication/config"
                  
              
Example response 200

No example response available.


POST /cursor-sync/deduplication/config

Configure webhook deduplication

Configure webhook deduplication settings to prevent duplicate webhook deliveries.

Parameters

This endpoint does not accept parameters.

Request body

Optional • application/json

Request body (application/json)

post-/cursor-sync/deduplication/config-request-body-application/json

object<{ enabled, ttlSeconds, keyFields }>
Field Type Description Values
enabled Optional boolean
keyFields Optional array<string> Fields to include in deduplication key
ttlSeconds Optional number Time to live for deduplication keys in seconds
≥ 60 • ≤ 3600

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X POST "http://localhost:8080/cursor-sync/deduplication/config" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 200

No example response available.


POST /cursor-sync/deduplication/test

Test webhook deduplication

Test webhook deduplication logic with sample data to verify configuration.

Parameters

This endpoint does not accept parameters.

Request body

Required • application/json

Request body (application/json)

post-/cursor-sync/deduplication/test-request-body-application/json

object<{ eventType, accountId, provider, … }>
Field Type Description Values
accountId Required string
data Optional object
eventType Required string
objectId Optional string
provider Required string

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X POST "http://localhost:8080/cursor-sync/deduplication/test" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 200

No example response available.


GET /webhooks/endpoints

Get all webhook endpoints

Get a list of all configured webhook endpoints

Parameters

This endpoint does not accept parameters.

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X GET "http://localhost:8080/webhooks/endpoints"
                  
              
Example response 200

No example response available.


POST /webhooks/endpoints

Create webhook endpoint

Create a new webhook endpoint for receiving events

Parameters

This endpoint does not accept parameters.

Request body

Required • application/json

Payload used to create a new webhook endpoint.

Request body (application/json)

post-/webhooks/endpoints-request-body-application/json

object<{ id, url, secret, … }>

Payload used to create a new webhook endpoint.

Field Type Description Values
eventTypes Optional array<string> Event types to subscribe to when the endpoint is created.
Default [ "message.received", "mailbox.changed" ]
Example [ "message.received", "message.sent" ]
headers Optional object Custom headers that should be included with each webhook delivery.
id Optional string Custom identifier for the endpoint. If omitted an id is generated automatically.
Example support-webhook
isActive Optional boolean Whether the endpoint should start receiving events immediately.
Default true
Example true
retryCount Optional number Maximum number of retry attempts for failed deliveries.
Default 3
Example 3
retryDelayMs Optional number Delay between retry attempts in milliseconds.
Default 1000
Example 1000
secret Optional string nullable Secret used to sign webhook payloads.
Example whsec_s3cr3t
timeoutMs Optional number Delivery timeout in milliseconds.
Default 30000
Example 30000
url Required string HTTPS endpoint that will receive webhook events.
Example https://hooks.example.com/riposte

Returns

Default Response

Content type: application/json

Status: 201

Example request
                
                    
                    curl -X POST "http://localhost:8080/webhooks/endpoints" \
                  
                    
                      -H "Content-Type: application/json" \
                  
                    
                      --data @- <<'BODY'
                  
                    
                    {
                  
                    
                      "url": "https://hooks.example.com/riposte",
                  
                    
                      "secret": "whsec_s3cr3t",
                  
                    
                      "eventTypes": [
                  
                    
                        "message.received",
                  
                    
                        "message.sent"
                  
                    
                      ],
                  
                    
                      "headers": {
                  
                    
                        "X-Custom-Header": "Riposte"
                  
                    
                      }
                  
                    
                    }
                  
                    
                    BODY
                  
              
Example response 201

No example response available.


DELETE /webhooks/endpoints/{id}

Delete webhook endpoint

Delete a webhook endpoint

Parameters

id string

In path Required

Unique account identifier assigned by Riposte. You may also provide the custom user ID set during authentication; the API resolves it to the canonical account.

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X DELETE "http://localhost:8080/webhooks/endpoints/{id}"
                  
              
Example response 200

No example response available.


PUT /webhooks/endpoints/{id}

Update webhook endpoint

Update an existing webhook endpoint configuration

Parameters

id string

In path Required

Unique account identifier assigned by Riposte. You may also provide the custom user ID set during authentication; the API resolves it to the canonical account.

Request body

Optional • application/json

Payload used to update an existing webhook endpoint configuration.

Request body (application/json)

put-/webhooks/endpoints/{id}-request-body-application/json

object<{ url, secret, isActive, … }>

Payload used to update an existing webhook endpoint configuration.

Field Type Description Values
eventTypes Optional array<string> Replace the list of subscribed event types.
Example [ "message.received", "message.updated" ]
headers Optional object nullable Replace the set of custom headers included with each delivery.
isActive Optional boolean Toggle whether events should be delivered.
Example true
retryCount Optional number Adjust the maximum retry attempts.
Example 5
retryDelayMs Optional number Update the delay between retry attempts.
Example 2000
secret Optional string nullable Rotate the signing secret used for payload verification.
Example whsec_newsecret
timeoutMs Optional number Update the timeout in milliseconds.
Example 45000
url Optional string Updated target URL for webhook deliveries.
Example https://hooks.example.com/riposte

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X PUT "http://localhost:8080/webhooks/endpoints/{id}" \
                  
                    
                      -H "Content-Type: application/json" \
                  
                    
                      --data @- <<'BODY'
                  
                    
                    {
                  
                    
                      "isActive": false,
                  
                    
                      "eventTypes": [
                  
                    
                        "message.received"
                  
                    
                      ]
                  
                    
                    }
                  
                    
                    BODY
                  
              
Example response 200

No example response available.


POST /webhooks/endpoints/{id}/test

Test webhook endpoint

Test a webhook endpoint with sample data

Parameters

id string

In path Required

Unique account identifier assigned by Riposte. You may also provide the custom user ID set during authentication; the API resolves it to the canonical account.

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X POST "http://localhost:8080/webhooks/endpoints/{id}/test"
                  
              
Example response 200

No example response available.


POST /webhooks/test-message

Test webhook with real message data

Test webhook delivery with real message data from an account

Parameters

This endpoint does not accept parameters.

Request body

Required • application/json

Request body (application/json)

post-/webhooks/test-message-request-body-application/json

object<{ accountId, messageId }>
Field Type Description Values
accountId Required string
messageId Required string

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X POST "http://localhost:8080/webhooks/test-message" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 200

No example response available.