Pathway Rules
Manage pathway rules via the Jump EHR API. Create conditional overrides that customise how events route into episodes.
Pathway rules provide conditional overrides on top of base pathway configs. Rules let you customise episode routing based on event properties — for example, routing VIP appointment bookings to a specific team, or silencing billing episodes for certain invoice types.
Override fields set to null inherit from the base pathway config. Only non-null fields take effect.
Each (trigger_type, priority) combination must be unique within your organisation. Attempting to create or update a rule with a duplicate priority returns 409 CONFLICT.
Gaps in the priority sequence after deletion are fine — rules are evaluated by priority order, not contiguous numbering.
Authorization
BearerApiKey API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.
In: header
Query Parameters
Maximum number of records to return (1–100, default 20)
1 <= value <= 10020Number of records to skip (default 0)
0 <= value0Response Body
application/json
curl -X GET "https://example.com/pathway-rules"{ "data": [ { "id": "string", "trigger_type": "string", "rule_name": "string", "priority": 0, "conditions": {}, "creation_mode": "create_episode", "inbox_visibility": "surface", "journey_type": "string", "suggested_assignment": "string", "suggested_priority": "low", "expected_next_actor": "practice", "enabled": true, "created_at": "string", "updated_at": "string" } ], "meta": { "limit": 20, "next_offset": 1, "has_more": true, "request_id": "req_abc123" }}Try-it is disabled for POST /pathway-rules
This operation writes data. Running it from these docs would target the production API and change a real record. Copy the request sample and run it against staging first.
Authorization
BearerApiKey API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.
In: header
Header Parameters
Optional UUID for request deduplication. Same key + same body returns the cached response. Same key + different body returns 409 CONFLICT. Keys are scoped to your organisation and endpoint, and expire after 24 hours.
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/pathway-rules" \ -H "Content-Type: application/json" \ -d '{ "trigger_type": "string", "rule_name": "string", "priority": 0 }'{ "data": { "id": "string", "trigger_type": "string", "rule_name": "string", "priority": 0, "conditions": {}, "creation_mode": "create_episode", "inbox_visibility": "surface", "journey_type": "string", "suggested_assignment": "string", "suggested_priority": "low", "expected_next_actor": "practice", "enabled": true, "created_at": "string", "updated_at": "string" }, "meta": { "request_id": "req_abc123" }}Authorization
BearerApiKey API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.
In: header
Path Parameters
uuidResponse Body
application/json
application/json
curl -X GET "https://example.com/pathway-rules/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "data": { "id": "string", "trigger_type": "string", "rule_name": "string", "priority": 0, "conditions": {}, "creation_mode": "create_episode", "inbox_visibility": "surface", "journey_type": "string", "suggested_assignment": "string", "suggested_priority": "low", "expected_next_actor": "practice", "enabled": true, "created_at": "string", "updated_at": "string" }, "meta": { "request_id": "req_abc123" }}Try-it is disabled for PATCH /pathway-rules/{id}
This operation writes data. Running it from these docs would target the production API and change a real record. Copy the request sample and run it against staging first.
Authorization
BearerApiKey API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.
In: header
Path Parameters
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X PATCH "https://example.com/pathway-rules/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "id": "string", "trigger_type": "string", "rule_name": "string", "priority": 0, "conditions": {}, "creation_mode": "create_episode", "inbox_visibility": "surface", "journey_type": "string", "suggested_assignment": "string", "suggested_priority": "low", "expected_next_actor": "practice", "enabled": true, "created_at": "string", "updated_at": "string" }, "meta": { "request_id": "req_abc123" }}Try-it is disabled for DELETE /pathway-rules/{id}
This operation writes data. Running it from these docs would target the production API and change a real record. Copy the request sample and run it against staging first.
Authorization
BearerApiKey API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.
In: header
Path Parameters
uuidResponse Body
application/json
application/json
curl -X DELETE "https://example.com/pathway-rules/497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "data": null, "meta": { "request_id": "req_abc123" }}