Callback Configuration
001 currently implements callback configuration APIs: tenants can create webhook endpoints, rotate secrets, create event subscriptions, read configuration, and delete subscriptions. 001 does not run a webhook delivery worker. The callback configuration APIs persist endpoints and subscriptions; actual HTTPS delivery, signing, retry, failure compensation, and delivery audit belong to the callback delivery service capability.Implemented Configuration APIs
POST /api/v1/open/callbacks/endpoints— Create a callback endpoint. The secret is returned once.GET /api/v1/open/callbacks/endpoints— List tenant callback endpoints without secret material.GET /api/v1/open/callbacks/endpoints/{endpoint_id}— Get one endpoint without secret material.PUT /api/v1/open/callbacks/endpoints/{endpoint_id}— Update an endpoint, or setrotate_secret=trueto rotate the secret.POST /api/v1/open/callbacks/endpoints/{endpoint_id}/subscriptions— Create an event subscription.GET /api/v1/open/callbacks/endpoints/{endpoint_id}/subscriptions— List event subscriptions.DELETE /api/v1/open/callbacks/endpoints/{endpoint_id}/subscriptions/{subscription_id}— Delete an event subscription.
Multi-Tenant Boundary
tenant_idcomes from the authenticated API credential.- Endpoints and subscriptions belong to the current tenant.
- Reads, updates, and deletes can only affect current-tenant resources.
- Secrets are returned only on create or rotate responses; list and get responses never return secrets.
Configuration Objects
Endpoint fields:| Field | Description |
|---|---|
endpoint_id | Platform-generated endpoint ID |
name | Endpoint name |
url | HTTPS webhook URL |
status | ACTIVE or DISABLED |
timeout_seconds | Timeout setting for a later delivery worker |
max_attempts | Max-attempt setting for a later delivery worker |
| Field | Description |
|---|---|
subscription_id | Platform-generated subscription ID |
endpoint_id | Owning endpoint |
event_type | Subscribed event type |
status | ACTIVE or DISABLED |
Subscribable Events
The currently implemented command callback events are:| event_type | Description |
|---|---|
command.accepted | The platform accepted and persisted the command. This event does not mean the device executed it successfully. |
command.completed | The adapter or device returned a terminal result. Success, failure, timeout, unsupported, rejection, and other outcomes are represented in the event payload status field and the command query status fields. |
command.* events are not split by every possible status. command.succeeded, command.failed, command.timed_out, command.delivered, and similar names are not currently subscribable event types. Integrators should subscribe to command.completed and use payload fields such as status, adapter_status, device_execution_status, or public_status to decide the result.