MemorySync
API Reference · Control-plane API

Webhook Deliveries

Inspect endpoint history, latest and recent activity, individual delivery details, and retryable failures.

Shared access contract

ControlRequired contract
AuthenticationBearer access token for an active organization member.
Permissionwebhooks.manage capability; reads require webhooks:read and retry requires webhooks:write.
Project selectionWhere supported, pass project_id in Python, { projectId } options in Node.js, or X-Project-ID over HTTPS.

List Webhook Deliveries

GET/org/webhooks/{endpoint_id}/deliveries
200 OK
FieldTypeContract
endpoint_idinteger pathRequired positive endpoint ID.
pageinteger queryOptional positive page; defaults to 1.
page_sizeinteger queryOptional 1–100; defaults to 20.
status_filterstring queryOptional delivery status.
import os
from memorysync import ControlPlaneClient
client = ControlPlaneClient(
base_url="https://api.memorysync.io",
access_token=os.environ["MEMORYSYNC_ACCESS_TOKEN"],
)
deliveries = client.list_webhook_deliveries(
51,
page=1,
page_size=25,
project_id=os.environ["MEMORYSYNC_PROJECT_ID"],
)
response.json
{"deliveries":[{"id":8801,"endpoint_id":51,"event_type":"memory.created","status":"success","attempt_number":1}],"total":1,"page":1,"page_size":25}
  • Use pagination metadata; status values include pending, retrying, success, failed, and dead_letter.
ConcernContract
ScopeEndpoint and deliveries must match the organization and selected project.
Errors400/422 invalid paging or status; 401/403 access failure; 404 unavailable endpoint.

Get Latest Webhook Delivery

GET/org/webhooks/{endpoint_id}/deliveries/latest
200 OK
FieldTypeContract
endpoint_idinteger pathRequired positive endpoint ID.
import os
from memorysync import ControlPlaneClient
client = ControlPlaneClient(
base_url="https://api.memorysync.io",
access_token=os.environ["MEMORYSYNC_ACCESS_TOKEN"],
)
delivery = client.get_latest_webhook_delivery(
51,
project_id=os.environ["MEMORYSYNC_PROJECT_ID"],
)
response.json
{"id":8801,"endpoint_id":51,"event_type":"memory.created","status":"success","status_code":200,"latency_ms":142}
  • Returns null when the endpoint has no deliveries.
ConcernContract
ScopeEndpoint and latest delivery must match the organization and selected project.
Errors401/403 access failure; 404 unavailable endpoint.

List Recent Webhook Deliveries

GET/org/webhooks/deliveries/recent
200 OK
FieldTypeContract
pageinteger queryOptional positive page; defaults to 1.
page_sizeinteger queryOptional 1–100; defaults to 20.
endpoint_idinteger queryOptional endpoint filter.
status_filterstring queryOptional delivery-status filter.
import os
from memorysync import ControlPlaneClient
client = ControlPlaneClient(
base_url="https://api.memorysync.io",
access_token=os.environ["MEMORYSYNC_ACCESS_TOKEN"],
)
deliveries = client.list_recent_webhook_deliveries(
page=1,
page_size=25,
project_id=os.environ["MEMORYSYNC_PROJECT_ID"],
)
response.json
{"deliveries":[{"id":8801,"endpoint_id":51,"event_type":"memory.created","status":"success"}],"total":1,"page":1,"page_size":25}
  • Results span authorized endpoints in the selected scope and may be filtered by endpoint.
ConcernContract
ScopeOnly deliveries in the organization and selected project are returned.
Errors400/422 invalid filters; 401/403 access failure.

Get Webhook Delivery

GET/org/webhooks/deliveries/{delivery_id}
200 OK
FieldTypeContract
delivery_idinteger pathRequired positive delivery ID.
import os
from memorysync import ControlPlaneClient
client = ControlPlaneClient(
base_url="https://api.memorysync.io",
access_token=os.environ["MEMORYSYNC_ACCESS_TOKEN"],
)
delivery = client.get_webhook_delivery(
8801,
project_id=os.environ["MEMORYSYNC_PROJECT_ID"],
)
response.json
{"id":8801,"endpoint_id":51,"event_type":"memory.created","status":"success","payload":{"memory_id":"mem_123"},"status_code":200,"response_body":"ok","attempt_number":1,"max_attempts":5}
  • Detail can contain sensitive payload, signature, bounded response, and error data.
ConcernContract
ScopeDelivery must match the organization and selected project.
Errors401/403 access failure; 404 unavailable delivery.

Retry Webhook Delivery

POST/org/webhooks/deliveries/{delivery_id}/retry
200 OK
FieldTypeContract
delivery_idinteger pathRequired failed or dead_letter delivery ID.
Request bodynoneNo JSON body.
import os
from memorysync import ControlPlaneClient
client = ControlPlaneClient(
base_url="https://api.memorysync.io",
access_token=os.environ["MEMORYSYNC_ACCESS_TOKEN"],
)
delivery = client.retry_webhook_delivery(
8801,
project_id=os.environ["MEMORYSYNC_PROJECT_ID"],
)
response.json
{"id":8801,"endpoint_id":51,"status":"pending","attempt_number":2,"max_attempts":5}
  • A pending result confirms requeueing, not successful downstream receipt.
ConcernContract
ScopeDelivery must match the organization and selected project.
Errors400 status or attempt limit prevents retry; 401/403 access failure; 404 unavailable delivery.

Shared handling

Was this page helpful?