Getting Started
Authentication

Authentication

The Jump EHR API uses API keys to authenticate requests. You can create and manage your API keys in the Jump EHR dashboard.

API Keys

All API requests require a valid API key passed in the Authorization header:

Authorization: Bearer pk_live_your_api_key

Key Types

Jump EHR provides two types of API keys:

TypePrefixPurpose
Testpk_test_Development and testing. Uses sandbox data.
Livepk_live_Production use. Accesses real patient data.
⚠️

Live API keys provide access to real patient data. Only use them in secure server-side environments.

Creating API Keys

  1. Log in to your Jump EHR dashboard
  2. Navigate to Settings > API Keys
  3. Click Create API Key
  4. Enter a descriptive name (e.g., "Production Backend", "Development")
  5. Select the mode (Test or Live)
  6. Choose the required scopes
  7. Click Create

Your API key will only be displayed once. Copy it immediately and store it securely.

Revoking Keys

You can revoke an API key at any time from the dashboard. Revoked keys will immediately stop working for all API requests.

Authentication Examples

curl -X GET "https://app.usejump.co.uk/functions/v1/api-v1/patients" \
  -H "Authorization: Bearer pk_live_your_api_key"

JavaScript

const response = await fetch(
  'https://app.usejump.co.uk/functions/v1/api-v1/patients',
  {
    headers: {
      'Authorization': 'Bearer pk_live_your_api_key',
      'Content-Type': 'application/json'
    }
  }
);

Python

import requests
 
response = requests.get(
    'https://app.usejump.co.uk/functions/v1/api-v1/patients',
    headers={
        'Authorization': 'Bearer pk_live_your_api_key',
        'Content-Type': 'application/json'
    }
)

Scopes

API keys are assigned scopes that control which resources they can access. Request only the scopes your application needs.

Core Resource Scopes

ScopeDescription
read_patientsView patient records and demographics
write_patientsCreate and update patient records
read_appointmentsView appointment records
write_appointmentsCreate, update, and cancel appointments
read_episodesView episodes and episode events
write_episodesCreate episodes, add events, close/reopen/assign
read_questionnairesView questionnaire templates and responses
write_questionnairesCreate and update questionnaire responses

Configuration Scopes

ScopeDescription
read_appointment_templatesView appointment type configuration
write_appointment_templatesCreate and update appointment templates
read_pathwaysView pathway configs and rules
write_pathwaysUpdate pathway configs, manage pathway rules

Read-Only Resource Scopes

ScopeDescription
read_consultationsView consultation records and clinical sections
read_locationsView practice locations
read_clinician_profilesView clinician profiles and booking status
read_availabilityQuery booking slot availability

Webhook Scopes

ScopeDescription
manage_webhooksCreate, update, delete, and test webhook endpoints

Some scopes cover related resources. read_episodes / write_episodes grants access to both /episodes and /episode-events. read_questionnaires / write_questionnaires covers both templates and responses. read_pathways / write_pathways covers both configs and rules.

API keys default to ['read_patients'] if no scopes are specified during creation. Request only the scopes your application actually needs.

Authentication Errors

Status CodeError CodeDescription
401UNAUTHORISEDMissing or invalid API key
403FORBIDDENValid key but missing required scope

Error Response

{
  "data": null,
  "meta": { "request_id": "req_abc123" },
  "error": {
    "code": "FORBIDDEN",
    "message": "Missing required scope: 'read_episodes'. Your API key has scopes: [read_patients]."
  }
}

Security Best Practices

Following these practices helps protect your API keys and patient data.

  1. Never expose keys in client-side code - API keys should only be used in server-side applications
  2. Use environment variables - Store keys in environment variables, not in source code
  3. Rotate keys regularly - Create new keys periodically and revoke old ones
  4. Use minimal scopes - Only request the scopes your application actually needs
  5. Monitor usage - Review API logs for unexpected activity
  6. Use test keys for development - Only use live keys in production environments

Next Steps