Endpoints

Who this key is

The organisation a key acts for, and what its plan allows. Free.

GEThttps://api.formalogic.io/v1/me

Which organisation this key acts for, and what its plan allows.

curl https://api.formalogic.io/v1/me \
  -H "Authorization: Bearer $FORMA_API_KEY"

Response 200

The organisation this key belongs to.

org_idstringThe organisation this key acts for. Stable forever — use it as a scope key, not the slug, which can be renamed
planstringThe tier the organisation is on
requests_per_minuteinteger or nullWhat the plan is sold on. null if this build does not recognise the plan
featuresarray of stringsFeatures turned on for this organisation beyond its plan. Usually empty

Errors

401KEY_MISSINGKEY_UNKNOWNKEY_REVOKEDKEY_EXPIREDThe key is missing, unknown, revoked or expired — see Authentication
403ORG_DISABLEDThe key is fine and its organisation is not active — see Authentication
404NOT_FOUNDNo organisation for this key

Every code, and what to do about it, is on Errors.

The request is generated from the API's OpenAPI document; the response and errors are held to real responses and to the Errors page.

Use it to confirm a key works and to learn which organisation it belongs to. A service that accepts Forma keys from its own users — an MCP server, a CI step, an internal tool — calls this to check a key and scope by organisation, rather than making a call that costs credits and reading the outcome.

Response

json
{
  "org_id": "org_01JBQ2X9V3K4M5N6P7R8S9T0UV",
  "plan": "pro",
  "requests_per_minute": 120,
  "features": []
}

Free

Listing who you are costs no credits, for the same reason listing the catalogue does not: you should not have to spend a credit to discover that you have none left. A key with an empty balance still gets a 200 here.

requests_per_minute is advisory

It is the number your plan is sold on, published so a client can pace itself against the same figure rather than keeping its own copy that drifts when a tier changes. Pace your calls to it; it may be enforced without notice. What limits a call today is credits; running out returns 402.

features

Features turned on for your organisation beyond what your plan includes, by name. For most organisations it is empty. A tool can read it to decide what to offer, rather than trying a call and reading the refusal.

Refusals

The usual key refusals apply, and this endpoint is the cheapest way to tell them apart — KEY_REVOKED and KEY_EXPIRED are things a person can fix themselves, if the tool asking on their behalf says which one happened. The codes are in the Errors table above.