API reference · Account

The account and this key

GET/v1/me

Account type, display name and tier, and this key's id, name, scopes, IP allowlist and expiry.

Scope
Any valid key.
Rate-limit class
read
Authentication
Signed

Responses

200 OK

The account and key. application/json · Me

  • accountobject
    3 properties
    • typestring (enum)

      One of person, company.

    • namestring
    • tierstring

      The account's fee tier.

      Matches ^tier-\d{1,3}$.

  • keyobject
    6 properties
    • idstring

      Matches ^mk_(live|test)_[a-z0-9]{20}$.

    • namestring
    • scopesarray of string (enum)
    • ip_allowlistarray of string
    • created_atstring (date-time)
    • expires_atstring (date-time)nullable

      null for a key without expiry.

Every response carries MK-Request-Id, plus RateLimit-Policy and RateLimit.

Errors

Errors use the error envelope. Match on code.

StatusCodeMeaning
400invalid_requestThe request is malformed: bad JSON, an unknown or invalid field, or a missing header.
401invalid_signatureThe MK-* headers are missing or malformed, the key id is unknown, or the signature doesn't match.
401key_expiredThe key has passed its expiry date.
401key_revokedThe key was revoked.
401timestamp_out_of_rangeMK-Timestamp is more than 30 seconds from the server clock.
401nonce_reusedThis key already used this MK-Nonce.
403ip_not_allowedThe request came from an address outside the key's IP allowlist.
403account_restrictedThe account can't use the API right now (for example locked, inactive, or onboarding not finished).
403api_access_disabledAPI access is switched off.
429rate_limitedToo many requests. Wait for Retry-After seconds.
429too_many_concurrent_requestsToo many requests in flight for this key or account.
429key_suspendedThe key is suspended, for example after sustained rate limiting.
500internal_errorSomething went wrong on our side.
502bad_gatewayAn upstream service answered unexpectedly.
503overloadedThe service is overloaded. Retry after Retry-After seconds.
503service_unavailableThe service is temporarily unavailable.
504gateway_timeoutAn upstream service didn't answer in time. A POST may still complete; retry with the same Idempotency-Key.

Request

# Signed by sign-headers.sh: see Authentication
curl https://public-api.myntkaup.is/v1/me \
  $(./sign-headers.sh GET /v1/me | sed 's/^/-H /')
import { Myntkaup } from "@myntkaup/api";

const client = new Myntkaup(); // reads the key from the environment
const me = await client.me();
console.log(me.account.name, me.key.scopes);
from myntkaup import Myntkaup

client = Myntkaup()  # reads the key from the environment
me = client.me()
print(me["account"]["name"], me["key"]["scopes"])

Response

200 OK
{
  "account": {
    "type": "person",
    "name": "Jón Jónsson",
    "tier": "tier-1"
  },
  "key": {
    "id": "mk_live_4f9c2a7d1e0b8c6a5d3f",
    "name": "DCA bot",
    "scopes": [
      "account:read",
      "transactions:read"
    ],
    "ip_allowlist": [
      "203.0.113.10"
    ],
    "created_at": "2026-11-01T09:30:00Z",
    "expires_at": "2027-01-30T09:30:00Z"
  }
}

Base URL https://public-api.myntkaup.is