1 · Gateway health
GET https://api.kyeprotocol.com/health
One click. Full flow. Signed end to end.
You learn: What the purpose-permission endpoints take and return. You can: Pick a request and send it.
Clinical lead · Issue the grant
POST /purpose-permissions
{
"grantee": "<grantee>",
"purpose": "<purpose>",
"scope": "<scope>",
"ttl_days": 90
}
201{
"grantee": "kye:ent:halden.example:agent:clin-03",
"id": "kye:purpose:halden:clin-03:clinical-summarise-2026q4",
"issued_by": "kye:ent:halden.example:officer:clinical-lead",
"not_after": "2027-01-01T00:00:00Z",
"not_before": "2026-10-01T00:00:00Z",
"principal": "kye:ent:halden.example",
"purpose": {
"id": "kye:purpose-class:clinical.summarise",
"label": "Summarise care records for the treating clinician"
},
"restrictions": {
"dual_control": false,
"jurisdiction": [
"GB"
],
"rate_cap": {
"requests_per_minute": 20
},
"requires_evidence": true
},
"scope": {
"actions": [
"read",
"summarise"
],
"data_classes": [
"health.record"
],
"resources": [
"kye:res:halden.example:ehr:ward-7"
]
},
"version": 1
}Clinical lead · Reconfirm for 90 days
PATCH /purpose-permissions/%3Cid%3E
{
"ttl_days": 90
}
200{
"id": "kye:purpose:halden:clin-03:clinical-summarise-2026q4",
"not_after": "2027-04-01T00:00:00Z",
"reconfirmed_at": "2026-10-14T10:20:00Z"
}Clinical lead · Revoke the grant
DELETE /purpose-permissions/%3Cid%3E
200{
"id": "kye:purpose:halden:clin-03:clinical-summarise-2026q4",
"revoked_at": "2026-10-14T10:25:00Z",
"revoked_reason": "Clinical lead revoked the grant (demo)"
}You learn: How it works, one stage at a time. You can: Run it end to end.
Do I need to sign up?
KYE Protocol™
No.
Is this real?
KYE Protocol™
Yes. Real Workers. Real keys.
Can I see the source?
KYE Protocol™
Yes. The runtime is open.
Where does state go?
KYE Protocol™
Public sandbox DB. Resets daily.
Will it log my IP?
KYE Protocol™
No. Logs are scrubbed.
How many calls free?
KYE Protocol™
Up to 200 per hour.
Curl-friendly?
KYE Protocol™
Yes. Every endpoint.
Bring my own data?
KYE Protocol™
Yes. Drop a JSON. Try.
Live demoRun this demo at sandbox.kyeprotocol.com/demo.html; the same governed flow also runs in the terminal and the lab.
Runs a sample Action Request through every production Worker in the KYE™ runtime chain — kye-gateway → kye-pdp → back to your browser — and shows the response from each hop. No sign-up. No install. Uses the same public URLs you would use from your own code.
Plain Q&A
Short questions. Short answers.
GET https://api.kyeprotocol.com/health
GET https://pdp.kyeprotocol.com/health
GET https://edge.kyeprotocol.com/health
GET https://mcp.kyeprotocol.com/health
GET /v1/directory/widgets
POST /v1/decisions/evaluate
Idle. Click "Run" to fire all 6 probes.
{
"action": {
"id": "kye:action:demo:purchase:001",
"verb": "submit_payment",
"subject": "kye:agent:demo-sandbox-agent",
"object": "kye:invoice:acme:2026-Q2-099",
"amount": { "currency": "USD", "value": 4800.00 },
"context": { "channel": "sandbox-demo", "now_iso": "2026-05-14T22:00:00Z" }
},
"policy_set_id": "kye:policy-set:demo:public-purchase-v1"
}
No probe run yet.
stepstatusendpointlatency
The decision step requires a bearer token. The demo's call lands at kye-gateway's POST /v1/decisions/evaluate without one, so the expected response is 401 unauthorized — that's the deny-by-default guard surface working as designed. To run a real signed decision, mint an API key via the Customer Cloud → API keys panel and inject it as Authorization: Bearer ….
Canonical KYE™ surfaces referenced on this page: KYE™ Edge Governance™ · KYE™ MCP Server · KYE Protocol™.