Retrieves a single trigger execution by its ID.
Retrieves a single trigger execution by its ID.
A trigger execution is the record created each time a trigger fires. It captures the inbound event and tracks whether that event was successfully turned into a workflow run.
Use HTTP Basic auth with your PayMongo secret key as the username and an empty password. Include
Organization-Id: <your organization id>on every request.
Request
GET https://workflow-api.paymongo.com/v1/trigger-executions/{id}Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The trigger execution ID to retrieve. |
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | HTTP Basic auth credentials generated from your secret key and an empty password. |
Organization-Id | string | Yes | Your organization ID. Must match the organization that owns the secret key. |
Request body
This endpoint does not accept a request body.
Response
Returns the trigger execution wrapped in a top-level data object.
| Field | Type | Description |
|---|---|---|
data.id | string | The trigger execution ID. |
data.trigger_id | string | ID of the trigger that produced this execution. |
data.workflow_instance_id | string | null | ID of the workflow instance started by this execution. null if a workflow run has not yet been created for it. |
data.event_message_id | string | Unique ID of the inbound event message, used for idempotency and deduplication. |
data.event_payload | object | The raw event payload that was received. |
data.state | string | Lifecycle state of the execution. One of pending, executed, or failed. |
data.livemode | boolean | true if the execution belongs to live mode, false for test mode. |
data.created_at | string | RFC 3339 timestamp for when the execution record was created. |
data.updated_at | string | RFC 3339 timestamp for when the execution record was last updated. |
State values
| Value | Meaning |
|---|---|
pending | The event was recorded; a workflow instance has not been started yet. |
executed | The event was successfully processed and a workflow instance was started. |
failed | Processing the event failed. |
Example request
curl https://workflow-api.paymongo.com/v1/trigger-executions/trgexec_abc123 \
-u sk_test_xxxxxxxxxxxxxxxx: \
-H "Organization-Id: org_xxxxxxxxxxxx"Example response
{
"data": {
"id": "trgexec_abc123",
"trigger_id": "trg_def456",
"workflow_instance_id": "winst_ghi789",
"event_message_id": "evtmsg_jkl012",
"event_payload": {
"type": "payment.paid",
"data": {
"amount": 100000,
"currency": "PHP"
}
},
"state": "executed",
"livemode": false,
"created_at": "2026-06-18T04:21:00Z",
"updated_at": "2026-06-18T04:21:02Z"
}
}Errors
Errors return a top-level errors array. Each error includes a machine-readable code and a human-readable detail.
| HTTP status | Code | When it happens |
|---|---|---|
400 Bad Request | invalid_request_body | The id path segment is empty. |
400 Bad Request | missing_organization_id | Organization-Id is missing on a non-superuser request. |
404 Not Found | trigger_execution_not_found | No trigger execution with that ID exists for this organization and mode. |
500 Internal Server Error | internal_server_error | An unexpected server error occurred. |
Example error
{
"errors": [
{
"code": "trigger_execution_not_found",
"detail": "trigger execution not found"
}
]
}Public responses omit internal/admin-only fields such as
internal,trigger_arn, andtemporal_schedule_id.
Mode behavior
Mode is derived from the secret key prefix. An sk_test_… key operates in test mode (livemode = false), and an sk_live_… key operates in live mode (livemode = true). A resource created in one mode is only visible to keys of the same mode.