Get the installed license.

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://openapi.logto.io/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Logto API references MCP server": {
    "url": "https://openapi.logto.io/mcp"
  }
}

Close
GET /api/systems/license

Get the license installed on this self-hosted deployment, i.e. the plan it grants, the entitlements it unlocks, its expiration, and its refresh/grace status. The license key itself is never returned. Returns 404 when no license is installed, and 501 on Logto Cloud.

Responses

  • 200 application/json

    The installed license.

    Hide response attributes Show response attributes object
    • plan string Required

      Values are self-hosted-pro or self-hosted-enterprise.

    • env string Required

      Values are production or non-production.

    • quota object Required
      Hide quota attributes Show quota attributes object
      • hideLogtoBranding boolean Required
      • bringYourUi boolean Required
      • idpInitiatedSso boolean Required
      • consoleCollaboration boolean Required
      • mandatoryMfa boolean Required
      • hostedEmail boolean Required
      • samlApplicationsLimit number | null Required
    • expiresAt string Required
    • installedAt string Required
    • lastRefreshedAt string Required
    • graceEndsAt string Required
    • refusalReason string
    • usageLimits object

      The advisory usage limits signed into the license key. Exceeding one only raises a usage warning and never blocks anything. An absent or null limit means the metric is only reported.

      Hide usageLimits attributes Show usageLimits attributes object
      • mau number | null
      • productionDeployments number | null
      • monthlyAccessTokens number | null
    • usage object

      The usage of this deployment across all tenants except the admin tenant, in UTC calendar months: the last full month and the current month so far. Absent when the usage could not be collected.

      Hide usage attributes Show usage attributes object
      • month string(regex) Required

        Format should match the following pattern: /^\d{4}-\d{2}$/.

      • mau object Required
        Hide mau attributes Show mau attributes object
        • lastMonth number Required
        • monthToDate number Required
      • monthlyAccessTokens object Required
        Hide monthlyAccessTokens attributes Show monthlyAccessTokens attributes object
        • lastMonth number Required
        • monthToDate number Required
      • tenants number Required
    • usageWarnings array[object]

      The usage metrics above their limits. MAU and access tokens are evaluated locally from the larger of the last full month and the month to date, so they also work offline and with usage reporting disabled. Notices returned by the license service with the last refresh, such as too many production deployments, are included for the other metrics.

      Hide usageWarnings attributes Show usageWarnings attributes object
      • metric string Required

        Minimum length is 1.

      • limit number Required
      • value number Required
    • usageReportingEnabled boolean

      Whether the license refresh sends the usage of this deployment to Logto. Read-only: set the SELF_HOSTED_LICENSE_USAGE_REPORTING_DISABLED environment variable on every instance to disable it.

  • 401

    Unauthorized

  • 403

    Forbidden

  • 404

    No license is installed on this deployment.

  • 501

    Licenses are only available on self-hosted deployments.

GET /api/systems/license
curl \
 --request GET 'https://[tenant_id].logto.app/api/systems/license' \
 --header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
  "plan": "self-hosted-pro",
  "env": "production",
  "quota": {
    "hideLogtoBranding": true,
    "bringYourUi": true,
    "idpInitiatedSso": true,
    "consoleCollaboration": true,
    "mandatoryMfa": true,
    "hostedEmail": true,
    "samlApplicationsLimit": 42.0
  },
  "expiresAt": "string",
  "installedAt": "string",
  "lastRefreshedAt": "string",
  "graceEndsAt": "string",
  "refusalReason": "string",
  "usageLimits": {
    "mau": 42.0,
    "productionDeployments": 42.0,
    "monthlyAccessTokens": 42.0
  },
  "usage": {
    "month": "string",
    "mau": {
      "lastMonth": 42.0,
      "monthToDate": 42.0
    },
    "monthlyAccessTokens": {
      "lastMonth": 42.0,
      "monthToDate": 42.0
    },
    "tenants": 42.0
  },
  "usageWarnings": [
    {
      "metric": "string",
      "limit": 42.0,
      "value": 42.0
    }
  ],
  "usageReportingEnabled": true
}