Introduction

With IBM® Cloud App ID, you can secure resources and add authentication; even when you don't have a lot of security experience. By requiring users to sign in to your app, you can store user data such as preferences or information from their public social profiles that you can use to customize each experience of your app.

Need some help getting started? Check out this video tutorial on working with the Management API.

API endpoint

https://<region>.appid.cloud.ibm.com

Replace <region> with the prefix that represents the geographic area where your App ID service instance resides. For more informaton, see Managing App ID with the API.

Authentication

This API is protected by IBM Cloud Identity and Access Management. You can use the following steps to obtain an IAM token. Note: To define fine grain access policies, you must have an instance of App ID that was created after March 15, 2018.

  1. In the IBM Cloud dashboard, click Manage > Access (IAM).
  2. Select IBM Cloud API keys.
  3. Click Create an IBM Cloud API key
  4. Give your key a name and describe it. Click Create. A screen displays with your your key.
  5. Click Copy or Download your key. When you close the screen, you can no longer access the key.
  6. Make the following cURL request with the API key that you created.
  7. curl -k -X POST \
        --header "Content-Type: application/x-www-form-urlencoded" \
        --header "Accept: application/json" \
        --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
        --data-urlencode "apikey={apikey}" \
        "https://iam.cloud.ibm.com/identity/token"

For more information, see the IAM documentation.

Don't see the API endpoint that you're looking for? Check out the other APIs for Authorization and authentication and Profiles.

Error handling

This API uses standard HTTP response codes to indicate whether a method completed successfully. Check out the following table for a general description of each error type.

HTTP Error Code Description Recovery
200 Success The request was successful.
400 Bad Request The input parameters in the request body are either incomplete or in the wrong format. Be sure to include all required parameters and that your request is formatted correctly.
401 Unauthorized You are not authorized to make this request or your token is invalid. Obtain a new access token.
404 Not Found The requested resource could not be found.
408 Request Timeout The connection to the server timed out. Wait a few minutes, then try again.
409 Conflict The entity is already in the requested state.
500 Internal Server Error App ID is currently unavailable. Your request could not be processed. Wait a few minutes and try again.

Methods

Get Facebook IDP configuration

Returns the Facebook identity provider configuration.

GET /management/v4/{tenantId}/config/idps/facebook

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns a JSON object of the Facebook identity provider configuration, including the status and credentials. Learn more.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true,
      "config": {
        "idpId": "facebook_appID",
        "secret": "facebook_appsecret"
      },
      "redirectURL": "https://us-south.appid.cloud.ibm.com/oauth/v4/39a37f57-a227-4bfe-a044-93b6e6060b61/Facebook/callback"
    }

Update Facebook IDP configuration

Configure Facebook to set up a single sign-on experience for your users. By using Facebook, users are able to sign in with credentials with which they are already familiar. Learn more.

PUT /management/v4/{tenantId}/config/idps/facebook

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The identity provider configuration as a JSON object. If the configuration is not set, IBM default credentials are used.

Response

Status Code

  • The Facebook configuration was updated. Returns a JSON object of the idp data.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true,
      "config": {
        "idpId": "facebook_appID",
        "secret": "facebook_appsecret"
      }
    }

Get Google IDP configuration

Returns the Google identity provider configuration.

GET /management/v4/{tenantId}/config/idps/google

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns a JSON object of the Google identity provider configuration, including the status and credentials. Learn more.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true,
      "config": {
        "idpId": "google_appID",
        "secret": "google_appsecret"
      },
      "redirectURL": "https://us-south.appid.cloud.ibm.com/oauth/v4/39a37f57-a227-4bfe-a044-93b6e6060b61/Google/callback"
    }

Update Google IDP configuration

Configure Google to set up a single sign-on experience for your users. By using Google, users are able to sign in with credentials with which they are already familiar. Learn more.

PUT /management/v4/{tenantId}/config/idps/google

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The identity provider configuration as a JSON object. If the configuration is not set, IBM default credentials are used.

Response

Status Code

  • The Google configuration was updated. Returns a JSON object of the idp data.

  • The tenantId or request body is missing or invalid. The tenantId can be found in the service credentials.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true,
      "config": {
        "idpId": "google_appID",
        "secret": "google_appsecret"
      }
    }

Returns the Custom identity configuration.

GET /management/v4/{tenantId}/config/idps/custom

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns a JSON object of the Custom identity configuration containing the PEM public key and the isActive status.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true,
      "config": {
        "publicKey": "-----BEGIN RSA PUBLIC KEY-----u0mGFYvwLArEZNrK5SBwd...vPeBHF3Kq2xDfvhTBsl79j-----END RSA PUBLIC KEY-----"
      }
    }

Update or change the configuration of the Custom identity.

Configure App ID Custom identity to allow users to sign-in using your own identity provider.

PUT /management/v4/{tenantId}/config/idps/custom

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The identity provider configuration as a JSON object.

Example:

Response

Status Code

  • The Custom identity configuration was updated. Returns a JSON object of the updated configuration.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true,
      "config": {
        "publicKey": "-----BEGIN RSA PUBLIC KEY-----u0mGFYvwLArEZNrK5SBwd...vPeBHF3Kq2xDfvhTBsl79j-----END RSA PUBLIC KEY-----"
      }
    }

Get Cloud Directory IDP configuration

Returns the Cloud Directory identity provider configuration. Learn more.

GET /management/v4/{tenantId}/config/idps/cloud_directory

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns a JSON object of the Cloud Directory identity provider configuration, including the status and credentials.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true,
      "config": {
        "selfServiceEnabled": true,
        "signupEnabled": true,
        "interactions": {
          "identityConfirmation": {
            "accessMode": "FULL",
            "methods": [
              "email"
            ]
          },
          "welcomeEnabled": false,
          "resetPasswordEnabled": false,
          "resetPasswordNotificationEnable": true
        },
        "identityField": "email"
      }
    }

Update Cloud Directory IDP configuration

Configure Cloud Directory to set up a single sign-on experience for your users. With Cloud Directory users can use their email and a password of their choice to log in to your applications. Learn more.

PUT /management/v4/{tenantId}/config/idps/cloud_directory

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The identity provider configuration as a JSON object. If the configuration is not set, IBM default credentials are used.

Response

Status Code

  • The Cloud Directory configuration was updated. Returns a JSON object of the idp data.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true,
      "config": {
        "selfServiceEnabled": true,
        "signupEnabled": true,
        "interactions": {
          "identityConfirmation": {
            "accessMode": "FULL",
            "methods": [
              "email"
            ]
          },
          "welcomeEnabled": false,
          "resetPasswordEnabled": false,
          "resetPasswordNotificationEnable": true
        },
        "identityField": "email"
      }
    }

Get SAML IDP configuration

Returns the SAML identity provider configuration, including status and credentials. Learn more.

GET /management/v4/{tenantId}/config/idps/saml

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns the identity provider configuration for SAML as a JSON object.

  • The tenantId or request body is missing or invalid. The tenantId can be found in the service credentials.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true,
      "config": {
        "entityID": "https://example.com/saml2/metadata/706634",
        "signInUrl": "https://example.com/saml2/sso-redirect/706634",
        "certificates": [
          "certificate-example-pem-format"
        ],
        "displayName": "my saml example",
        "authnContext": {
          "class": [
            "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"
          ],
          "comparison": "exact"
        },
        "signRequest": false,
        "encryptResponse": false
      }
    }

Update SAML IDP configuration

Configure SAML to set up a single sign-on experience for your users. Learn more.

PUT /management/v4/{tenantId}/config/idps/saml

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The identity provider configuration as a JSON object.

Response

Status Code

  • The SAML configuration was updated. Returns a JSON object of the idp data.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true,
      "config": {
        "entityID": "https://example.com/saml2/metadata/706634",
        "signInUrl": "https://example.com/saml2/sso-redirect/706634",
        "certificates": [
          "certificate-example-pem-format"
        ],
        "displayName": "my saml example",
        "authnContext": {
          "class": [
            "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport"
          ],
          "comparison": "exact"
        },
        "signRequest": false,
        "encryptResponse": false
      },
      "validation_data": {
        "certificates": [
          {
            "certificate_index": 0,
            "expiration_timestamp": 1674473996,
            "warning": "Your certificate will expire in 18 days."
          }
        ]
      }
    }

Get tokens configuration

Returns the token configuration. Learn more.

GET /management/v4/{tenantId}/config/tokens

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns a JSON object of the App ID tokens properties.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "idTokenClaims": [
        {
          "source": "attributes",
          "sourceClaim": "theme"
        }
      ],
      "accessTokenClaims": [
        {
          "source": "saml",
          "sourceClaim": "user_type",
          "destinationClaim": "type"
        }
      ],
      "access": {
        "expires_in": 3600
      },
      "refresh": {
        "expires_in": 2592000,
        "enabled": true
      },
      "anonymousAccess": {
        "expires_in": 2592000,
        "enabled": true
      }
    }

Update tokens configuration

Update the tokens' configuration to fine-tune the expiration times of access, id and refresh tokens, to enable/disable refresh and anonymous tokens, and to configure custom claims. When a token config object is not included in the set, its value will be reset back to default.
For more information, check out the Learn more.

PUT /management/v4/{tenantId}/config/tokens

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Set of App ID token objects. 'expires_in' is set in seconds.

Example:

Response

Status Code

  • The token configuration was updated.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "idTokenClaims": [
        {
          "source": "attributes",
          "sourceClaim": "theme"
        }
      ],
      "accessTokenClaims": [
        {
          "source": "saml",
          "sourceClaim": "user_type",
          "destinationClaim": "type"
        }
      ],
      "access": {
        "expires_in": 3600
      },
      "refresh": {
        "expires_in": 2592000,
        "enabled": true
      },
      "anonymousAccess": {
        "expires_in": 2592000,
        "enabled": true
      }
    }

Get redirect URIs

Returns the list of the redirect URIs that can be used as callbacks of App ID authentication flow. Learn more.

GET /management/v4/{tenantId}/config/redirect_uris

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • An array of the redirect URIs is returned as a JSON object.

  • The tenantId parameter is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "redirectUris": [
        "https://example.com/oauth-callback"
      ]
    }

Update redirect URIs

Update the list of the redirect URIs that can be used as callbacks of App ID authentication flow. Learn more.

PUT /management/v4/{tenantId}/config/redirect_uris

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The redirect URIs JSON object. If IBM default credentials are used, the redirect URIs are ignored.

Response

Status Code

  • No content. The redirect URIs were updated.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

No Sample Response

This method does not specify any sample responses.

Get user profiles configuration

A user profile is an entity that is stored and maintained by App ID. The profile holds a user's attributes and identity. It can be anonymous or linked to an identity that is managed by an identity provider. Learn more.

GET /management/v4/{tenantId}/config/users_profile

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • The current profiles status is returned as a JSON object.

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "isActive": false
    }

Update user profiles configuration

A user profile is an entity that is stored and maintained by App ID. The profile holds a user's attributes and identity. It can be anonymous or linked to an identity that is managed by an identity provider. Learn more.

PUT /management/v4/{tenantId}/config/users_profile

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Store user profile data. It can be enabled or disabled.

Response

Status Code

  • No content. The user profiles status was updated.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The has insufficient permissions. Contact the service owner or admin to verify permissions.

No Sample Response

This method does not specify any sample responses.

Get widget texts

Get the theme texts of the App ID login widget. Learn more.

GET /management/v4/{tenantId}/config/ui/theme_text

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • The current color configuration is returned as a JSON object.

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "tabTitle": "Login",
      "footnote": "Powered by App ID"
    }

Update widget texts

Update the texts of the App ID login widget. Learn more.

PUT /management/v4/{tenantId}/config/ui/theme_text

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The texts of the widget.

Response

Status Code

  • No content, the service login widget header color was updated.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

No Sample Response

This method does not specify any sample responses.

Get widget colors

Get the colors of the App ID login widget. Learn more.

GET /management/v4/{tenantId}/config/ui/theme_color

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • The current color configuration is returned as a JSON object.

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "headerColor": "#EEF2F5"
    }

Update widget colors

Update the colors of the App ID login widget. Learn more.

PUT /management/v4/{tenantId}/config/ui/theme_color

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The colors of the widget.

Response

Status Code

  • No content, the service login widget header color was updated.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

No Sample Response

This method does not specify any sample responses.

Returns the link to the custom logo image of the login widget. Learn more.

GET /management/v4/{tenantId}/config/ui/media

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • A JSON object with the current media configurations.

  • The tenantId, file type, or file size are invalid or missing. The file must be either a JPG or PNG that is less than 100kb.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "image": "image-url"
    }

You can update the image file shown in the login widget. Learn more.

POST /management/v4/{tenantId}/config/ui/media

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Query Parameters

  • The type of media. You can upload JPG or PNG files.

    Allowable values: [logo]

Form Parameters

  • The image file. The recommended size is 320x320 px. The maxmimum files size is 100kb.

Response

Status Code

  • No content. The service login widget logo was updated.

  • The tenantId, file type, or file size are invalid or missing. The file must be either a JPG or PNG that is less than 100kb.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

No Sample Response

This method does not specify any sample responses.

Get the SAML metadata

Returns the SAML metadata required in order to integrate App ID with a SAML identity provider. Learn more.

GET /management/v4/{tenantId}/config/saml_metadata

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • An xml snippet that contains the metadata for using SAML as a service provider.

  • The tenantId parameter is missing or invalid.

  • Returned in case of internal server error.

Example responses
  • <SPSSODescriptor WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"><NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat><AssertionConsumerService index="1" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://us-south.appid.cloud.ibm.com/saml2/v1/login-acs"/></SPSSODescriptor>

Get an email template

Returns the content of a custom email template or the default template in case it wasn't customized. Learn more.

GET /management/v4/{tenantId}/config/cloud_directory/templates/{templateName}/{language}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The type of email template. This can be "USER_VERIFICATION", "WELCOME", "PASSWORD_CHANGED", "RESET_PASSWORD" or "MFA_VERIFICATION".

    Allowable values: [USER_VERIFICATION,RESET_PASSWORD,WELCOME,PASSWORD_CHANGED,MFA_VERIFICATION]

  • Preferred language for resource. Format as described at RFC5646. According to the configured languages codes returned from the GET /management/v4/{tenantId}/config/ui/languages API.

Response

Status Code

  • The email template data is returned as a JSON object. If the language template does not exist yet the english template (en) will be returned.

  • The tenantId or templateName are missing or invalid or language is not in the app localization configuration.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "subject": "Verify Your Email for %{user.displayName}",
      "html_body": "<h3>Hello %{user.displayName}</h3>\\n<p>Follow this link to verify your email address</p>\\n<p><a href='%{verify.link}'>%{verify.link}</a></p>\\n<p>If you didn't ask to verify this address, you can ignore this email</p>\\n<p>Thanks,</p>\\n<p>Your BMLand team</p>",
      "base64_encoded_html_body": "PGgzPkhlbGxvICV7dXNlci5kaXNwbGF5TmFtZX08L2gzPlxuPHA+Rm9sbG93IHRoaXMgbGluayB0byB2ZXJpZnkgeW91ciBlbWFpbCBhZGRyZXNzPC9wPlxuPHA+PGEgaHJlZj0nJXt2ZXJpZnkubGlua30nPiV7dmVyaWZ5Lmxpbmt9PC9hPjwvcD5cbjxwPklmIHlvdSBkaWRuJ3QgYXNrIHRvIHZlcmlmeSB0aGlzIGFkZHJlc3MsIHlvdSBjYW4gaWdub3JlIHRoaXMgZW1haWw8L3A+XG48cD5UaGFua3MsPC9wPlxuPHA+WW91ciBCTUxhbmQgdGVhbTwvcD4="
    }

Update an email template

Updates the Cloud Directory email template. Learn more.

PUT /management/v4/{tenantId}/config/cloud_directory/templates/{templateName}/{language}

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The type of email template. This can be "USER_VERIFICATION", "WELCOME", "PASSWORD_CHANGED", "RESET_PASSWORD" or "MFA_VERIFICATION".

    Allowable values: [USER_VERIFICATION,RESET_PASSWORD,WELCOME,PASSWORD_CHANGED,MFA_VERIFICATION]

  • Preferred language for resource. Format as described at RFC5646. According to the configured languages codes returned from the GET /management/v4/{tenantId}/config/ui/languages API.

Email template object. See documentation for available placeholder for each email template.

  • subject: The subject of the email.
  • html_body: Optional. The HTML body of the email.
  • base64_encoded_html_body: Optional. The HTML body of the email encoded in Base64.
  • plain_text_body: Optional. The text body of the email.
Example:

Response

Status Code

  • The email template properties is returned as a JSON object.

  • The created email template properties are returned as a JSON object.

  • No content. The template configuration was updated.(in case request Prefer header is return_minimal)

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized.

  • The user has insufficient permissions.

Example responses
  • {
      "subject": "Verify Your Email for %{user.displayName}",
      "html_body": "<h3>Hello %{user.displayName}</h3>\\n<p>Follow this link to verify your email address</p>\\n<p><a href='%{verify.link}'>%{verify.link}</a></p>\\n<p>If you didn't ask to verify this address, you can ignore this email</p>\\n<p>Thanks,</p>\\n<p>Your BMLand team</p>",
      "base64_encoded_html_body": "PGgzPkhlbGxvICV7dXNlci5kaXNwbGF5TmFtZX08L2gzPlxuPHA+Rm9sbG93IHRoaXMgbGluayB0byB2ZXJpZnkgeW91ciBlbWFpbCBhZGRyZXNzPC9wPlxuPHA+PGEgaHJlZj0nJXt2ZXJpZnkubGlua30nPiV7dmVyaWZ5Lmxpbmt9PC9hPjwvcD5cbjxwPklmIHlvdSBkaWRuJ3QgYXNrIHRvIHZlcmlmeSB0aGlzIGFkZHJlc3MsIHlvdSBjYW4gaWdub3JlIHRoaXMgZW1haWw8L3A+XG48cD5UaGFua3MsPC9wPlxuPHA+WW91ciBCTUxhbmQgdGVhbTwvcD4="
    }
  • {
      "subject": "Verify Your Email for %{user.displayName}",
      "html_body": "<h3>Hello %{user.displayName}</h3>\\n<p>Follow this link to verify your email address</p>\\n<p><a href='%{verify.link}'>%{verify.link}</a></p>\\n<p>If you didn't ask to verify this address, you can ignore this email</p>\\n<p>Thanks,</p>\\n<p>Your BMLand team</p>",
      "base64_encoded_html_body": "PGgzPkhlbGxvICV7dXNlci5kaXNwbGF5TmFtZX08L2gzPlxuPHA+Rm9sbG93IHRoaXMgbGluayB0byB2ZXJpZnkgeW91ciBlbWFpbCBhZGRyZXNzPC9wPlxuPHA+PGEgaHJlZj0nJXt2ZXJpZnkubGlua30nPiV7dmVyaWZ5Lmxpbmt9PC9hPjwvcD5cbjxwPklmIHlvdSBkaWRuJ3QgYXNrIHRvIHZlcmlmeSB0aGlzIGFkZHJlc3MsIHlvdSBjYW4gaWdub3JlIHRoaXMgZW1haWw8L3A+XG48cD5UaGFua3MsPC9wPlxuPHA+WW91ciBCTUxhbmQgdGVhbTwvcD4="
    }

Delete an email template

Delete the customized email template and reverts to App ID default template. Learn more.

DELETE /management/v4/{tenantId}/config/cloud_directory/templates/{templateName}/{language}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The type of email template. This can be "USER_VERIFICATION", "WELCOME", "PASSWORD_CHANGED", "RESET_PASSWORD" or "MFA_VERIFICATION".

    Allowable values: [USER_VERIFICATION,RESET_PASSWORD,WELCOME,PASSWORD_CHANGED,MFA_VERIFICATION]

  • Preferred language for resource. Format as described at RFC5646. According to the configured languages codes returned from the GET /management/v4/{tenantId}/config/ui/languages API.

Response

Status Code

  • The template was deleted.

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact a service owner or admin to verify permissions.

  • The template does not exist.

No Sample Response

This method does not specify any sample responses.

Get languages

Returns the list of languages that can be used to customize email templates for Cloud Directory

GET /management/v4/{tenantId}/config/ui/languages

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • The localization data is returned as a JSON object.

  • The tenantId or languages are missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "languages": [
        "en",
        "en-US",
        "fr-FR"
      ]
    }

Update languages

Update the list of languages that can be used to customize email templates for Cloud Directory

PUT /management/v4/{tenantId}/config/ui/languages

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

User localization configuration. Available languages codes

Example:

Response

Status Code

  • 'No content. The localization configuration was updated.'

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

No Sample Response

This method does not specify any sample responses.

Get sender details

Returns the sender details configuration that is used by Cloud Directory when sending emails. Learn more.

GET /management/v4/{tenantId}/config/cloud_directory/sender_details

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • The sender details configuration for a Cloud Directory email returned as a JSON object.

  • The tenantId parameter is missing or invalid or invalid request.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "senderDetails": {
        "from": {
          "name": "no-reply",
          "email": "no-reply@appid.cloud.net"
        },
        "reply_to": {
          "name": "Reply-to",
          "email": "reply-to@example.com"
        },
        "linkExpirationSec": 86400
      }
    }

Update the sender details

Updates the sender details configuration that is used by Cloud Directory when sending emails. Learn more.

PUT /management/v4/{tenantId}/config/cloud_directory/sender_details

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

A JSON object that contains the sender details.

Example:

Response

Status Code

  • No content. The identity provider configuration was updated.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

No Sample Response

This method does not specify any sample responses.

Get action url

Get the custom url to redirect to when action is executed. Learn more.

GET /management/v4/{tenantId}/config/cloud_directory/action_url/{action}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The type of the action. on_user_verified - the URL of your custom user verified page, on_reset_password - the URL of your custom reset password page.

    Allowable values: [on_user_verified,on_reset_password]

Response

Status Code

  • The action URL that is returned as a JSON object.

  • The tenantId or action parameters are invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "actionUrl": "https://example.com/myCustomPage"
    }

Update action url

Updates the custom url to redirect to when action is executed. Learn more.

PUT /management/v4/{tenantId}/config/cloud_directory/action_url/{action}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The type of the action. on_user_verified - the URL of your custom user verified page, on_reset_password - the URL of your custom reset password page.

    Allowable values: [on_user_verified,on_reset_password]

Form Parameters

  • The action URL.

Response

Status Code

  • The action url.

  • The tenantId or action parameters are invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "actionUrl": "https://example.com/myCustomPage"
    }

Delete action url

Delete the custom url to redirect to when action is executed. Learn more.

DELETE /management/v4/{tenantId}/config/cloud_directory/action_url/{action}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The type of the action. on_user_verified - the URL of your custom user verified page, on_reset_password - the URL of your custom reset password page.

    Allowable values: [on_user_verified,on_reset_password]

Response

Status Code

  • No content. The action url was deleted.

  • The tenantId or action parameters are invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact a service owner or admin to verify permissions.

  • The template does not exist.

No Sample Response

This method does not specify any sample responses.

Get password regex

Returns the regular expression used by App ID for password strength validation. Learn more.

GET /management/v4/{tenantId}/config/cloud_directory/password_regex

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns a JSON object of defined regex expression escaped rule for acceptable password, base64 encoded regex expression and custom error message.

  • The tenantId is invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "base64_encoded_regex": "LipbYS16XS4q",
      "error_message": "The password must contain at least 1 lowercase alphabetical character",
      "regex": ".*[a-z].*"
    }

Update password regex

Updates the regular expression used by App ID for password strength validation.
For example, the regular expression: "^[A-Za-z\d]*$" should be passed as:
{
  "base64_encoded_regex": "XltBLVphLXpcZF0qJA==",
  "error_message": "Must only contain letters and digits"
}


Learn more.

PUT /management/v4/{tenantId}/config/cloud_directory/password_regex

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The Cloud Directory password regex configuration as a JSON object. If the configuration is not set, IBM App ID basic password regex is used.

  • regex: Optional. The escaped regex expression rule for acceptable password.
  • base64_encoded_regex: Optional. The regex expression rule for acceptable password encoded in base64.
  • error_message: Custom error message.
Example:

Response

Status Code

  • The password regex was updated.

  • The tenantId or password regex parameters are invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "base64_encoded_regex": "LipbYS16XS4q",
      "error_message": "The password must contain at least 1 lowercase alphabetical character",
      "regex": ".*[a-z].*"
    }

Get email dispatcher configuration

Get the configuration of email dispatcher that is used by Cloud Directory when sending emails

GET /management/v4/{tenantId}/config/cloud_directory/email_dispatcher

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Return the email dispatcher configuration.

  • The tenantId is invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "provider": "sendgrid",
      "sendgrid": {
        "apiKey": "sendgridApiKey"
      },
      "custom": {
        "url": "https://custom_email_dispatcher.com/send",
        "authorization": {
          "type": "value",
          "value": "verySecureSecret"
        }
      }
    }

Update email dispatcher configuration

App ID allows you to use your own email provider. You can use your own Sendgrid account by providing your Sendgrind API key. Alternatively, you can define a custom email dispatcher by providing App ID with URL. The URL is called for sending emails. Optionally, you can determine a specific authorization method – either basic, such as a username and password, or a custom value. By default, App ID's email provider will be used.

PUT /management/v4/{tenantId}/config/cloud_directory/email_dispatcher

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The Cloud Directory email dispatcher configuration, specified as a JSON object.

Example:

Response

Status Code

  • The email dispatcher was updated.

  • The tenantId or custom email dispatcher config are invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "provider": "sendgrid",
      "sendgrid": {
        "apiKey": "sendgridApiKey"
      },
      "custom": {
        "url": "https://custom_email_dispatcher.com/send",
        "authorization": {
          "type": "value",
          "value": "verySecureSecret"
        }
      }
    }

Test the email provider configuration

You can send a message to a specific email to test your settings.

POST /management/v4/{tenantId}/config/cloud_directory/email_settings/test

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Email dispatcher settings, specified as a JSON object.

Example:

Response

Status Code

  • Returns the response status code and additional information from the email provider in case of failure.

  • The tenantId or are invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "success": true,
      "dispatcherStatusCode": 202
    }

Test the email dispatcher configuration

You can send a message to a specific email to test your configuration.

POST /management/v4/{tenantId}/config/cloud_directory/email_dispatcher/test

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Form Parameters

  • The email address where you want to send your test message.

Response

Status Code

  • Returns the response status code and headers from the custom email dispatcher.

  • The tenantId or email value are invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "statusCode": 400,
      "headers": {
        "server": "nginx",
        "date": "Tue, 24 Jul 2018 09:50:25 GMT",
        "content-type": "application/json",
        "access-control-allow-headers": "Authorization, Content-Type"
      }
    }

Test the MFA SMS dispatcher configuration

You can send a message to a specific phone number to test your MFA SMS configuration.

POST /management/v4/{tenantId}/config/cloud_directory/sms_dispatcher/test

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The phone number where you want to send your test SMS message.

Response

Status Code

  • Returns the response status code and headers from the SMS dispatcher.

  • The tenantId or SMS channel configuration is invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "confirmationCode": 979469,
      "phoneNumber": "+1-999-999-9999"
    }

Get APM configuration

Get the configuration of the advanced password management.

GET /management/v4/{tenantId}/config/cloud_directory/advanced_password_management

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Return the advanced password management configuration.

  • The tenantId is invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "advancedPasswordManagement": {
        "enabled": true,
        "passwordReuse": {
          "enabled": true,
          "config": {
            "maxPasswordReuse": 8
          }
        },
        "preventPasswordWithUsername": {
          "enabled": true
        },
        "passwordExpiration": {
          "enabled": true,
          "config": {
            "daysToExpire": 30
          }
        },
        "lockOutPolicy": {
          "enabled": true,
          "config": {
            "lockOutTimeSec": 1800,
            "numOfAttempts": 3
          }
        },
        "minPasswordChangeInterval": {
          "enabled": true,
          "config": {
            "minHoursToChangePassword": 0
          }
        }
      }
    }

Update APM configuration

Updates the advanced password management configuration for the provided tenantId. By turning this on, any authentication event is also charged as advanced security event.

PUT /management/v4/{tenantId}/config/cloud_directory/advanced_password_management

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The Cloud Directory APM configuration, specified as a JSON object.

Example:

Response

Status Code

  • The advanced password management configuration was updated.

  • The tenantId or advanced password management configuration are invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "advancedPasswordManagement": {
        "enabled": true,
        "passwordReuse": {
          "enabled": true,
          "config": {
            "maxPasswordReuse": 8
          }
        },
        "preventPasswordWithUsername": {
          "enabled": true
        },
        "passwordExpiration": {
          "enabled": true,
          "config": {
            "daysToExpire": 30
          }
        },
        "lockOutPolicy": {
          "enabled": true,
          "config": {
            "lockOutTimeSec": 1800,
            "numOfAttempts": 3
          }
        },
        "minPasswordChangeInterval": {
          "enabled": true,
          "config": {
            "minHoursToChangePassword": 0
          }
        }
      }
    }

Get tenant audit status

Returns a JSON object containing the auditing status of the tenant.

GET /management/v4/{tenantId}/config/capture_runtime_activity

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns a JSON object containing the auditing status of the tenant.

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "isActive": true
    }

Update tenant audit status

Capture app user sign-in, sign-up and other runtime events in Activity Tracker for you to search, analyse and report. By turning this On, any authentication event is also charged as advanced security event. Activity Tracker with LogDNA is available in select regions. Learn more.

PUT /management/v4/{tenantId}/config/capture_runtime_activity

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The new audit status, specified as a JSON object.

Response

Status Code

  • The tenant was updated.

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

No Sample Response

This method does not specify any sample responses.

Get channels

Returns all MFA channels registered with the App ID Instance.

GET /management/v4/{tenantId}/config/cloud_directory/mfa/channels

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns a JSON object of all the MFA channels registered with the App ID tenant

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "channels": [
        {
          "isActive": true,
          "type": "email"
        },
        {
          "isActive": false,
          "type": "sms",
          "config": {
            "key": "key",
            "secret": "secret",
            "from": 1234567890,
            "provider": "nexmo"
          }
        }
      ]
    }

Get channel

Returns a specific MFA channel registered with the App ID Instance.

GET /management/v4/{tenantId}/config/cloud_directory/mfa/channels/{channel}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The MFA channel.

    Allowable values: [email,nexmo]

Response

Status Code

  • Returns a specific channel registered with the App ID tenant as a JSON object

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • [
      {
        "isActive": false,
        "type": "sms",
        "config": {
          "key": "key",
          "secret": "secret",
          "from": "1234567890",
          "provider": "nexmo"
        }
      }
    ]

Update channel

Enable or disable a registered MFA channel on the App ID instance.

PUT /management/v4/{tenantId}/config/cloud_directory/mfa/channels/{channel}

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The MFA channel.

    Allowable values: [email,nexmo]

Update MFA channel payload.

Response

Status Code

  • A JSON object with the updated channel data

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • The channel could not be found.

  • Returned in case of internal server error.

Example responses
  • [
      {
        "isActive": false,
        "type": "sms",
        "config": {
          "key": "key",
          "secret": "secret",
          "from": "1234567890",
          "provider": "nexmo"
        }
      }
    ]

Get an extension configuration

View a registered extension's configuration for an instance of App ID. Learn more.

GET /management/v4/{tenantId}/config/cloud_directory/mfa/extensions/{name}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The name of the extension.

    Allowable values: [premfa,postmfa]

Response

Status Code

  • A JSON object that contains the extension configuration.

  • The tenant ID or request body is either missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator or service owner to verify your permissions.

  • Internal server error. Try again in a few minutes.

Example responses
  • {
      "isActive": true,
      "config": {
        "url": "https://example.com/extension",
        "headers": {
          "authorization": "Bearer <token>"
        }
      }
    }

Update an extension configuration

Set or update a registered extension's configuration for an instance of App ID. Learn more.

PUT /management/v4/{tenantId}/config/cloud_directory/mfa/extensions/{name}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The name of the extension.

    Allowable values: [premfa,postmfa]

Update extension configuration payload.

Example:

Response

Status Code

  • A JSON object that contains either true or false, depending on your configuration.

  • The tenant ID or request body is either missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator or service owner to verify your permissions.

  • Internal server error. Try again in a few minutes.

Example responses
  • {
      "isActive": true,
      "config": {
        "url": "https://example.com/extension",
        "headers": {
          "authorization": "Bearer <token>"
        }
      }
    }

Enable or disable an extension

Update the status of a registered extension for an instance of App ID to enabled or disabled. Learn more.

PUT /management/v4/{tenantId}/config/cloud_directory/mfa/extensions/{name}/active

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The name of the extension.

    Allowable values: [premfa,postmfa]

Update extension enabled.

Example:

Response

Status Code

  • A JSON object that contains either true or false, depending on your configuration.

  • The tenant ID or request body is either missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator or service owner to verify your permissions.

  • Internal server error. Try again in a few minutes.

Example responses
  • {
      "isActive": true
    }

Test the extension configuration

Test an extension configuration. Learn more.

POST /management/v4/{tenantId}/config/cloud_directory/mfa/extensions/{name}/test

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The name of the extension.

    Allowable values: [premfa,postmfa]

Response

Status Code

  • The response status code as well as the response body and headers from the extension's URL.

  • The tenant ID or extension name are missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator or service owner to verify your permissions.

Example responses
  • {
      "statusCode": 200,
      "responseBody": {
        "skipMfa": true
      },
      "responseHeaders": {
        "content-type": "application/json",
        "date": "Tue, 24 Jul 2018 09:50:25 GMT"
      }
    }

Get MFA configuration

Returns MFA configuration registered with the App ID Instance.

GET /management/v4/{tenantId}/config/cloud_directory/mfa

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns MFA configuration registered with the App ID tenant as a JSON object

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "isActive": true
    }

Update MFA configuration

Update MFA configuration on the App ID instance.

PUT /management/v4/{tenantId}/config/cloud_directory/mfa

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Update MFA configuration payload.

Example:

Response

Status Code

  • A JSON object with the updated MFA configuration data

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true
    }

Get SSO configuration

Returns SSO configuration registered with the App ID Instance.

GET /management/v4/{tenantId}/config/cloud_directory/sso

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns SSO configuration registered with the App ID tenant as a JSON object

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "isActive": true,
      "inactivityTimeoutSeconds": 86400,
      "logoutRedirectUris": [
        "http://localhost:3000/logout-callback"
      ]
    }

Update SSO configuration

Update SSO configuration on the App ID instance.

PUT /management/v4/{tenantId}/config/cloud_directory/sso

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Update SSO configuration payload.

Response

Status Code

  • A JSON object with the updated SSO configuration data

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "isActive": true,
      "inactivityTimeoutSeconds": 86400,
      "logoutRedirectUris": [
        "http://localhost:3000/logout-callback"
      ]
    }

Get the rate limit configuration

Returns the rate limit configuration registered with the App ID Instance.

GET /management/v4/{tenantId}/config/cloud_directory/rate_limit

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns the rate limit configuration registered with the App ID tenant as a JSON object

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "signUpLimitPerMinute": 50,
      "signInLimitPerMinute": 60
    }

Update the rate limit configuration

Update the rate limit configuration on the App ID instance.

PUT /management/v4/{tenantId}/config/cloud_directory/rate_limit

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Update rate limit configuration payload.

Response

Status Code

  • A JSON object with the updated rate limit configuration data

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "signUpLimitPerMinute": 50,
      "signInLimitPerMinute": 60
    }

Sign up

Start the sign up process Learn more.

POST /management/v4/{tenantId}/cloud_directory/sign_up

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Query Parameters

  • A boolean indication if a profile should be created for the Cloud Directory user.

  • Preferred language for resource. Format as described at RFC5646.

    Default: en

Store Cloud Directory user data.

Response

Status Code

  • A JSON object with the new Cloud Directory user data. Full user data can be found here: https://tools.ietf.org/html/rfc7643#section-8.2

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • The email address already exist.

Example responses
  • {
      "displayName": "John Doe",
      "active": true,
      "emails": [
        {
          "value": "johndoe@example.com",
          "primary": true
        }
      ],
      "meta": {
        "created": "2019-05-29T12:45:30.671Z",
        "lastModified": "2019-05-29T12:45:30.671Z",
        "resourceType": "User"
      },
      "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
      ],
      "name": {
        "givenName": "John",
        "familyName": "Doe",
        "formatted": "John Doe"
      },
      "id": "66ad3522-2251-4531-abff-3e3aad66b650"
    }

Get signup confirmation result

Returns the sign up confirmation result. Learn more.

POST /management/v4/{tenantId}/cloud_directory/sign_up/confirmation_result

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Form Parameters

  • The context that will be use to get the verification or forgot password confirmation result.

Response

Status Code

  • A JSON object with the sign up confirmation result

  • The tenantId or context is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • The context was not found.

Example responses
  • {
      "success": true,
      "uuid": "773f85b4-72f4-480d-aca8-755f517c4508"
    }
  • {
      "success": false,
      "uuid": "773f85b4-72f4-480d-aca8-755f517c4508",
      "error": {
        "code": "NOT_FOUND",
        "description": "link expired"
      }
    }

Forgot password

Starts the forgot password process. Learn more.

POST /management/v4/{tenantId}/cloud_directory/forgot_password

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Query Parameters

  • Preferred language for resource. Format as described at RFC5646.

    Default: en

Form Parameters

Response

Status Code

  • A JSON object with the Cloud Directory user data. Full user data can be found here: https://tools.ietf.org/html/rfc7643#section-8.2

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • User account not verified.

Example responses
  • {
      "displayName": "John Doe",
      "active": true,
      "emails": [
        {
          "value": "johndoe@example.com",
          "primary": true
        }
      ],
      "meta": {
        "created": "2019-05-29T12:45:30.671Z",
        "lastModified": "2019-05-29T12:45:30.671Z",
        "resourceType": "User"
      },
      "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
      ],
      "name": {
        "givenName": "John",
        "familyName": "Doe",
        "formatted": "John Doe"
      },
      "id": "66ad3522-2251-4531-abff-3e3aad66b650"
    }

Forgot password confirmation result

Returns the forgot password flow confirmation result. Learn more.

POST /management/v4/{tenantId}/cloud_directory/forgot_password/confirmation_result

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Form Parameters

  • The context that will be use to get the verification or forgot password confirmation result.

Response

Status Code

  • A JSON object with the forgot password confirmation result

  • The tenantId or context is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • The context was not found.

Example responses
  • {
      "success": true,
      "uuid": "773f85b4-72f4-480d-aca8-755f517c4508"
    }
  • {
      "success": false,
      "uuid": "773f85b4-72f4-480d-aca8-755f517c4508",
      "error": {
        "code": "NOT_FOUND",
        "description": "link expired"
      }
    }

Change password

Changes the Cloud Directory user password. Learn more.

POST /management/v4/{tenantId}/cloud_directory/change_password

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Query Parameters

  • Preferred language for resource. Format as described at RFC5646.

    Default: en

Form Parameters

  • The new password.

  • The Cloud Directory unique user Id.

  • The ip address the password changed from.

Response

Status Code

  • A JSON object with the Cloud Directory user data. Full user data can be found here: https://tools.ietf.org/html/rfc7643#section-8.2

  • The tenantId, uuid or newPassword is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

Example responses
  • {
      "displayName": "John Doe",
      "active": true,
      "emails": [
        {
          "value": "johndoe@example.com",
          "primary": true
        }
      ],
      "meta": {
        "created": "2019-05-29T12:45:30.671Z",
        "lastModified": "2019-05-29T12:45:30.671Z",
        "resourceType": "User"
      },
      "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
      ],
      "name": {
        "givenName": "John",
        "familyName": "Doe",
        "formatted": "John Doe"
      },
      "id": "66ad3522-2251-4531-abff-3e3aad66b650"
    }

Resend user notifications

Resend user email notifications (e.g. resend user verification email). Learn more.

POST /management/v4/{tenantId}/cloud_directory/resend/{templateName}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The type of email template. This can be "USER_VERIFICATION", "WELCOME", "PASSWORD_CHANGED" or "RESET_PASSWORD".

    Allowable values: [USER_VERIFICATION,RESET_PASSWORD,WELCOME,PASSWORD_CHANGED]

Query Parameters

  • Preferred language for resource. Format as described at RFC5646.

    Default: en

Form Parameters

  • The Cloud Directory unique user Id.

Response

Status Code

  • The notification will be send

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • User account not verified in case of template name is RESET_PASSOWRD.

  • User account already confirmed in case of template name is CONFIRMATION.

Example responses
  • {
      "message": "Email is queued to be delivered."
    }

Delete Cloud Directory User and Profile

Deletes an existing Cloud Directory user and the Profile related to it. Learn more. Note: This action cannot be undone

DELETE /management/v4/{tenantId}/cloud_directory/remove/{userId}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The ID assigned to a user when they sign in by using Cloud Directory.

Response

Status Code

  • The user and profile were deleted.

  • Invalid tenantId/userId.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

No Sample Response

This method does not specify any sample responses.

Search users

Returns list of users, if given email/id returns only users which match the email/id - not including anonymous profiles. Learn more.

GET /management/v4/{tenantId}/users

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Query Parameters

  • display user data.

    Allowable values: [index,full]

  • Email (as retrieved from the Identity Provider).

  • The IDP specific user identifier.

  • The first result in a set list of results.

  • The maximum number of results per page.

    Constraints: 0 ≤ value ≤ 100

Response

Status Code

  • Returns a JSON object contains an array of results

  • When tenantId is missing or invalid, or missing one of email / id

  • The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions should be provided in Authorization header.

  • You are not authorized to perform this operation. Contact the service owner or admin to verify your permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "totalResults": 7,
      "itemsPerPage": 3,
      "requestOptions": {
        "startIndex": 5,
        "count": 5
      },
      "users": [
        {
          "idp": "cloud_directory",
          "id": "e782661a-efdb-4540-9ed8-d6a3e26713ca",
          "email": "your@mail.com"
        },
        {
          "idp": "facebook",
          "id": "d6f32b32-90d9-4d60-82f2-f503bc244174",
          "email": "your@mail.com"
        },
        {
          "idp": "google",
          "id": "238c75c4-38ea-4de8-b5d4-338744d83b0f",
          "email": "your@mail.com"
        }
      ]
    }

Pre-register a user profile

Create a profile for a user that you know needs access to your app before they sign in to your app for the first time. Learn more.

POST /management/v4/{tenantId}/users

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

User configuration and attributes.

Response

Status Code

  • Returns the ID of the created user.

  • The tenantId, IdP type, idp identity id is missing or invalid.

  • The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions should be provided in Authorization header.

  • You are not authorized to perform this operation. Contact the service owner or admin to verify your permissions.

  • User ID for the provided IdP already exists.

  • Returned in case of internal server error.

Example responses
  • {
      "id": "111c22c3-38ea-4de8-b5d4-338744d83b0f"
    }

Export user profiles

Exports App ID user profiles, not including Cloud Directory and anonymous users.

GET /management/v4/{tenantId}/users/export

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Query Parameters

  • The first result in a set list of results.

  • The maximum number of results per page.

    Constraints: 0 ≤ value ≤ 100

Response

Status Code

  • Returns a list of the App ID user profiles. You can see up to 50 users per request.

  • The tenantId is missing or invalid.

  • The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions should be provided in Authorization header.

  • You are not authorized to perform this operation. Contact the service owner or admin to verify your permissions.

  • The tenantId is not found.

Example responses
  • {
      "itemsPerPage": 2,
      "totalResults": 2,
      "requestOptions": {},
      "users": [
        {
          "id": "7ae804f3-0ed3-45f0-bc6b-1c6af868e6d6",
          "name": "App ID Google User profile",
          "email": "your@mail.com",
          "identities": [
            {
              "provider": "google",
              "id": "105646725068605084546",
              "idpUserInfo": {
                "id": "105646725068605084546",
                "email": "your@mail.com",
                "picture": "profilePic.jpg"
              }
            }
          ],
          "attributes": {
            "points": 150
          },
          "roles": []
        },
        {
          "id": "1439d777-185d-4be1-8f4a-c4e8142b87ea",
          "name": "App ID Facebook User profile",
          "email": "mail@mail.com",
          "identities": [
            {
              "provider": "facebook",
              "id": "100195207128541",
              "picture": {
                "data": {
                  "height": 50,
                  "width": 50,
                  "url": "https://profilePic.com"
                }
              },
              "first_name": "AppID",
              "last_name": "Development"
            }
          ],
          "attributes": {
            "points": 250
          },
          "roles": [
            "adult",
            "child"
          ]
        }
      ]
    }

Import user profiles

Imports App ID user profiles, not including Cloud Directory and anonymous users.

POST /management/v4/{tenantId}/users/import

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

The exported users as a JSON object (as returned by the export endpoint).

Example:

Response

Status Code

  • Import users from another instance of App ID. The format for import is the same format in which the users are exported from the initial instance. You can add up to 50 users per request.

  • The tenantId or request body is missing or invalid.

  • The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions should be provided in Authorization header.

  • You are not authorized to perform this operation. Contact the service owner or admin to verify your permissions.

  • The tenantId is not found.

Example responses
  • {
      "added": 30,
      "failed": 1,
      "failReasons": [
        {
          "originalId": "773f85b4-72f4-480d-aca8-755f517c4508",
          "idp": "facebook",
          "error": {
            "message": "The user already exists."
          }
        }
      ]
    }

Delete user

Deletes a user by id. Learn more.

DELETE /management/v4/{tenantId}/users/{id}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The user's identifier ('subject' in identity token) You can search user in /users.

Response

Status Code

  • The user was deleted successfully.

  • The tenantId or id is missing or invalid.

  • The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions should be provided in Authorization header.

  • You are not authorized to perform this operation. Contact the service owner or admin to verify your permissions.

  • User not found.

  • Returned in case of internal server error.

No Sample Response

This method does not specify any sample responses.

Revoke refresh token

Revokes all the refresh tokens issued for the given user. Learn more.

POST /management/v4/{tenantId}/users/{id}/revoke_refresh_token

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The user's identifier ('subject' in identity token) You can search user in /users.

Response

Status Code

  • No content. The users refresh token was revoked.

  • The tenantId or id is missing or invalid.

  • The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions should be provided in Authorization header.

  • You are not authorized to perform this operation. Contact the service owner or admin to verify your permissions.

  • User not found.

  • Returned in case of internal server error.

No Sample Response

This method does not specify any sample responses.

Get user profile

Returns the profile of a given user. Learn more.

GET /management/v4/{tenantId}/users/{id}/profile

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The user's identifier ('subject' in identity token) You can search user in /users.

Response

Status Code

  • Returns a JSON object of the user profile

  • The tenantId or id is missing or invalid.

  • The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions should be provided in Authorization header.

  • You are not authorized to perform this operation. Contact the service owner or admin to verify your permissions.

  • User not found

  • Returned in case of internal server error.

Example responses
  • {
      "id": "111c22c3-38ea-4de8-b5d4-338744d83b0f",
      "name": "John Doe",
      "email": "johndoe@gmail.com",
      "picture": "https://lh5.googleusercontent.com/-dddddddQ/AAAAAAAAAAI/AAAAAAAAAAA/jondohw/photo.jpg",
      "gender": "male",
      "identities": [
        {
          "provider": "google",
          "id": "12341234123412341234",
          "idpUserInfo": {
            "id": "12341234123412341234",
            "email": "johndoe@gmail.com",
            "verified_email": true,
            "name": "John Doe",
            "given_name": "John",
            "family_name": "Doe",
            "link": "https://plus.google.com/12341234123412341234",
            "picture": "https://lh5.googleusercontent.com/-dddddddQ/AAAAAAAAAAI/AAAAAAAAAAA/jondohw/photo.jpg",
            "gender": "male",
            "idpType": "google"
          }
        }
      ],
      "attributes": {
        "points": "150"
      }
    }

Update user profile

Updates a user profile. Learn more.

PUT /management/v4/{tenantId}/users/{id}/profile

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The user's identifier ('subject' in identity token) You can search user in /users.

User's profile JSON. Only the 'attributes' field is accepted.

Response

Status Code

  • The updated user profile JSON.

  • The tenantId , id or request body is missing or invalid.

  • The request is unauthorized by the platform. To be authorized, an IAM token with the valid permissions should be provided in Authorization header.

  • You are not authorized to perform this operation. Contact the service owner or admin to verify your permissions.

  • User not found

  • Returned in case of internal server error.

Example responses
  • {
      "id": "111c22c3-38ea-4de8-b5d4-338744d83b0f",
      "name": "John Doe",
      "email": "johndoe@gmail.com",
      "picture": "https://lh5.googleusercontent.com/-dddddddQ/AAAAAAAAAAI/AAAAAAAAAAA/jondohw/photo.jpg",
      "gender": "male",
      "identities": [
        {
          "provider": "google",
          "id": "12341234123412341234",
          "idpUserInfo": {
            "id": "12341234123412341234",
            "email": "johndoe@gmail.com",
            "verified_email": true,
            "name": "John Doe",
            "given_name": "John",
            "family_name": "Doe",
            "link": "https://plus.google.com/12341234123412341234",
            "picture": "https://lh5.googleusercontent.com/-dddddddQ/AAAAAAAAAAI/AAAAAAAAAAA/jondohw/photo.jpg",
            "gender": "male",
            "idpType": "google"
          }
        }
      ],
      "attributes": {
        "points": "150"
      }
    }

Get a user's roles

View a list of roles that are associated with a specific user.

GET /management/v4/{tenantId}/users/{id}/roles

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The user's identifier ('subject' in identity token) You can search user in /users.

Response

Status Code

  • The list of roles is returned as a JSON object.

  • The tenant ID or user ID are missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator to verify your permissions.

  • The user wasn't found.

No Sample Response

This method does not specify any sample responses.

Update a user's roles

Update which roles are associated with a specific user or assign a role to a user for the first time.

PUT /management/v4/{tenantId}/users/{id}/roles

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The user's identifier ('subject' in identity token) You can search user in /users.

A JSON array of roles. The Array can have either names or IDs but not both.

Response

Status Code

  • The role is successfully associated with the user.

  • The tenant ID or user ID are missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator to verify your permissions.

  • One or more of the roles that you want to assign was not found. List all of your available roles by calling the /roles API.

No Sample Response

This method does not specify any sample responses.

View all roles

Obtain a list of the roles that are associated with your registered application.

GET /management/v4/{tenantId}/roles

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • The roles for the registered application are returned as a JSON object.

  • The tenant ID or user ID is missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator to verify your permissions.

No Sample Response

This method does not specify any sample responses.

Create a role

Create a new role for a registered application.

POST /management/v4/{tenantId}/roles

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

A JSON object that defines the role that you want to create. For example, the associated model is one that you might see in a video streaming service.

Response

Status Code

  • The role for the registered application is created and returned as a JSON object.

  • The payload is missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator to verify your permissions.

  • The role already exists. Choose a new name or update your existing role.

No Sample Response

This method does not specify any sample responses.

View a specific role

By using the role ID, obtain the information for a specific role that is associated with a registered application.

GET /management/v4/{tenantId}/roles/{roleId}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The role identifier.

Response

Status Code

  • The data that is associated with the role is returned as a JSON object.

  • The tenant or user ID is missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator to verify your permissions.

  • The role couldn't be found. Verify your role ID by listing all of the roles that are associated with your application.

No Sample Response

This method does not specify any sample responses.

Update a role

Update an existing role.

PUT /management/v4/{tenantId}/roles/{roleId}

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The role identifier.

A JSON object that defines the role that you want to update. Continuing the previous example, you can see that an extra scope is added to the payload.

Response

Status Code

  • The role is updated and the data that is associated with the role is returned as a JSON object.

  • The payload is missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator to verify your permissions.

  • The role couldn't be found. Verify your role ID by listing all of the roles that are associated with your application.

No Sample Response

This method does not specify any sample responses.

Delete a role

Delete an existing role.

DELETE /management/v4/{tenantId}/roles/{roleId}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The role identifier.

Response

Status Code

  • Delete request has been accepted.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator to verify your permissions.

No Sample Response

This method does not specify any sample responses.

Get applications

Returns all applications registered with the App ID Instance.

GET /management/v4/{tenantId}/applications

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Response

Status Code

  • Returns a JSON object of all the applications registered with the App ID tenant

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "clientId": "111c22c3-38ea-4de8-b5d4-338744d83b0f",
      "tenantId": "39a37f57-a227-4bfe-a044-93b6e6060b61",
      "secret": "ZmE5ZDQ5ODctMmU1ZS00OGRiLWExZDMtZTA2MjkyZTc4MDB1",
      "name": "IBMCloudApp",
      "oAuthServerUrl": "https://us-south.appid.cloud.ibm.com/oauth/v4/39a37f57-a227-4bfe-a044-93b6e6060b61",
      "type": "regularwebapp"
    }

Create application

Register a new application with the App ID instance.

POST /management/v4/{tenantId}/applications

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Application registration payload. Application name cannot exceed 50 characters.

Example:

Response

Status Code

  • A JSON object with the new registered application data

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • Returned in case of internal server error.

Example responses
  • {
      "clientId": "111c22c3-38ea-4de8-b5d4-338744d83b0f",
      "tenantId": "39a37f57-a227-4bfe-a044-93b6e6060b61",
      "secret": "ZmE5ZDQ5ODctMmU1ZS00OGRiLWExZDMtZTA2MjkyZTc4MDB1",
      "name": "IBMCloudApp",
      "oAuthServerUrl": "https://us-south.appid.cloud.ibm.com/oauth/v4/39a37f57-a227-4bfe-a044-93b6e6060b61",
      "type": "regularwebapp"
    }

Get application

Returns a specific application registered with the App ID Instance.

GET /management/v4/{tenantId}/applications/{clientId}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The application clientId.

Response

Status Code

  • Returns a specific application registered with the App ID tenant as a JSON object

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "clientId": "111c22c3-38ea-4de8-b5d4-338744d83b0f",
      "tenantId": "39a37f57-a227-4bfe-a044-93b6e6060b61",
      "secret": "ZmE5ZDQ5ODctMmU1ZS00OGRiLWExZDMtZTA2MjkyZTc4MDB1",
      "name": "IBMCloudApp",
      "oAuthServerUrl": "https://us-south.appid.cloud.ibm.com/oauth/v4/39a37f57-a227-4bfe-a044-93b6e6060b61",
      "type": "regularwebapp"
    }

Update application

Update an application registered with the App ID instance.

PUT /management/v4/{tenantId}/applications/{clientId}

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The application clientId.

Application registration payload. Application name cannot exceed 50 characters.

Example:

Response

Status Code

  • A JSON object with the updated application data

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • The application could not be found.

  • Returned in case of internal server error.

Example responses
  • {
      "clientId": "111c22c3-38ea-4de8-b5d4-338744d83b0f",
      "tenantId": "39a37f57-a227-4bfe-a044-93b6e6060b61",
      "secret": "ZmE5ZDQ5ODctMmU1ZS00OGRiLWExZDMtZTA2MjkyZTc4MDB1",
      "name": "IBMCloudApp",
      "oAuthServerUrl": "https://us-south.appid.cloud.ibm.com/oauth/v4/39a37f57-a227-4bfe-a044-93b6e6060b61",
      "type": "regularwebapp"
    }

Delete application

Delete an application registered with the App ID instance. Note: This action cannot be undone.

DELETE /management/v4/{tenantId}/applications/{clientId}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The application clientId.

Response

Status Code

  • The application was deleted.

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

  • The application could not be found.

No Sample Response

This method does not specify any sample responses.

Get application scopes

View the defined scopes for an application that is registered with an App ID instance.

GET /management/v4/{tenantId}/applications/{clientId}/scopes

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The application clientId.

Response

Status Code

  • The scopes for the registered application are returned as a JSON object.

  • The tenant or client ID is missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator to verify your permissions.

No Sample Response

This method does not specify any sample responses.

Add application scope

Update the scopes for a registered application.
Important: Removing a scope from an array deletes it from any roles that it is associated with and the action cannot be undone.

PUT /management/v4/{tenantId}/applications/{clientId}/scopes

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The application clientId.

Response

Status Code

  • The updated scopes for the registered application are returned as a JSON object.

  • The tenant ID, client ID, or request body is missing or invalid.

  • The request is unauthorized. Be sure that you pass a valid IAM token in the authorization header of your request.

  • You have insufficient permissions. Contact your administrator to verify your permissions.

  • The application can not be found.

No Sample Response

This method does not specify any sample responses.

Get Cloud Directory users

Get the list of Cloud Directory users. Learn more.

GET /management/v4/{tenantId}/cloud_directory/Users

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Query Parameters

  • The first result in a set list of results.

  • The maximum number of results per page.

    Constraints: 0 ≤ value ≤ 100

  • Filter users by identity field.

Response

Status Code

  • The Cloud Directory users data is returned as a JSON object. Full user data can be found here: https://tools.ietf.org/html/rfc7643#section-8.2

  • The tenantId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

Example responses
  • {
      "totalResults": 2,
      "itemsPerPage": 2,
      "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
      ],
      "Resources": [
        {
          "displayName": "John Doe",
          "active": true,
          "emails": [
            {
              "value": "johndoe@example.com",
              "primary": true
            }
          ],
          "meta": {
            "created": "2019-05-29T12:45:30.671Z",
            "lastModified": "2019-05-29T12:45:30.671Z",
            "resourceType": "User"
          },
          "schemas": [
            "urn:ietf:params:scim:schemas:core:2.0:User"
          ],
          "name": {
            "givenName": "John",
            "familyName": "Doe",
            "formatted": "John Doe"
          },
          "id": "66ad3522-2251-4531-abff-3e3aad66b650"
        },
        {
          "displayName": "Jane Doe",
          "active": true,
          "emails": [
            {
              "value": "jane@example.com",
              "primary": true
            }
          ],
          "meta": {
            "created": "2019-05-29T12:47:20.509Z",
            "lastModified": "2019-05-29T12:47:20.509Z",
            "resourceType": "User"
          },
          "schemas": [
            "urn:ietf:params:scim:schemas:core:2.0:User"
          ],
          "name": {
            "givenName": "Jane",
            "familyName": "Doe",
            "formatted": "Jane Doe"
          },
          "id": "e403878c-3ab5-4e99-8953-bb57b05387d8"
        }
      ]
    }

Create a Cloud Directory user

Create a new record for Cloud Directory (no verification email is sent, and no profile is created).
To create a new Cloud Directory user use the sign_up API. Learn more.

POST /management/v4/{tenantId}/cloud_directory/Users

Request

Custom Headers

  • Allowable values: [application/json,application/x-www-form-urlencoded,multipart/form-data]

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

Store Cloud Directory user data.

Response

Status Code

  • A JSON object with the new Cloud Directory user data. Full user data can be found here: https://tools.ietf.org/html/rfc7643#section-8.2

  • The tenantId or request body is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify user permissions.

  • The email alredy exists in the directory. You can try searching for the user or registering a different email.

Example responses
  • {
      "displayName": "John Doe",
      "active": true,
      "emails": [
        {
          "value": "johndoe@example.com",
          "primary": true
        }
      ],
      "meta": {
        "created": "2019-05-29T12:45:30.671Z",
        "lastModified": "2019-05-29T12:45:30.671Z",
        "resourceType": "User"
      },
      "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
      ],
      "name": {
        "givenName": "John",
        "familyName": "Doe",
        "formatted": "John Doe"
      },
      "id": "66ad3522-2251-4531-abff-3e3aad66b650"
    }

Get a Cloud Directory user

Returns the requested Cloud Directory user object. Learn more.

GET /management/v4/{tenantId}/cloud_directory/Users/{userId}

Request

Path Parameters

  • The service tenantId. The tenantId can be found in the service credentials.

  • The ID assigned to a user when they sign in by using Cloud Directory.

Response

Status Code

  • The updated Cloud Directory user data is returned as a JSON object. Full user data can be found here: https://tools.ietf.org/html/rfc7643#section-8.2

  • The tenantId or userId is missing or invalid.

  • The user is unauthorized. To be authorized, a user needs an IAM token with the valid permissions.

  • The user has insufficient permissions. Contact the service owner or admin to verify permissions.

  • The Cloud Directory user could not be found.

Example responses
  • {
      "displayName": "John Doe",
      "active": true,
      "emails": [
        {
          "value": "johndoe@example.com",
          "primary": true
        }
      ],
      "meta": {
        "created": "2019-05-29T12:45:30.671Z",
        "lastModified": "2019-05-29T12:45:30.671Z",
        "resourceType": "User"
      },
      "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User"
      ],
      "name": {
        "givenName": "John",
        "familyName": "Doe",
        "formatted": "John Doe"
      },
      "id": "66ad3522-2251-4531-abff-3e3aad66b650"
    }

Update a Cloud Directory user

Updates an existing Cloud Directory user. Learn more.

PUT /management/v4/{tenantId}/cloud_directory/Users/{userId}