API Reference: Organizations
API reference for organization management and user administration endpoints.
Outbound webhooks notify your own systems when events happen inside ProcessMind. Every delivery is a JSON POST signed with your webhook secret: the X-ProcessMind-Signature header contains sha256=<hex>, an HMAC-SHA256 of the raw request body. Verify the signature against the exact bytes you received (before parsing the JSON) and reject deliveries whose signature does not match. Each body also carries a deliveryId you can use to deduplicate at-least-once deliveries.
Endpoint: GET /v1/tenant/{tenantId}/webhooks
Auth: Tenant-scoped API key · read scope
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | Format: uuid |
| limit | integer | query | No | Maximum number of items to return |
| offset | integer | query | No | Number of items to skip |
Response (200):
List of webhooks
[
{
"id": "00000000-0000-0000-0000-000000000000",
"url": "string",
"events": [
"process.created"
],
"description": "string",
"isActive": true,
"createdAt": "2024-03-15T16:30:00Z"
}
] Errors:
Endpoint: POST /v1/tenant/{tenantId}/webhooks
Auth: Tenant-scoped API key · write scope
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | Format: uuid |
Request Body:
{
"url": "string",
"events": [
"process.created"
],
"description": "string"
} | Field | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Public https endpoint that receives signed POST deliveries (no private/loopback addresses) |
| events | process.created | process.updated | process.deleted | mapping.created | data.ready | simulation.completed | webhook.test[] | Yes | Events that trigger a delivery to this webhook |
| description | string | No | Optional description Max length: 500 |
Response (201):
Created webhook (includes the signing secret)
{
"id": "00000000-0000-0000-0000-000000000000",
"url": "string",
"events": [
"process.created"
],
"description": "string",
"isActive": true,
"createdAt": "2024-03-15T16:30:00Z",
"secret": "string"
} | Field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Format: uuid |
| url | string | Yes | Format: uri |
| events | process.created | process.updated | process.deleted | mapping.created | data.ready | simulation.completed | webhook.test[] | Yes | |
| description | string | Yes | Max length: 500 |
| isActive | boolean | Yes | Default: true |
| createdAt | string | Yes | Format: date-time |
| secret | string | Yes | Signing secret; only returned here, at creation |
Errors:
Endpoint: GET /v1/tenant/{tenantId}/webhooks/{webhookId}
Auth: Tenant-scoped API key · read scope
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | Format: uuid |
| webhookId | string | path | Yes | Format: uuid |
Response (200):
Webhook
{
"id": "00000000-0000-0000-0000-000000000000",
"url": "string",
"events": [
"process.created"
],
"description": "string",
"isActive": true,
"createdAt": "2024-03-15T16:30:00Z"
} | Field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Format: uuid |
| url | string | Yes | Format: uri |
| events | process.created | process.updated | process.deleted | mapping.created | data.ready | simulation.completed | webhook.test[] | Yes | |
| description | string | Yes | Max length: 500 |
| isActive | boolean | Yes | Default: true |
| createdAt | string | Yes | Format: date-time |
Errors:
Endpoint: PUT /v1/tenant/{tenantId}/webhooks/{webhookId}
Auth: Tenant-scoped API key · write scope
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | Format: uuid |
| webhookId | string | path | Yes | Format: uuid |
Request Body:
{
"url": "string",
"events": [
"process.created"
],
"description": "string",
"isActive": true
} | Field | Type | Required | Description |
|---|---|---|---|
| url | string | No | Public https endpoint that receives signed POST deliveries |
| events | process.created | process.updated | process.deleted | mapping.created | data.ready | simulation.completed | webhook.test[] | No | Events that trigger a delivery to this webhook |
| description | string | No | Optional description Max length: 500 |
| isActive | boolean | No | Whether the webhook is enabled |
Response (200):
Updated webhook
{
"id": "00000000-0000-0000-0000-000000000000",
"url": "string",
"events": [
"process.created"
],
"description": "string",
"isActive": true,
"createdAt": "2024-03-15T16:30:00Z"
} | Field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Format: uuid |
| url | string | Yes | Format: uri |
| events | process.created | process.updated | process.deleted | mapping.created | data.ready | simulation.completed | webhook.test[] | Yes | |
| description | string | Yes | Max length: 500 |
| isActive | boolean | Yes | Default: true |
| createdAt | string | Yes | Format: date-time |
Errors:
Endpoint: DELETE /v1/tenant/{tenantId}/webhooks/{webhookId}
Auth: Tenant-scoped API key · write scope
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | Format: uuid |
| webhookId | string | path | Yes | Format: uuid |
Response (200):
Webhook deleted
{
"deleted": true
} | Field | Type | Required | Description |
|---|---|---|---|
| deleted | boolean | Yes |
Errors:
Endpoint: POST /v1/tenant/{tenantId}/webhooks/{webhookId}/test
Auth: Tenant-scoped API key · write scope
Parameters:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | Format: uuid |
| webhookId | string | path | Yes | Format: uuid |
Response (200):
Test delivery triggered
{
"message": "string"
} | Field | Type | Required | Description |
|---|---|---|---|
| message | string | Yes |
Errors:
We use cookies to improve your experience, personalize content, and analyze traffic. By clicking "Accept All," you consent to our use of cookies.