● Control plane
Webhook Endpoints
Register HTTPS endpoints to receive signed event deliveries. Each endpoint has its own signing secret and event filter. See Webhooks for the event catalog and signature verification.
| POST | /v1/webhook_endpoints | Create a webhook endpoint |
| GET | /v1/webhook_endpoints | List webhook endpoints |
| GET | /v1/webhook_endpoints/{webhook_endpoint_id} | Retrieve a webhook endpoint |
| PATCH | /v1/webhook_endpoints/{webhook_endpoint_id} | Update a webhook endpoint |
| DELETE | /v1/webhook_endpoints/{webhook_endpoint_id} | Delete a webhook endpoint |
Create a webhook endpoint
Registers an HTTPS endpoint for signed event deliveries. The signing_secret is returned once, on this response only — store it; you need it to verify MD-Signature headers. Sandbox also accepts http URLs for local development.
| Field | Type |
|---|---|
| url required | string |
| enabled_events | array · omit or ["*"] for all events |
# sandbox — full surface, no production data curl -X POST https://sandbox.api.microndelta.com/v1/webhook_endpoints \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: 7c2e-a914" \ -d '{ "url": "https://example.com/md/webhooks", "enabled_events": ["judgment.created", "packet.created"] }'
import requests
resp = requests.post(
"https://sandbox.api.microndelta.com/v1/webhook_endpoints",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
"Idempotency-Key": "7c2e-a914",
},
json={
"url": "https://example.com/md/webhooks",
"enabled_events": [
"judgment.created",
"packet.created"
]
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/webhook_endpoints", { method: "POST", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", "Content-Type": "application/json", "Idempotency-Key": "7c2e-a914", }, body: JSON.stringify({ "url": "https://example.com/md/webhooks", "enabled_events": [ "judgment.created", "packet.created" ] }), }); console.log(await resp.json());
{
"webhook_endpoint_id": "we_8KdQ2n4Vb1Xc7M",
"url": "https://example.com/md/webhooks",
"enabled_events": ["judgment.created", "packet.created"],
"status": "enabled",
"signing_secret": "whsec_kkVbNz31qPe8RmT4cYxAhD2w",
"created_at": "2026-06-12T18:40:00Z"
}List webhook endpoints
Lists registered endpoints for the current environment. Signing secrets are never returned after creation.
| Parameter | Type |
|---|---|
| limit | integer · 1–100, default 20 |
| starting_after | string · cursor |
| ending_before | string · cursor |
# sandbox — full surface, no production data curl "https://sandbox.api.microndelta.com/v1/webhook_endpoints?limit=20" \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11"
import requests
resp = requests.get(
""https://sandbox.api.microndelta.com/v1/webhook_endpoints?limit=20"",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
},
)
print(resp.json())const resp = await fetch(""https://sandbox.api.microndelta.com/v1/webhook_endpoints?limit=20"", { method: "GET", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", }, }); console.log(await resp.json());
{
"object": "list",
"data": [
{
"webhook_endpoint_id": "we_8KdQ2n4Vb1Xc7M",
"url": "https://example.com/md/webhooks",
"enabled_events": ["judgment.created", "packet.created"],
"status": "enabled",
"created_at": "2026-06-12T18:40:00Z"
}
],
"has_more": false
}Retrieve a webhook endpoint
Gets one endpoint by id. Returns not_found (404) if no endpoint with this id exists in your organization and environment.
| Parameter | Type |
|---|---|
| webhook_endpoint_id required · path | string |
# sandbox — full surface, no production data curl https://sandbox.api.microndelta.com/v1/webhook_endpoints/we_8KdQ \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11"
import requests
resp = requests.get(
"https://sandbox.api.microndelta.com/v1/webhook_endpoints/we_8KdQ",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/webhook_endpoints/we_8KdQ", { method: "GET", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", }, }); console.log(await resp.json());
{
"webhook_endpoint_id": "we_8KdQ2n4Vb1Xc7M",
"url": "https://example.com/md/webhooks",
"enabled_events": ["judgment.created", "packet.created"],
"status": "enabled",
"created_at": "2026-06-12T18:40:00Z"
}Update a webhook endpoint
Updates the URL, event filter, or status. Disabled endpoints stop receiving deliveries immediately.
| Field | Type |
|---|---|
| url | string |
| enabled_events | array |
| status | enabled | disabled |
# sandbox — full surface, no production data curl -X PATCH https://sandbox.api.microndelta.com/v1/webhook_endpoints/we_8KdQ \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11" \ -H "Content-Type: application/json" \ -d '{ "status": "disabled" }'
import requests
resp = requests.patch(
"https://sandbox.api.microndelta.com/v1/webhook_endpoints/we_8KdQ",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
},
json={
"status": "disabled"
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/webhook_endpoints/we_8KdQ", { method: "PATCH", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", "Content-Type": "application/json", }, body: JSON.stringify({ "status": "disabled" }), }); console.log(await resp.json());
{
"webhook_endpoint_id": "we_8KdQ2n4Vb1Xc7M",
"url": "https://example.com/md/webhooks",
"enabled_events": ["judgment.created", "packet.created"],
"status": "disabled",
"created_at": "2026-06-12T18:40:00Z"
}Delete a webhook endpoint
Removes the endpoint. Deliveries stop immediately; the signing secret is invalidated.
| Parameter | Type |
|---|---|
| webhook_endpoint_id required · path | string |
# sandbox — full surface, no production data curl -X DELETE https://sandbox.api.microndelta.com/v1/webhook_endpoints/we_8KdQ \ -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \ -H "MD-Version: 2026-06-11"
import requests
resp = requests.delete(
"https://sandbox.api.microndelta.com/v1/webhook_endpoints/we_8KdQ",
headers={
"Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
"MD-Version": "2026-06-11",
},
)
print(resp.json())const resp = await fetch("https://sandbox.api.microndelta.com/v1/webhook_endpoints/we_8KdQ", { method: "DELETE", headers: { "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx", "MD-Version": "2026-06-11", }, }); console.log(await resp.json());
{
"webhook_endpoint_id": "we_8KdQ2n4Vb1Xc7M",
"deleted": true
}