Skip to main content

Client Credentials Authentication

The Medplum API uses standard OAuth2/OpenID authentication. "Client Credentials Flow" is recommended for machine-to-machine access.

Obtaining Credentials

This tutorial assumes you already have a Medplum account in good standing. (If not, please register.)

You will need to create a ClientApplication if one does not already exist. You can create a new ClientApplication here.

For this example you will need the ID and Secret.

Connecting to the service

Execute a HTTP POST request to the OAuth2 Token endpoint:

curl -X POST https://api.medplum.com/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=$MY_CLIENT_ID&client_secret=$MY_CLIENT_SECRET"

On success, the response will be a JSON object with the following properties:

{
"token_type": "Bearer",
"access_token": "<YOUR_AUTH_TOKEN>",
"expires_in": 3600
}

The value of "access_token" can then be used in future requests for authentication.

For more details about OAuth2 Client Credentials Flow: