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
  • 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"
}