List Webhooks
List webhook endpoints for the current organization and strict project context with aggregate health fields.
Endpoint contract
Use the exact method and path shown above. Paths are relative to the API base URL.
Authentication, permission, and scope
| Control | Required contract |
|---|---|
| Authentication | Bearer access token. |
| Permission or scope | webhooks.manage capability and webhooks:read scope. |
| Resource scope | With X-Project-ID, only that project’s webhooks are returned; without it, only organization-wide endpoints are returned. |
Request fields
| Field | Type | Contract |
|---|---|---|
X-Project-ID | header | Optional strict project selector. |
| Request body | none | No request body is accepted. |
Code examples
import osfrom memorysync import ControlPlaneClientclient = ControlPlaneClient(base_url="https://api.memorysync.io",access_token=os.environ["MEMORYSYNC_ACCESS_TOKEN"],)webhooks = client.list_webhooks(project_id=os.environ["MEMORYSYNC_PROJECT_ID"],)
Response shape
{"endpoints":[{"id":51,"name":"Production events","url":"https://hooks.example.com/memorysync","events":["memory.created"],"enabled":true,"success_rate":99.5,"project_id":"project_abc123"}],"total_endpoints":1,"active_endpoints":1,"total_deliveries":240,"avg_success_rate":99.5,"failing_endpoints":0}
- The list never returns the raw signing secret.
- Project selection is strict rather than a union with organization-wide endpoints.
Status outcomes
Read the operation-specific response and persist only fields needed by the task.
Fix invalid path, query, or body fields before trying again.
Refresh authentication or verify the required organization permission and scope.
Treat the resource as unavailable without revealing whether it exists elsewhere.
Use returned retry metadata when present and reconcile uncertain mutations before repeating them.
Production handling
- 01
Authorize
APPConfirm the signed-in principal may perform this product action.
- 02
Validate
INPUTValidate identifiers and body fields before sending the request.
- 03
Call
SDKUse the named ControlPlaneClient method or equivalent HTTPS request from a trusted application context.
- 04
Inspect
RESULTUse endpoint IDs for updates, tests, delivery inspection, and replay.
- 05
Reconcile
SAFERender failing and success-rate fields as operational signals, not guaranteed delivery.
Security notes
Required
Keep organization controls inside trusted boundaries.
- Resolve project selection from trusted application state.
- Do not expose destination URLs to unauthorized users.
- Keep webhook-management permission separate from payload consumption.
Avoid
Do not weaken the route contract in client code.
- Do not expose bearer or refresh tokens in URLs, logs, or public clients.
- Do not accept organization, member, project, or resource IDs without application authorization.
- Do not treat returned data as trusted HTML, prompt instructions, or proof of application authorization.