Skip to main content


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 ClientApp here.

For this example you will need to provide an ID and Secret, but Redirect Uri is optional.

Connecting to the service

Execute a HTTP POST request to the OAuth2 Token endpoint:

curl -X POST \
-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": "...",
"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: