Update SAML application

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
PATCH /api/saml-applications/{id}

Update SAML application details by ID.

Path parameters

  • id string Required

    The unique identifier of the saml application.

application/json

Body Required

  • name string

    The name of the SAML application.

    Minimum length is 1, maximum length is 256.

  • description string | null

    Description of the SAML application.

  • customData object

    Custom data for the application.

    Additional properties are allowed.

  • appLevelAccessControlEnabled boolean

    Whether app-level access control is enabled for this application.

  • attributeMapping object
    Hide attributeMapping attributes Show attributeMapping attributes object
    • sub string
    • name string
    • given_name string
    • family_name string
    • middle_name string
    • nickname string
    • preferred_username string
    • profile string
    • picture string
    • website string
    • email string
    • email_verified string
    • gender string
    • birthdate string
    • zoneinfo string
    • locale string
    • phone_number string
    • phone_number_verified string
    • address string
    • updated_at string
    • username string
    • created_at string
    • custom_data string
    • identities string
    • sso_identities string
    • roles string
    • organizations string
    • organization_data string
    • organization_roles string
  • entityId string | null

    Maximum length is 128.

  • acsUrl string | null

    The Assertion Consumer Service (ACS) URL.

  • encryption object | null

    Validator function

    Additional properties are allowed.

  • authnRequestConfig object | null

    IdP-side authentication policy. Fresh authentication is forced unless forceAuthn is explicitly false, including when this object is null or empty. PATCH replaces this object.

    Additional properties are allowed.

    Hide authnRequestConfig attributes Show authnRequestConfig attributes object | null
    • forceAuthn boolean

      Require fresh authentication for every sign-in to this application. Set to false to reuse an existing session unless the SP requests ForceAuthn.

      Default value is true.

    • requireSignedAuthnRequests boolean

      Require signed AuthnRequests for both HTTP-POST and HTTP-Redirect bindings. Defaults to false.

      Default value is false.

    • signingCertificate string

      PEM-encoded RSA X.509 signing certificate of the service provider. Required when requireSignedAuthnRequests is true. Used independently of the assertion encryption certificate.

  • nameIdFormat string

    Values are urn:oasis:names:tc:SAML:2.0:nameid-format:persistent, urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress, urn:oasis:names:tc:SAML:2.0:nameid-format:transient, or urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified.

Responses

  • 200 application/json

    The SAML application was updated successfully.

    Hide response attributes Show response attributes object
    • tenantId string Required

      Maximum length is 21.

    • id string Required

      Minimum length is 1, maximum length is 21.

    • name string Required

      Minimum length is 1, maximum length is 256.

    • description string | null Required
    • type string Required

      Values are Native, SPA, Traditional, MachineToMachine, Protected, or SAML.

    • customData object Required

      arbitrary

      Additional properties are allowed.

    • isThirdParty boolean Required
    • appLevelAccessControlEnabled boolean Required
    • createdAt number Required
    • attributeMapping object Required
      Hide attributeMapping attributes Show attributeMapping attributes object
      • sub string
      • name string
      • given_name string
      • family_name string
      • middle_name string
      • nickname string
      • preferred_username string
      • profile string
      • picture string
      • website string
      • email string
      • email_verified string
      • gender string
      • birthdate string
      • zoneinfo string
      • locale string
      • phone_number string
      • phone_number_verified string
      • address string
      • updated_at string
      • username string
      • created_at string
      • custom_data string
      • identities string
      • sso_identities string
      • roles string
      • organizations string
      • organization_data string
      • organization_roles string
    • entityId string | null Required

      Maximum length is 128.

    • acsUrl object | null Required
      Hide acsUrl attributes Show acsUrl attributes object | null
      • binding string Required

        Values are urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST or urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect.

      • url string(url) Required
    • encryption object | null Required

      Validator function

      Additional properties are allowed.

    • authnRequestConfig object | null Required

      Validator function

      Additional properties are allowed.

    • nameIdFormat string Required

      Values are urn:oasis:names:tc:SAML:2.0:nameid-format:persistent, urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress, urn:oasis:names:tc:SAML:2.0:nameid-format:transient, or urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified.

  • 400

    Bad Request

  • 401

    Unauthorized

  • 403

    Forbidden

  • 404

    The SAML application was not found.

  • 422

    Validation error.

PATCH /api/saml-applications/{id}
curl \
 --request PATCH 'https://[tenant_id].logto.app/api/saml-applications/{id}' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "name": "string",
  "description": "string",
  "customData": {},
  "appLevelAccessControlEnabled": true,
  "attributeMapping": {
    "sub": "string",
    "name": "string",
    "given_name": "string",
    "family_name": "string",
    "middle_name": "string",
    "nickname": "string",
    "preferred_username": "string",
    "profile": "string",
    "picture": "string",
    "website": "string",
    "email": "string",
    "email_verified": "string",
    "gender": "string",
    "birthdate": "string",
    "zoneinfo": "string",
    "locale": "string",
    "phone_number": "string",
    "phone_number_verified": "string",
    "address": "string",
    "updated_at": "string",
    "username": "string",
    "created_at": "string",
    "custom_data": "string",
    "identities": "string",
    "sso_identities": "string",
    "roles": "string",
    "organizations": "string",
    "organization_data": "string",
    "organization_roles": "string"
  },
  "entityId": "string",
  "acsUrl": "string",
  "encryption": {},
  "authnRequestConfig": {
    "forceAuthn": true,
    "requireSignedAuthnRequests": false,
    "signingCertificate": "string"
  },
  "nameIdFormat": "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
}'
Request examples
{
  "name": "string",
  "description": "string",
  "customData": {},
  "appLevelAccessControlEnabled": true,
  "attributeMapping": {
    "sub": "string",
    "name": "string",
    "given_name": "string",
    "family_name": "string",
    "middle_name": "string",
    "nickname": "string",
    "preferred_username": "string",
    "profile": "string",
    "picture": "string",
    "website": "string",
    "email": "string",
    "email_verified": "string",
    "gender": "string",
    "birthdate": "string",
    "zoneinfo": "string",
    "locale": "string",
    "phone_number": "string",
    "phone_number_verified": "string",
    "address": "string",
    "updated_at": "string",
    "username": "string",
    "created_at": "string",
    "custom_data": "string",
    "identities": "string",
    "sso_identities": "string",
    "roles": "string",
    "organizations": "string",
    "organization_data": "string",
    "organization_roles": "string"
  },
  "entityId": "string",
  "acsUrl": "string",
  "encryption": {},
  "authnRequestConfig": {
    "forceAuthn": true,
    "requireSignedAuthnRequests": false,
    "signingCertificate": "string"
  },
  "nameIdFormat": "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
}
Response examples (200)
{
  "tenantId": "string",
  "id": "string",
  "name": "string",
  "description": "string",
  "type": "Native",
  "customData": {},
  "isThirdParty": true,
  "appLevelAccessControlEnabled": true,
  "createdAt": 42.0,
  "attributeMapping": {
    "sub": "string",
    "name": "string",
    "given_name": "string",
    "family_name": "string",
    "middle_name": "string",
    "nickname": "string",
    "preferred_username": "string",
    "profile": "string",
    "picture": "string",
    "website": "string",
    "email": "string",
    "email_verified": "string",
    "gender": "string",
    "birthdate": "string",
    "zoneinfo": "string",
    "locale": "string",
    "phone_number": "string",
    "phone_number_verified": "string",
    "address": "string",
    "updated_at": "string",
    "username": "string",
    "created_at": "string",
    "custom_data": "string",
    "identities": "string",
    "sso_identities": "string",
    "roles": "string",
    "organizations": "string",
    "organization_data": "string",
    "organization_roles": "string"
  },
  "entityId": "string",
  "acsUrl": {
    "binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
    "url": "string"
  },
  "encryption": {},
  "authnRequestConfig": {},
  "nameIdFormat": "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
}