Skip to content

Quickstart

1 min read Last updated Jun 16, 2026

Get from zero to your first API calls in a sandbox tenant. If you don’t have one yet, request access.

Exchange your client credentials for a bearer token. See Authentication for the full token request shape.

Terminal window
export EFIMIS_TOKEN=$(curl -s -X POST \
"https://id.efimis.com/.../oauth2/v2.0/token" \
-d "grant_type=client_credentials&client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&scope=..." \
| jq -r .access_token)

A client is an entity in the role of a client. First create the entity, then assign the client role.

Terminal window
# Create entity
ENTITY_ID=$(curl -s -X POST "https://api.sandbox.uk.efimis.com/acme/v1/entities" \
-H "Authorization: Bearer $EFIMIS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"entityType":"Individual","firstName":"Gordon","lastName":"Smith","currency":"GBP","email":"gordon.smith@example.com"}' \
| jq -r .data.id)
# Assign client role
CLIENT_ID=$(curl -s -X POST "https://api.sandbox.uk.efimis.com/acme/v1/clients" \
-H "Authorization: Bearer $EFIMIS_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"entityId\":\"$ENTITY_ID\"}" \
| jq -r .data.id)
Terminal window
MATTER_ID=$(curl -s -X POST "https://api.sandbox.uk.efimis.com/acme/v1/matters" \
-H "Authorization: Bearer $EFIMIS_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"clientId\":\"$CLIENT_ID\",\"title\":\"Smith v. Johnson\"}" \
| jq -r .data.id)
echo "Matter: $MATTER_ID"
Terminal window
curl -X POST "https://api.sandbox.uk.efimis.com/acme/v1/workitems" \
-H "Authorization: Bearer $EFIMIS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"matterId": "<MATTER_ID>",
...
}'