Retrieve a CIMD Client Registration API

On this page
Available since 1.70.0

This API is used to retrieve a single CIMD client registration by Id. FusionAuth creates a registration the first time a CIMD client logs in. To find a registration Id, use the Search for CIMD Client Registrations API.

Note

Unlike deleting a registration, this operation does not require the CIMD feature to be enabled on your license.

Request#

API Key Authentication
Retrieve a CIMD Client Registration by Id
GET/api/cimd/registration/{registrationId}

Request Headers#

X-FusionAuth-TenantId
  • Type: String
  • Optional

The unique Id of the tenant used to scope this API request.

The tenant Id is not required on this request even when more than one tenant has been configured because the tenant can be identified based upon other values in the request or it is otherwise not required.

Specify a tenant Id on this request when you want to ensure the request is scoped to a specific tenant. The tenant Id may be provided through this header or by using a tenant locked API key to achieve the same result.

See Making an API request using a Tenant Id for additional information.

Request Parameters#

registrationId
  • Type: UUID
  • Required

The Id of the CIMD client registration to retrieve.

Response#

If the request contains an X-FusionAuth-TenantId header, or the supplied API key is scoped to a specific Tenant, FusionAuth only returns a registration that belongs to that Tenant.

Response Codes
CodeDescription
200The request was successful. The response will contain a JSON body.
400The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. This status will also be returned if a paid FusionAuth license is required and is not present.
401You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See Authentication.
404The object you requested doesn't exist. The response will be empty.
500There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty.

Response Body#

registration.cacheExpirationInstant
  • Type: Long

The instant when the cached copy of the client's metadata document expires. After this instant, the registration enters the Grace state. See CIMD Registration Caching And Lifecycle.

registration.cimdDomainId
  • Type: UUID

The Id of the CIMD domain the client registered through.

registration.clientIdUrl
  • Type: String

The client's client_id URL.

registration.clientName
  • Type: String

The client_name value from the client's metadata document.

registration.clientUri
  • Type: String

The client_uri value from the client's metadata document.

registration.data
  • Type: Object

An object that can hold any information about the registration that should be persisted.

registration.graceExpirationInstant
  • Type: Long

The instant when the registration's grace period ends. After this instant, the registration enters the Expired state, and FusionAuth eventually deletes it. See The Grace Period.

registration.id
  • Type: UUID

The unique Id of the registration.

registration.insertInstant
  • Type: Long

The instant when FusionAuth created the registration.

registration.jwtPopulateLambdaId
  • Type: UUID

The Id of the JWT populate lambda for this client, as set by the domain's registration lambda. Only present when the registration lambda set a value.

registration.lastUpdateInstant
  • Type: Long

The instant when FusionAuth last updated the registration.

registration.overridesByResource
  • Type: Object

The scope decisions for each resource the client has used, keyed by the resource value. The domain's registration lambda makes these decisions, or FusionAuth copies the domain's settings when the domain has no registration lambda.

registration.overridesByResource[resource].providedScopePolicy
  • Type: Object

The standard OpenID Connect scopes this client may request for the resource. See the CIMD domain's providedScopePolicy in the CIMD Domain API for the structure.

registration.overridesByResource[resource].scopes
  • Type: Array<Object>

The custom OAuth scopes this client may request for the resource. See the CIMD domain's scopes in the CIMD Domain API for the structure.

registration.redirectUris
  • Type: Array<String>

The redirect_uris values from the client's metadata document.

registration.state
  • Type: String

The state of the registration, calculated from cacheExpirationInstant and graceExpirationInstant when FusionAuth builds the response. The possible values are:

  • Active - The cached copy of the client's metadata document hasn't expired.
  • Grace - The cached copy has expired, but the grace period hasn't ended.
  • Expired - The grace period has ended.
registration.tenantId
  • Type: UUID

The Id of the Tenant the client registered in.

Example Response JSON
{
  "registration": {
    "cacheExpirationInstant": 1792683600123,
    "cimdDomainId": "3c1f9a2b-7d4e-4b6a-9c8d-1e2f3a4b5c6d",
    "clientIdUrl": "https://claude.ai/oauth/mcp-oauth-client-metadata",
    "clientName": "Claude",
    "clientUri": "https://claude.ai",
    "data": {},
    "graceExpirationInstant": 1792683900123,
    "id": "8f3c2a1e-5b7d-4e9f-a1c3-2d4e6f8a0b1c",
    "insertInstant": 1792680000123,
    "lastUpdateInstant": 1792680000123,
    "overridesByResource": {
      "https://mcp.example.com/mcp": {
        "providedScopePolicy": {
          "address": {
            "enabled": false,
            "required": false
          },
          "email": {
            "enabled": true,
            "required": false
          },
          "phone": {
            "enabled": false,
            "required": false
          },
          "profile": {
            "enabled": true,
            "required": false
          }
        },
        "scopes": [
          {
            "defaultConsentDetail": "Read your calendar events.",
            "defaultConsentMessage": "View your calendar",
            "description": "Read access to calendar events.",
            "name": "calendar:read",
            "required": false
          }
        ]
      }
    },
    "redirectUris": [
      "https://claude.ai/api/mcp/auth_callback"
    ],
    "state": "Active",
    "tenantId": "30663132-6464-6665-3032-326466613934"
  }
}