API reference · Your application

Read your profile

GET/v1/profile

Your application’s identity, the Anis business account it acts for, and the permissions its current policy grants. Permissions are re-evaluated on every call, so read them rather than caching them.

Permissionprofile:read
AuthenticationSigned read
Staff-set limits it counts towardAll requests
.NET SDKanis.Profile.GetAsync()

Request

Signed with your key. No body, no nonce.

Headers: Signature-Input, Signature, X-Anis-Date, Accept-Language (optional). The SDKs set all of them for you.

Body: none.

Responses

StatusMeaningBody
200Success.Profile
401Refused: not authenticated.Problem
403Refused: not allowed.Problem
429Refused: a limit was reached.Problem
503No decision: a dependency was unavailable.Problem

Every answer is signed by Anis; the SDKs check it before you see it.

Refusals

Every refusal is a signed problem. Branch on its code; each links to what it means and what to do.

ErrorCodeStatus
Invalid credentialsinvalid_credentials401
Insufficient scopeinsufficient_scope403
Source address not allowedsource_ip_not_allowed403
Rate limitedrate_limited429
Account not authorisedbinding_not_authorized403
Service unavailabledependency_unavailable503
Request timeoutrequest_timeout504
Internal errorinternal_error500

Types

Profile

FieldTypeNotes
partneralways presentobjectThe partner your application belongs to.
partner.idalways presentUUIDThe partner’s id.
applicationalways presentobjectYour application.
application.idalways presentUUIDYour application’s id. It stays the same when your keys are replaced.
application.scopesalways presentlist of stringThe permissions your application has right now. Re-read rather than cache: a change applies to your next call.
ownerAccountobjectThe Anis business account your application acts for, when shown.
ownerAccount.idUUIDThe business account’s id.
ownerAccount.displayNamestringThe business account’s name.
documentationVersionstringThe version of this documentation the Anis deployment you called matches.