API7 Docs

Log in to API7 Enterprise using the LDAP username and password

POST /api/ldap/{login_option_id}/login

POST /api/ldap/{login_option_id}/login

Interactive request editor loads with JavaScript.

Authorization

X-API-KEY<token>

In: header

Path Parameters

login_option_id*string

Login option ID.

Request Body

application/json

Response Body

application/json

curl -X POST "$API_BASE_URL/api/ldap/string/login" \  -H "Content-Type: application/json" \  -d '{    "username": "john",    "password": "safe-password"  }'

Successfully retrieved or modified the login option.

{
  "value": {
    "id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
    "created_at": 1742288232,
    "updated_at": 1742288235,
    "name": "example-login",
    "logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH4SURBVHgBrVVLUhsxEH3SaBJSxJQWLLJKzAkClcqCVcINkhuYk6RygnCDkBOYI3iXTVKQE9ipggIGKKb42TAjNWrbY0+BkcY2b6ceqV/3688Ac6CrF+r/tfzmuyMxI25rL75klO+exDbFcxP0luItAjXbKteSsOe7qzAFWBJpbZOIVhNlkAkgyvHP96ZyBiyJMGaXnd8JQhJZgNBZSzGfRKS1LiRxR822dpwPPgq/PAyvRCzJnb1pukhXC9uZi5ylGfgPEzyZQbcWNwpJChtLcxyZ8WOaMYPua/XZRffzoT1xzq0Yn3vGX+B+EJOMr67yFkXZivO1XdjOnTRpROVr6XqKDmYh6JO4xy8vs00mMpJ2kpI0QwTl8RKUiZSlX+9yhcWSPqIiQaVBEyQ/Lbi2X7EK19LiULlOArWqvK00aC7wUSctWom3WcQZNH6/QT30VqACerX4HMMhY+yrfFxwgW3H9339aHLBgwQ8bG4e2sWZu+lAPSq4m0VsfDxF66E9KJE02Uge099Bj5ynzntjknNGuMgk3hd5JqU1McReluOrbx7CRRaynwGvCd5DIzOw5Vb1RmjYghkQdxCVNuhAks0PZ9hBBXgJSEPfGqoXPxdUkGQq8NK7WFL0Zxn0dxk/MAO8GQhX4E6cTSXJVAQnsdHXBmvzSHIP3R3bZScnj8UAAAAASUVORK5CYII=",
    "disable": false,
    "role_mapping": [
      {
        "role_id": "bd58fce2-b6cc-4d2d-a53c-6ce11b19c101",
        "role_attribute_key": "Position",
        "operation": "exact_match",
        "role_attribute_value": "Team Leader"
      }
    ],
    "boundary_mapping": [
      {
        "permission_policy_id": "b32e678e-7f6b-4a50-b113-550621ed4c01",
        "attribute_key": "Group",
        "operation": "exact_match",
        "attribute_value": "Finance"
      }
    ],
    "provider_type": "oidc",
    "oidc_config": {
      "client_id": "my-oidc-client-id",
      "client_secret": "s3cr3tK3yForOIDC",
      "issuer": "https://accounts.example.com",
      "request_scopes": [
        "openid",
        "email",
        "profile"
      ],
      "ssl_verify": true,
      "callback_url": "http://127.0.0.1:7080",
      "logout_url": "https://accounts.example.com/logout",
      "attributes": {
        "first_name": "john",
        "last_name": "doe",
        "username": "johndoe"
      }
    }
  }
}
Complete operation details and schema variants

POST /api/ldap/{login_option_id}/login

Log in to API7 Enterprise using the LDAP username and password

Authenticate a user through the specified LDAP login option and create a dashboard session.

Parameters

  • login_option_id (path, string, required): Login option ID.

Request body

Content type: application/json

  • username (string, required): The username of the user.
  • password (string, required): The password of the user.
  • otp (string, optional): The two-factor authentication code. Required only when the account has 2FA enabled. Accepts a TOTP code from an authenticator app or a one-time recovery code.

Responses

  • 200: Successfully retrieved or modified the login option.
  • allOf variant 1
  • value (object, optional): The specific resource.
  • allOf variant 2
  • value (object, optional):
  • allOf variant 1
  • value.id (string, optional): The object ID.
  • value.created_at (integer, optional): The object created timestamp.
  • value.updated_at (integer, optional): The object updated timestamp.
  • value.name (string, optional): Name of the login option.
  • value.logo (string, optional): The base64-encoded logo image.
  • value.disable (boolean, optional): If true, disable the login option.
  • value.role_mapping (array, optional): A list of role mappings defining operations and conditions under which roles are applied.
  • value.role_mapping[].role_id (string, required): Unique identifier for the role.
  • value.role_mapping[].role_attribute_key (string, required): The key used to identify the role attribute.
  • value.role_mapping[].operation (string, required): The operation to apply on the role attribute.
  • value.role_mapping[].role_attribute_value (string, required): The value expected for the role attribute based on the operation.
  • value.boundary_mapping (array, optional): A list of boundary mappings defining operations and conditions under which boundaries are applied.
  • value.boundary_mapping[].permission_policy_id (string, required): Unique identifier for the boundary permission policy.
  • value.boundary_mapping[].attribute_key (string, required): The Name of the boundary permission policy attribute.
  • value.boundary_mapping[].operation (string, required): The operation to apply on the role attribute.
  • value.boundary_mapping[].attribute_value (string, required): The value expected for the boundary permission policy attribute based on the operation.
  • allOf variant 2
  • oneOf variant 1: OIDC
  • value.provider_type (string, optional): The login option type.
  • value.oidc_config (object, optional): OIDC configuration.
  • value.oidc_config.client_id (string, required): The client ID of the OIDC provider.
  • value.oidc_config.client_secret (string, optional): The client secret of the OIDC provider.
  • value.oidc_config.issuer (string, required): The issuer URL of the OIDC provider.
  • value.oidc_config.request_scopes (array, required): The request scopes of the OIDC provider.
  • value.oidc_config.ssl_verify (boolean, optional): If true, verify the SSL certificate of the OIDC provider.
  • value.oidc_config.callback_url (string, optional): The root URL for the OIDC provider used to generate the callback URL.
  • value.oidc_config.logout_url (string, optional): The logout URL of the OIDC provider.
  • value.oidc_config.attributes (object, optional): The attributes used to map the user information to API7 Enterprise.
  • oneOf variant 2: SAML
  • value.provider_type (string, optional): The login option type.
  • value.saml_config (object, optional): SAML configuration.
  • value.saml_config.idp_metadata_url (string, required): The IdP metadata URL of the SAML provider.
  • value.saml_config.sp_root_url (string, required): The SP root URL of the SAML provider.
  • value.saml_config.sp_acs_url (string, optional): The SP ACS URL of the SAML provider.
  • value.saml_config.sp_slo_url (string, optional): The SP SLO URL of the SAML provider.
  • value.saml_config.sp_metadata_url (string, optional): The SP metadata URL of the SAML provider.
  • value.saml_config.sign_request (boolean, optional): Whether to sign the request of the SAML provider.
  • value.saml_config.certificate (string, optional): The certificate of the SAML provider.
  • value.saml_config.entity_id (string, optional): The entity ID of the SAML provider.
  • value.saml_config.attributes (object, optional): The attributes used to map the user information to API7 Enterprise.
  • oneOf variant 3: LDAP
  • value.provider_type (string, optional): The login option type.
  • value.ldap_config (object, optional): LDAP configuration.
  • value.ldap_config.host (string, required): The host domain of the LDAP server.
  • value.ldap_config.port (string, required): The port ID of the LDAP server.
  • value.ldap_config.base_dn (string, required): The base DN of the LDAP server.
  • value.ldap_config.bind_dn (string, required): Search user bind DN.
  • value.ldap_config.bind_password (string, optional): Search user bind password.
  • value.ldap_config.identifier (string, required): The identifier of the LDAP server. Together with the username, it forms the full DN.
  • value.ldap_config.attributes (object, optional): The attributes used to map the user information to API7 Enterprise.
  • value.ldap_config.timeout (integer, optional): Timeout in seconds.
  • value.ldap_config.use_ssl (boolean, optional): Set it to true if the LDAP server uses an encrypted TLS connection.
  • value.ldap_config.ssl_verify (boolean, optional): Set it to false if you want to skip SSL certificate validation.
  • value.ldap_config.root_ca_cert (string, optional): Set the data of your root CA certificate.
  • value.ldap_config.client_cert (string, optional): The client certificate.
  • value.ldap_config.client_key (string, optional): The client private key.
  • oneOf variant 4: Built-in
  • value.provider_type (string, optional): The login option type.
  • value.builtin_config (object, optional): Built-in configuration.
  • value.builtin_config.login_with_email (boolean, optional): If true, enable email login.
  • 400: Invalid arguments. Error details will be provided in the response.

cURL

curl -X POST '$API_BASE_URL/api/ldap/{login_option_id}/login'