IAM Identity Services

Introduction The IAM Identity Service API is used to manage service IDs, API key identities, trusted profiles, account security settings and to create IAM access tokens for a user or service ID. With trusted profile templates and assignments you can centrally manage access for child accounts in your organization from the root enterprise account. Similarly with settings templates and assignments, you can centrally administer account security settings. For more information, see Working with template versionshttps://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-working-with-versions&interface=ui and Best practices for assigning access in an enterprisehttps://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-access-enterprises. SDKs for Java, Node, Python, and Go are available to make it easier to programmatically access the API from your code. The client libraries that are provided by the SDKs implement best practices for using the API and reduce the amount of code that you need to write. The tab for each language includes code examples that demonstrate how to use the client libraries. For more information about using the SDKs, see the IBM Cloud SDK Common projecthttps://github.com/IBM/ibm-cloud-sdk-common on GitHub. Installing the Java SDK Maven xml

MethodPathSummary
POST/identity/token#apikeyCreate an IAM access token for a user or service ID using an API key
POST/identity/token#passwordCreate an IAM access token for a user using username / password credentials and an optional account identifier
POST/identity/token#iam-authzCreate an IAM access token based on an authorization policy
POST/identity/token#apikey-delegated-refresh-tokenCreate an IAM access token and delegated refresh token for a user or service ID
POST/identity/token#cr-tokenCreate an IAM access token for a Trusted Profile based on the provided Compute Resource token
POST/identity/token#assumeCreate an IAM access token for a Trusted Profile based on the provided entity. Provided entity can be a identity based token which can be a user token, service id token or a cookie.
GET/v1/serviceids/List service IDs
POST/v1/serviceids/Create a service ID
GET/v1/serviceids/{id}Get details of a service ID
PUT/v1/serviceids/{id}Update service ID
DELETE/v1/serviceids/{id}Deletes a service ID and associated API keys
POST/v1/serviceids/{id}/lockLock the service ID
DELETE/v1/serviceids/{id}/lockUnlock the service ID
GET/v1/serviceid_groupsList service ID groups
POST/v1/serviceid_groupsCreate a service ID group
GET/v1/serviceid_groups/{id}Get details of a service ID group
PUT/v1/serviceid_groups/{id}Update a service ID group
DELETE/v1/serviceid_groups/{id}Delete a service ID group
GET/v1/apikeysGet API keys for a given service or user IAM ID and account ID
POST/v1/apikeysCreate an API key
GET/v1/apikeys/detailsGet details of an API key by its value.
GET/v1/apikeys/{id}Get details of an API key
PUT/v1/apikeys/{id}Updates an API key
DELETE/v1/apikeys/{id}Deletes an API key
POST/v1/apikeys/{id}/lockLock the API key
DELETE/v1/apikeys/{id}/lockUnlock the API key
POST/v1/apikeys/{id}/disableDisable the API key
DELETE/v1/apikeys/{id}/disableEnable the API key
POST/v1/profilesCreate a trusted profile
GET/v1/profilesList trusted profiles
GET/v1/profiles/{profile-id}Get a trusted profile
PUT/v1/profiles/{profile-id}Update a trusted profile
DELETE/v1/profiles/{profile-id}Delete a trusted profile
POST/v1/profiles/{profile-id}/rulesCreate claim rule for a trusted profile
GET/v1/profiles/{profile-id}/rulesList claim rules for a trusted profile
GET/v1/profiles/{profile-id}/rules/{rule-id}Get a claim rule for a trusted profile
PUT/v1/profiles/{profile-id}/rules/{rule-id}Update claim rule for a trusted profile
DELETE/v1/profiles/{profile-id}/rules/{rule-id}Delete a claim rule
POST/v1/profiles/{profile-id}/linksCreate link to a trusted profile
GET/v1/profiles/{profile-id}/linksList links to a trusted profile
DELETE/v1/profiles/{profile-id}/linksDelete compute resource link to profile by given parameters.
GET/v1/profiles/{profile-id}/links/{link-id}Get link to a trusted profile
DELETE/v1/profiles/{profile-id}/links/{link-id}Delete link to a trusted profile
GET/v1/profiles/{profile-id}/identitiesGet a list of identities that can assume the trusted profile
PUT/v1/profiles/{profile-id}/identitiesUpdate the list of identities that can assume the trusted profile
POST/v1/profiles/{profile-id}/identities/{identity-type}Add a specific identity that can assume the trusted profile
GET/v1/profiles/{profile-id}/identities/{identity-type}/{identifier-id}Get the identity that can assume the trusted profile
DELETE/v1/profiles/{profile-id}/identities/{identity-type}/{identifier-id}Delete the identity that can assume the trusted profile
POST/v1/activity/accounts/{account_id}/reportTrigger activity report for the account
GET/v1/activity/accounts/{account_id}/report/{reference}Get activity report for the account
GET/v1/accounts/{account_id}/settings/identityGet account configurations
PUT/v1/accounts/{account_id}/settings/identityUpdate account configurations
GET/v1/accounts/{account_id}/effective_settings/identityGet effective account settings configuration
GET/v1/mfa/accounts/{account_id}/statusGet MFA enrollment status for a single user in the account.
POST/v1/mfa/accounts/{account_id}/reportTrigger MFA enrollment status report for the account
GET/v1/mfa/accounts/{account_id}/report/{reference}Get MFA enrollment status report for the account
PUT/v1/preferences/accounts/{account_id}/identities/{iam_id}/{service}/{preference_id}Update Identity Preference on scope account
DELETE/v1/preferences/accounts/{account_id}/identities/{iam_id}/{service}/{preference_id}Delete Identity Preference on scope account
GET/v1/preferences/accounts/{account_id}/identities/{iam_id}/{service}/{preference_id}Get Identity Preference on scope account
GET/v1/preferences/accounts/{account_id}/identities/{iam_id}Get all Identity Preferences on scope account
GET/v1/profile_templatesList trusted profile templates
POST/v1/profile_templatesCreate a trusted profile template
GET/v1/profile_templates/{template_id}Get latest version of a trusted profile template
DELETE/v1/profile_templates/{template_id}Delete all versions of a trusted profile template
GET/v1/profile_templates/{template_id}/versionsList trusted profile template versions
POST/v1/profile_templates/{template_id}/versionsCreate new version of a trusted profile template
GET/v1/profile_templates/{template_id}/versions/{version}Get version of trusted profile template
PUT/v1/profile_templates/{template_id}/versions/{version}Update version of trusted profile template
DELETE/v1/profile_templates/{template_id}/versions/{version}Delete version of trusted profile template
POST/v1/profile_templates/{template_id}/versions/{version}/commitCommit a template version
GET/v1/profile_assignments/List assignments
POST/v1/profile_assignments/Create assignment
GET/v1/profile_assignments/{assignment_id}Get assignment
DELETE/v1/profile_assignments/{assignment_id}Delete assignment
PATCH/v1/profile_assignments/{assignment_id}Update assignment
GET/v1/account_settings_templatesList account settings templates
POST/v1/account_settings_templatesCreate an account settings template
GET/v1/account_settings_templates/{template_id}Get latest version of an account settings template
DELETE/v1/account_settings_templates/{template_id}Delete all versions of an account settings template
GET/v1/account_settings_templates/{template_id}/versionsList account settings template versions
POST/v1/account_settings_templates/{template_id}/versionsCreate a new version of an account settings template
GET/v1/account_settings_templates/{template_id}/versions/{version}Get version of an account settings template
PUT/v1/account_settings_templates/{template_id}/versions/{version}Update version of an account settings template
DELETE/v1/account_settings_templates/{template_id}/versions/{version}Delete version of an account settings template
POST/v1/account_settings_templates/{template_id}/versions/{version}/commitCommit a template version
GET/v1/account_settings_assignments/List assignments
POST/v1/account_settings_assignments/Create assignment
GET/v1/account_settings_assignments/{assignment_id}Get assignment
DELETE/v1/account_settings_assignments/{assignment_id}Delete assignment
PATCH/v1/account_settings_assignments/{assignment_id}Update assignment
GET/v1/accounts/{account_id}/limits/identityGet account entity limits
POST/v1/accounts/{account_id}/limits/identityGet account entity limits via POST request
GET/v1/idps/List IdPs
POST/v1/idps/Create IdP
GET/v1/idps/{idp_id}Get IdP
PUT/v1/idps/{idp_id}Update IdP
DELETE/v1/idps/{idp_id}Delete IdP
GET/v1/idps/{idp_id}/consumersGet consumers of IdP
GET/v1/idps/{idp_id}/saml/metadataExport SAML IdP metadata
PUT/v1/idps/{idp_id}/saml/metadataImport SAML IdP metadata
GET/v1/idps/{idp_id}/testGet IdP test results
POST/v1/idps/{idp_id}/testTrigger IdP configuration test
GET/v2/loginsettings/{account_id}Get account login settings
PUT/v2/loginsettings/{account_id}Update account login settings
GET/v2/loginsettings/{account_id}/idpsList IdP Settings
GET/v2/loginsettings/{account_id}/idps/{idp_id}Get IdP setting
POST/v2/loginsettings/{account_id}/idps/{idp_id}Add IdP Setting
PUT/v2/loginsettings/{account_id}/idps/{idp_id}Update IdP Setting
DELETE/v2/loginsettings/{account_id}/idps/{idp_id}Remove IdP Setting