request a new token.md

Request a new token

POST https://app.mk.io/api/v1/user/tokens

Request a new token granting access to the MK.IO API. There are four types of tokens.

Where possible you should prefer 'restricted' tokens over 'full-access' tokens to reduce the impact if one is exposed accidentally.
An API token allows access to MK.IO to anyone who has a copy of it - you should treat these like your car keys and keep them safe.

Requires authentication; no additional RBAC permissions required.

Authentication

Request body

Content type: application/json

Example request

curl -X POST "https://app.mk.io/api/v1/user/tokens" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
  "description": "Development token for my home machine",
  "expireDate": "2024-01-01T00:00:00Z",
  "organizationId": "00000000-0000-0000-0000-000000000000",
  "permissions": {},
  "type": "full-access"
}'

Responses

201 — Created

Example:

{
  "kind": "string",
  "metadata": {
    "JWT": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "type": "full-access"
  },
  "spec": {
    "description": "string",
    "expires": "2024-01-01T00:00:00Z",
    "issued": "2024-01-01T00:00:00Z",
    "lastUsed": "2024-01-01",
    "organizationId": "00000000-0000-0000-0000-000000000000",
    "permissions": {},
    "revoked": "2024-01-01T00:00:00Z",
    "revokedBy": "string",
    "user": "string"
  }
}

400 — Bad Request

Example:

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}

401 — Unauthorized

Example:

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}

403 — Forbidden

Example:

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}

404 — Not Found

Example:

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}

429 — Too Many Requests

Example:

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}

500 — Internal Server Error

Example:

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}

Source spec: management-api · operationId: [post]_/api/v1/user/tokens