From token to response
Get a token
OIDC against Zitadel. Service accounts get exactly the scopes the integration actually needs — nothing more.
Call v1
The base URL carries the version. Staging runs the same contract as production.
Generate the client
Don't write the types by hand. The contract file lives in
packages/contracts/openapi/marketmute.openapi.yamland the clients are generated withscripts/generate-contracts.sh.
# Bearer token from Zitadel (OIDC)
curl -sS https://api.marketmute.com/v1/me/identity \
-H "Authorization: Bearer $MARKETMUTE_TOKEN" \
-H "Accept: application/json"