Request API access
The Juno API and MCP are in private beta. API keys are not available through self-service; request access and Juno will issue a key if your integration is approved.
3 topics4 min read
What a key is
Every issued key is scoped to one organisation and one API data environment. The jsk_test_ and jsk_live_ prefixes identify that key environment; they are not the study's Test mode and Live mode. Study mode is controlled separately through the study lifecycle.
jsk_live_… jsk_test_…Key environments are not study modes A key's jsk_test_ or jsk_live_ prefix selects the API data environment. This is separate from a study's Test mode or Live mode: the study lifecycle is controlled by the mode field and the Go live action.
Scopes
Each key carries a set of scopes. Grant only what the integration needs — seven scopes cover the whole surface:
- studies:read: Read studies and their status.
- studies:write: Create and update studies, and change technical collection states. Go live needs its own scope.
- studies:golive: Set study mode to 'live'. This performs Go live.
- links:read: Read the invite link for a study.
- links:write: Create an invite link where the API requires an explicit link write.
- export:read: Request and download exports of Live-mode participant interviews.
- agent:run: Send agent-to-agent messages over A2A.
Using an issued key
After Juno issues a key, confirm which organisation, key environment, and scopes it resolves to before building against it. The whoami call returns all three:
GET /v1/api/meSend the key as a bearer token on every request:
Authorization: Bearer jsk_live_…Store the key when it arrives When access is approved, Juno sends the full key once. Copy it into your secret store immediately. If it is lost, ask Juno to revoke it and issue a replacement; the original cannot be recovered.