API Reference

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.

GET
/pathway-rules

Authorization

BearerApiKey
AuthorizationBearer <token>

API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.

In: header

Query Parameters

limit?integer

Maximum number of records to return (1–100, default 20)

Range1 <= value <= 100
Default20
offset?integer

Number of records to skip (default 0)

Range0 <= value
Default0
trigger_type?string
enabled?string

Response 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
AuthorizationBearer <token>

API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.

In: header

Header Parameters

Idempotency-Key?string

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.

Formatuuid

Request 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"  }}
GET
/pathway-rules/{id}

Authorization

BearerApiKey
AuthorizationBearer <token>

API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.

In: header

Path Parameters

id*string
Formatuuid

Response 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
AuthorizationBearer <token>

API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.

In: header

Path Parameters

id*string
Formatuuid

Request 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
AuthorizationBearer <token>

API key with the pk_live_ prefix. pk_test_ keys are refused (403 TEST_MODE_UNAVAILABLE) until a sandbox exists.

In: header

Path Parameters

id*string
Formatuuid

Response 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"  }}