### Example GET Request Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getProductProfile.html An example cURL command demonstrating how to make a GET request to retrieve a product configuration, including necessary headers. ```APIDOC ## Example Request ```bash curl -X GET https://usermanagement-stage.adobe.io/v2/usermanagement/12345@AdobeOrg/products/RPC-VTT1HB5NYDEBQMT5K30NQPNKTW/configurations/RGRP-13570983 \ --header 'authorization: Bearer ey...' \ --header 'X-Api-Key: 88ce03094fe74f4d91c2538217d007fe' ``` ``` -------------------------------- ### Example GET Request Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getProductProfileUsers.html An example cURL command demonstrating how to fetch user profiles for a product configuration. ```APIDOC ## Example Requests ### GET Request for Product Configuration Users This example shows how to retrieve a list of users associated with a specific product configuration using a GET request. ``` curl -X GET https://usermanagement-stage.adobe.io/v2/usermanagement/12345@AdobeOrg/products/RPC-VTT1HB5NYDEBQMT5K30NQPNKTW/configurations/RGRP-13570983/users \ --header 'authorization: Bearer ey...' \ --header 'X-Api-Key: 88ce03094fe74f4d91c2538217d007fe' ``` **Headers:** * `authorization`: Bearer token for authentication. * `X-Api-Key`: Your application's API key. ``` -------------------------------- ### Example GET Request using cURL Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getAllProfilesForOrg.html This example demonstrates how to make a GET request to retrieve a specific configuration using cURL, including authorization and API key headers. ```bash curl -X GET https://usermanagement-stage.adobe.io/v2/usermanagement/12345@AdobeOrg/products/RPC-VTT1HB5NYDEBQMT5K30NQPNKTW/configurations/RGRP-13570983 \ --header 'authorization: Bearer ey...' \ --header 'X-Api-Key: 88ce03094fe74f4d91c2538217d007fe' ``` -------------------------------- ### Example GET Request Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getProductProfileUsers.html This cURL command demonstrates how to make a GET request to retrieve user configurations, including necessary authorization and API key headers. ```curl curl -X GET https://usermanagement-stage.adobe.io/v2/usermanagement/12345@AdobeOrg/products/RPC-VTT1HB5NYDEBQMT5K30NQPNKTW/configurations/RGRP-13570983/users \ --header 'authorization: Bearer ey...' \ --header 'X-Api-Key: 88ce03094fe74f4d91c2538217d007fe' ``` -------------------------------- ### Example GET Request using cURL Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUserGroup.html This cURL command demonstrates how to make a GET request to retrieve user groups, including necessary headers for authorization and content type. ```bash curl -ivs -X GET \ http://usermanagement.adobe.io/v2/usermanagement/28E1E2EB570F90057F000101@AdobeOrg/user-groups/39127441 \ -H 'authorization: Bearer {ACCESS_TOKEN}' \ -H 'content-type: application/json' \ -H 'x-request-id: user-assigned-request-id' \ ``` -------------------------------- ### Get Users by Group Example Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUsersByGroup.html This example demonstrates a successful response for retrieving users within a group. It includes pagination information and user details, with the `groups` array present for each user. ```APIDOC ## GET /users/by/group/{groupName} ### Description Retrieves a list of users belonging to a specific group. The response includes pagination details and user information, including their group memberships. ### Method GET ### Endpoint /users/by/group/{groupName} ### Query Parameters - **excludeGroups** (boolean) - Optional - If true, the `groups` array will be excluded from the user objects in the response. - **page** (integer) - Optional - The page number to retrieve. - **pageSize** (integer) - Optional - The number of entries to return per page. ### Response #### Success Response (200 OK) - **lastPage** (boolean) - Indicates if this is the last page of results. - **result** (string) - The status of the operation (e.g., "success"). - **groupName** (string) - The name of the group. - **users** (array) - An array of user objects. - **email** (string) - The user's email address. - **status** (string) - The user's status (e.g., "active"). - **groups** (array) - An array of groups the user belongs to (omitted if `excludeGroups=true`). - **username** (string) - The user's username. - **domain** (string) - The user's domain. - **country** (string) - The user's country. - **type** (string) - The user's identity type. ### Headers - **X-Total-Count** (string) - The total count of users. - **X-Page-Count** (string) - The maximum number of pages that could be fetched. - **X-Current-Page** (string) - The integer value of the page being returned. - **X-Page-Size** (string) - The number of entries in the page being returned. ### Request Example (No explicit request example provided in source, but implies a GET request to an endpoint like `/users/by/group/Document Cloud 1`) ### Response Example ```json { "lastPage": false, "result": "success", "groupName": "Document Cloud 1", "users": [ { "email": "john@example.com", "status": "active", "groups": [ "Document Cloud 1" ], "username": "john", "domain": "example.com", "country": "US", "type": "federatedID" }, { "email": "jane@example.com", "status": "active", "groups": [ "Document Cloud 1", "Support for AEM Mobile", "_admin_Document Cloud 1", "_admin_Support for AEM Mobile", "_admin_Default Support profile", "_admin_Creative Cloud 1", "_deployment_admin", "_developer_Document Cloud 1" ], "username": "jane", "domain": "example.com", "country": "US", "type": "federatedID" }, { "email": "bob@example.com", "status": "active", "groups": [ "Document Cloud 1", "Creative Cloud 1" ], "username": "bob", "domain": "example.com", "country": "US", "type": "federatedID" } ] } ``` ``` -------------------------------- ### Install Core Dependencies Source: https://adobe-apiplatform.github.io/umapi-documentation/en/samples/index.html Installs the 'requests' package, essential for making API calls. ```bash pip install requests ``` -------------------------------- ### Example Response for Get All Product Profiles Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getAllProfilesForOrg.html This JSON object represents a successful response containing details of a product profile, including its ID, code, name, user counts, and license configurations. Fields may be absent if not applicable. ```json { "id": "XXXX-123456789ABCD", "code": "SUPPORT", "name": "Support", "userCount": 1, "configurationCount": 2, "licenseQuota": 10, "licenseConfigurations": [ { "id": "XXXX-8A3EA521D2BCA92C5E4B", "adminCount": 0, "userCount": 0, "licenseQuota": null, "licenseGroupId": 22277479, "adminGroupId": 22277482, "orgId": "UDI123UID123@AdobeOrg", "productId": "XXXX-123456789ABCD" }, { "id": "XXXX-FC6F915670D9DEA946DB", "adminCount": 0, "userCount": 1, "licenseQuota": null, "licenseGroupId": 28809409, "adminGroupId": 28809412, "orgId": "UDI123UID123@AdobeOrg", "productId": "XXXX-123456789ABCD" } ] } ``` -------------------------------- ### Example User Response Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUsersREST.html This example shows a response containing three users with varying group memberships and administrative rights. Properties not populated will not be returned. ```json [ { "id": "4EB5B571575A6B057F000101@example.com", "email": "john@example.com", "status": "active", "groups": [ "Marketing Cloud 1 - Default Access", "Marketing Cloud 1 - All Report Access", "Marketing Cloud 1 - EDITOR", "Marketing Cloud 1 - Default Access" ], "username": "john@example.com", "domain": "example.com", "firstName": "John", "lastName": "Doe", "countryCode": "US", "userType": "enterpriseID" }, { "id": "6237573D58A4C1B90A494038@umsdkneworg1-t2example.com", "email": "jane@example.com", "status": "active", "username": "jane@example.com", "domain": "example.com", "firstName": "Jane", "lastName": "Doe", "countryCode": "US", "userType": "enterpriseID" }, { "id": "0A0E84765756CF537F000101@example.com", "email": "bob@example.com", "status": "active", "groups": [ "Document Cloud 1" ], "username": "bob@example.com", "domain": "example.com", "firstName": "Bob", "lastName": "James", "countryCode": "US", "userType": "enterpriseID" } ] ``` -------------------------------- ### Example Response: No Users in Product Profile Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getProductProfileUsers.html This example shows an empty array response, indicating that no users are currently associated with the specified product profile. ```json [] ``` -------------------------------- ### Get User Groups Response Example Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUserGroups.html This is an example of a successful JSON response (200 OK) from the Get User Groups API. It includes details for multiple user groups, some with administrator information and read-only status. ```json [ { "groupId": 39127441, "name": "TestUsergroup", "type": "USER_GROUP", "adminGroupId": "42073423", "adminGroupName": "39127441USERGROUP_ADMIN_GROUP_NAME_SUFFIX", "userCount": 2, "adminCount": "1" }, { "groupId": 44815360, "name": "UserGroup12", "type": "USER_GROUP", "userCount": 1, "isReadOnly": true }, { "groupId": 44382376, "name": "UserGroup6", "type": "USER_GROUP" } ] ``` -------------------------------- ### Get User Group Example Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUserGroup.html This example demonstrates how to retrieve a specific user group by its ID within an organization. ```APIDOC ## GET /usermanagement/{organization}/user-groups/{userGroupId} ### Description Retrieves the details of a specific user group within a given organization. ### Method GET ### Endpoint `/usermanagement/{organization}/user-groups/{userGroupId}` ### Parameters #### Path Parameters - **organization** (string) - Required - The unique identifier for the organization. - **userGroupId** (string) - Required - The unique identifier for the user group. ### Request Example ```bash curl -ivs -X GET \ http://usermanagement.adobe.io/v2/usermanagement/28E1E2EB570F90057F000101@AdobeOrg/user-groups/39127441 \ -H 'authorization: Bearer {ACCESS_TOKEN}' \ -H 'content-type: application/json' \ -H 'x-request-id: user-assigned-request-id' ``` ### Response #### Success Response (200) - **userGroupId** (string) - The unique identifier for the user group. - **userGroupName** (string) - The name of the user group. - **users** (array) - A list of users belonging to the group. - **permissions** (array) - A list of permissions assigned to the group. #### Response Example ```json { "userGroupId": "39127441", "userGroupName": "ExampleGroup", "users": [ { "userId": "user1@example.com" } ], "permissions": [ { "permissionId": "read" } ] } ``` ``` -------------------------------- ### Example Response: Users in Product Profile Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getProductProfileUsers.html This example demonstrates a successful response containing a list of users associated with a product profile. It includes user details such as ID, email, name, domain, and user type. Different user types like enterpriseID, adobeID, and federatedID can be returned. ```json [ { "id": "6237573D58A4C1B90A494038@example1.com", "email": "jane@example1.com", "username": "jane@example.com", "domain": "example.com", "firstName": "Jane", "lastName": "Doe", "userType": "enterpriseID" }, { "id": "F4146FD359662BE90A49410C@AdobeID", "email": "johndoe@example2.com", "username": "johndoe@example2.com", "domain": "example2.com", "firstName": "John", "lastName": "Doe", "userType": "adobeID" }, { "id": "4EB5B571575A6B057F000101@example.com", "email": "john@example.com", "username": "john", "domain": "example.com", "userType": "federatedId" }, ] ``` -------------------------------- ### Test Mode Request Example Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/ActionsRef.html Demonstrates how to use the testOnly parameter to validate commands without making actual changes. Includes example headers and body structure. ```http POST https://usermanagement.adobe.io/v2/usermanagement/action/{myOrgID}?testOnly=true -------------------------- body ---------------------------- JSON commands ------------------------- headers -------------------------- Accept: application/json Content-Type: application/json x-api-key: {myApiKey} Authorization: Bearer {myAccessToken} ``` -------------------------------- ### 404 Not Found Response Example Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getAllProfilesForOrg.html This is an example of an HTTP 404 Not Found response, indicating that a specific configuration (plc) was not found in the given organization. ```http < HTTP/1.1 404 Not Found < Canonical-Resource: /v2/usermanagement/{orgId}/products/{productId}/configurations/{id} < Content-Type: application/json < X-Request-Id: iB93be6zWzNg19TljWt2IvZCxSWHis5l < Connection: keep-alive {"errorMessage":"PLC_NOT_FOUND","errorCode":"PLC_NOT_FOUND"} ``` -------------------------------- ### Test Mode Response Example Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/ActionsRef.html An example response when using test mode, indicating the number of operations that would have been completed, completed in test mode, or not completed. ```json { "result": "partial", "completed" : 0, "completedInTestMode" : 3, "notCompleted" : 1, "errors" : [...] } ``` -------------------------------- ### 404 Not Found Response Example Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUserGroup.html This example shows an HTTP 404 Not Found response, indicating that the requested user-group was not found in the specified organization. ```http < HTTP/1.1 404 Not Found < Content-Type: application/json < Date: Thu, 22 Jun 2017 09:39:06 GMT < Vary: Accept-Encoding < X-Request-Id: user-assigned-request-id < Content-Length: 64 < Connection: keep-alive < {"errorMessage":"GROUP_NOT_FOUND","errorCode":"GROUP_NOT_FOUND"} ``` -------------------------------- ### Add Developer Role for Product Profile Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/ActionsCmds.html This example demonstrates how to assign the 'developer' role to a user for a given product profile. ```json [{ "user": "jdoe@claimed-domain1.com", "do": [{ "add": { "group" : ["_developer_myProductProfile1Name"] } }] }] ``` -------------------------------- ### Add Adobe ID User Example Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/ActionsCmds.html Provides an example of a command entry to add a user with an existing Adobe ID. Specifies the user's email, request ID, and the details for the addAdobeID action. ```json [{ "user" : "jdoe@domain1.com", "requestID": "action_1", "do" : [{ "addAdobeID": { "email": "jdoe@domain1.com", "country": "US", "firstname": "John", "lastname": "Doe", "option": "ignoreIfAlreadyExists" } }] }] ``` -------------------------------- ### Install JWT Dependencies Source: https://adobe-apiplatform.github.io/umapi-documentation/en/samples/index.html Installs 'PyJWT' and 'cryptography' for deprecated JWT workflows. ```bash pip install PyJWT cryptography ``` -------------------------------- ### Install Python Dependencies Source: https://adobe-apiplatform.github.io/umapi-documentation/en/samples Installs necessary Python packages for interacting with Adobe APIs, including requests, PyJWT, and cryptography. ```bash pip install requests ``` ```bash pip install PyJWT ``` ```bash pip install cryptography ``` -------------------------------- ### API Response Status Examples Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/ActionsRef.html Examples of different API response statuses: error, partial, and success. These illustrate the structure of the response body for each scenario. ```APIDOC ## API Response Status Examples ### Description Examples of different API response statuses: error, partial, and success. These illustrate the structure of the response body for each scenario. ### Error Status Response Example ```json { "completed": 0, "notCompleted": 1, "completedInTestMode": 0, "errors": [ { "index": 0, "step": 0, "message": "String too long in command for field: country, max length 2", "errorCode": "error.command.string.too_long" } ], "result": "error" } ``` ### Partial Status Response Example ```json { "completed": 5, "notCompleted": 5, "completedInTestMode": 0, "errors": [ { "index": 1, "step": 0, "requestID": "Two2_123456", "message": "User Id does not exist: test@test_fake.us", "user": "test@test_fake.us", "errorCode": "error.user.nonexistent" }, { "index": 3, "step": 0, "requestID": "Four4_123456", "message": "Group NON_EXISTING_GROUP was not found", "user": "user4@example.com", "errorCode": "error.group.not_found" }, { "index": 5, "step": 0, "requestID": "Six6_123456", "message": "User Id does not exist: test@test_fake.fake", "user": "test6@test_fake.fake", "errorCode": "error.user.nonexistent" }, { "index": 7, "step": 0, "requestID": "Eight8_123456", "message": "Changes to users are only allowed in claimed domains.", "user": "fake8@faketest.com", "errorCode": "error.domain.trust.nonexistent" }, { "index": 9, "step": 0, "requestID": "Ten10_123456", "message": "Group NON_EXISTING_GROUP was not found", "user": "user10@example.com", "errorCode": "error.group.not_found" } ], "result": "partial", "warnings": [ { "warningCode": "warning.command.deprecated", "requestID": "Four4_123456", "index": 3, "step": 0, "message": "'product' command is deprecated. Please use productConfiguration.", "user": "user4@example.com" }, { "warningCode": "warning.command.deprecated", "requestID": "Ten10_123456", "index": 9, "step": 0, "message": "'product' command is deprecated. Please use productConfiguration.", "user": "user10@example.com" } ] } ``` ### Success Status Response Example ```json { "completed": 1, "notCompleted": 0, "completedInTestMode": 0, "result": "success" } ``` ``` -------------------------------- ### Add Developer Role for a Product Profile Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/ActionsCmds.html Example of assigning the 'developer' role to a user for a given product profile. ```APIDOC ## Add Developer Role for a Product Profile ### Description This example demonstrates how to add a user to a group that grants them the 'developer' role for a specific product profile. ### Request Example ```json [ { "user": "jdoe@claimed-domain1.com", "do": [{ "add": { "group": ["_developer_myProductProfile1Name"] } }] } ] ``` ``` -------------------------------- ### Add Product Profile and User, Remove Product Profile and User Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/usergroupActionCommands.html Example demonstrating adding a product profile and a user to a user group, and simultaneously removing another product profile and user. ```json { "usergroup": "DevOps", "do": [ { "add": { "user": [ "user1@myCompany.com" ], "productConfiguration": [ "Profile1_Name" ] } }, { "remove": { "user": [ "user2@myCompany.com" ], "productConfiguration": [ "Profile2_Name" ] } } ] } ``` -------------------------------- ### Get User API Error Response Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUser.html Example of an error response when a request fails due to an invalid organization ID. ```json { "result": "error.organization.invalid_id", "message": "Bad organization Id" } ``` -------------------------------- ### Get User API Response - Federated ID User Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUser.html Example response for a Federated ID user with no memberships or administrative roles. ```json { "result": "success", "user": { "email": "jdoe@my-domain.com", "status": "active", "username": "johndoe", "domain": "my-domain.com", "firstname": "John", "lastname": "Doe", "country": "US", "type": "federatedID" } } ``` -------------------------------- ### Get Users by Group (Last Page) Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUsersByGroup.html This example illustrates a response when the requested page is the last page of results, indicated by `"lastPage": true`. ```APIDOC ## GET /users/by/group/{groupName} (Last Page) ### Description Retrieves the last page of users belonging to a specific group. The `lastPage` field in the response will be set to `true`. ### Method GET ### Endpoint /users/by/group/{groupName} ### Query Parameters - **excludeGroups** (boolean) - Optional - If true, the `groups` array will be excluded from the user objects in the response. - **page** (integer) - Optional - The page number to retrieve. When requesting the last page, this would be the highest page number. - **pageSize** (integer) - Optional - The number of entries to return per page. ### Response #### Success Response (200 OK) - **lastPage** (boolean) - Always `true` when this is the last page of results. - **result** (string) - The status of the operation (e.g., "success"). - **groupName** (string) - The name of the group. - **users** (array) - An array of user objects. - **email** (string) - The user's email address. - **status** (string) - The user's status (e.g., "active"). - **groups** (array) - An array of groups the user belongs to (omitted if `excludeGroups=true`). - **username** (string) - The user's username. - **domain** (string) - The user's domain. - **country** (string) - The user's country. - **type** (string) - The user's identity type. ### Headers - **X-Total-Count** (string) - The total count of users. - **X-Page-Count** (string) - The maximum number of pages that could be fetched. - **X-Current-Page** (string) - The integer value of the page being returned. - **X-Page-Size** (string) - The number of entries in the page being returned. ### Request Example (No explicit request example provided in source, but implies a GET request to an endpoint like `/users/by/group/Document Cloud 1` with appropriate pagination parameters to target the last page) ### Response Example ```json { "lastPage": true, "result": "success", "groupName": "Document Cloud 1", "users": [ { "email": "jim@example.com", "status": "active", "groups": [ "Document Cloud 1" ], "username": "jim", "domain": "example.com", "country": "US", "type": "adobeID" } ] } ``` ``` -------------------------------- ### Get Users by Group (Exclude Groups) Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUsersByGroup.html This example shows a response when the `excludeGroups=true` query parameter is used, resulting in the `groups` array being omitted from each user object. ```APIDOC ## GET /users/by/group/{groupName}?excludeGroups=true ### Description Retrieves a list of users belonging to a specific group, with the `groups` array excluded from each user object in the response. ### Method GET ### Endpoint /users/by/group/{groupName} ### Query Parameters - **excludeGroups** (boolean) - Required - Set to `true` to exclude the `groups` array from the user objects. - **page** (integer) - Optional - The page number to retrieve. - **pageSize** (integer) - Optional - The number of entries to return per page. ### Response #### Success Response (200 OK) - **lastPage** (boolean) - Indicates if this is the last page of results. - **result** (string) - The status of the operation (e.g., "success"). - **groupName** (string) - The name of the group. - **users** (array) - An array of user objects. - **email** (string) - The user's email address. - **status** (string) - The user's status (e.g., "active"). - **username** (string) - The user's username. - **domain** (string) - The user's domain. - **country** (string) - The user's country. - **type** (string) - The user's identity type. ### Headers - **X-Total-Count** (string) - The total count of users. - **X-Page-Count** (string) - The maximum number of pages that could be fetched. - **X-Current-Page** (string) - The integer value of the page being returned. - **X-Page-Size** (string) - The number of entries in the page being returned. ### Request Example (No explicit request example provided in source, but implies a GET request to an endpoint like `/users/by/group/Document Cloud 1?excludeGroups=true`) ### Response Example ```json { "lastPage": false, "result": "success", "groupName": "Document Cloud 1", "users": [ { "email": "john@example.com", "status": "active", "username": "john", "domain": "example.com", "country": "US", "type": "federatedID" }, { "email": "jane@example.com", "status": "active", "username": "jane", "domain": "example.com", "country": "US", "type": "federatedID" }, { "email": "bob@example.com", "status": "active", "username": "bob", "domain": "example.com", "country": "US", "type": "federatedID" } ] } ``` ``` -------------------------------- ### Get User API Response - Enterprise ID User Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUser.html Example response for an Enterprise ID user with memberships in two user-groups but no administrative roles. Fields not populated are excluded. ```json { "result": "success", "user": { "email": "jdoe@my-domain.com", "status": "active", "groups": [ "UserGroup1", "UserGroup2" ], "username": "jdoe@my-domain.com", "domain": "my-domain.com", "country": "JP", "type": "enterpriseID" } } ``` -------------------------------- ### Retrieve First Page of Users Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUsersWithPage.html Fetches the initial set of users. Ensure you have the correct organization ID and API credentials. ```bash curl -X GET https://usermanagement.adobe.io/v2/usermanagement/users/12345@AdobeOrg/0 \ --header 'Authorization: Bearer ey...' \ --header 'X-Api-Key: 88ce03094fe74f4d91c2538217d007fe' ``` -------------------------------- ### Get User API Response - Adobe ID User Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUser.html Example response for an Adobe ID user with System Administrator role. Includes user details and group memberships. ```json { "result": "success", "user": { "email": "jdoe@my-domain.com", "status": "active", "username": "jdoe@my-domain.com", "domain": "my-domain.com", "firstname": "John", "lastname": "Doe", "country": "US", "type": "adobeID", "groups": [ "_org_admin" ] } } ``` -------------------------------- ### Get Users with Pagination Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUsersWithPage.html This section details the response headers and provides examples for paginated user retrieval. The API returns headers that help manage pagination, such as total count, page count, current page, and page size. The user objects in the response include details like email, status, username, domain, country, type, and optionally groups, first name, and last name. ```APIDOC ## Get Users with Pagination ### Description Retrieves a paginated list of users. The response includes pagination-related headers and a list of user objects. ### Headers - **X-Total-Count** (string) - The total count of users. - **X-Page-Count** (string) - The maximum number of pages that could be fetched with the criteria specified. - **X-Current-Page** (string) - The integer value of the page being returned. - **X-Page-Size** (string) - The number of entries in the page being returned. ### Response Body Example (Success) ```json { "lastPage": false, "result": "success", "users": [ { "email": "psmith@example.com", "status": "active", "username": "psmith", "domain": "example.com", "country": "US", "type": "federatedID" }, { "email": "jane@example.com", "status": "active", "groups": [ "Marketing Cloud 1", "Marketing Cloud 2", "Creative Cloud 1", "Document Cloud 1", "_admin_Document Cloud 1", "_admin_Support for AEM Mobile", "_admin_Default Support configuration", "_admin_Creative Cloud 1" ], "username": "jane", "domain": "example.com", "firstname": "Jane", "lastname": "Doe", "country": "US", "type": "federatedID" }, { "email": "joe@example.com", "status": "active", "groups": [ "Document Cloud 1", "Support for AEM Mobile", "_admin_Document Cloud 1", "_admin_Support for AEM Mobile", "_admin_Default Support configuration", "_admin_Creative Cloud 1", "_deployment_admin", "_developer_Document Cloud 1" ], "username": "joe", "domain": "example.com", "firstname": "First", "lastname": "Last", "country": "US", "type": "federatedID" } ] } ``` ### Response Body Example (Last Page) ```json { "lastPage": true, "result": "success", "users": [ { "email": "last@example.com", "status": "active", "username": "last", "domain": "example.com", "country": "US", "type": "federatedID" } ] } ``` ### Notes - The `tags` array will no longer be returned in the response. ``` -------------------------------- ### Create Federated ID and Add to Product Licenses Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/ActionsCmds.html Example of creating a Federated ID for a user and simultaneously adding them to specified product license configurations. ```json [{ "user" : "jdoe@claimed-domain1.com", "requestID" : "ed2148", "do" : [ { "createFederatedID": { "email": "jdoe@claimed-domain1.com", "country": "US", "firstname": "John", "lastname": "Doe" } }, { "add" : { "group" : [ "Photoshop - 2Gb", "Illustrator - 20Gb"] } } ] }] ``` -------------------------------- ### Usage Example for Create Enterprise ID Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/ActionsCmds.html Provides a sample request body for creating an Enterprise ID. Ensure all required fields are populated. ```json [{ "user" : "jdoe@claimed-domain1.com", "requestID": "action_1", "do" : [{ "createEnterpriseID": { "email": "jdoe@dclaimed-domain1.com", "country": "US", "firstname": "John", "lastname": "Doe", "option": "ignoreIfAlreadyExists" } }] }] ``` -------------------------------- ### Get All Users Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/DeprecatedApis.html This API has been deprecated. It was used to retrieve all users in an organization. The recommended alternative is 'Get Users in Organization'. ```APIDOC ## GET /v2/usermanagement/{orgId}/users ### Description Retrieves all users within a specified organization. This API is deprecated. ### Method GET ### Endpoint /v2/usermanagement/{orgId}/users ### Parameters #### Path Parameters - **orgId** (string) - Required - The unique identifier for the organization. ### Response #### Success Response (200) - **users** (array) - A list of user objects. - **user** (object) - Contains user details. - **adminRoles** (array) - Deprecated. Administrative roles are now reflected in group memberships. - **groups** (array) - Contains group memberships for the user. ``` -------------------------------- ### List Products with Pagination Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/QueryProducts.html Retrieve a paged list of products for your organization. The `page` parameter controls the starting entry for the response, defaulting to 0. ```bash GET [UM_Server]/{orgId}/products[?page={n}] ``` -------------------------------- ### Retrieve the first page of users Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUsersWithPage.html Fetches the initial set of users for a given organization. ```APIDOC ## GET /v2/usermanagement/users/{organization_id}/{page_number} ### Description Retrieves a paginated list of users for a specified Adobe organization. ### Method GET ### Endpoint /v2/usermanagement/users/{organization_id}/{page_number} ### Parameters #### Path Parameters - **organization_id** (string) - Required - The unique identifier for the Adobe organization. - **page_number** (integer) - Required - The page number to retrieve (0-indexed). #### Query Parameters None explicitly documented for this basic call. ### Request Example ```bash curl -X GET https://usermanagement.adobe.io/v2/usermanagement/users/12345@AdobeOrg/0 \ --header 'Authorization: Bearer ey...' \ --header 'X-Api-Key: 88ce03094fe74f4d91c2538217d007fe' ``` ### Response #### Success Response (200) - **users** (array) - A list of user objects. - **pagination** (object) - Information about pagination. #### Response Example (Response body structure not explicitly provided in source, but would contain user data and pagination info) ``` -------------------------------- ### Create Federated ID and Add to Product Licenses Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/ActionsCmds.html Example of creating a Federated ID and simultaneously adding the user to specified product license configurations. ```APIDOC ## Create Federated ID and Add to Product Licenses ### Description This example demonstrates how to create a Federated ID for a user and then add them to multiple product license configurations in a single request. ### Request Example ```json [ { "user": "jdoe@claimed-domain1.com", "requestID": "ed2148", "do": [ { "createFederatedID": { "email": "jdoe@claimed-domain1.com", "country": "US", "firstname": "John", "lastname": "Doe" } }, { "add": { "group": ["Photoshop - 2Gb", "Illustrator - 20Gb"] } } ] } ] ``` ``` -------------------------------- ### Sample POST Body for Create Federated ID (Email Login) Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/ActionsCmds.html Illustrates a POST body for creating a Federated ID using email-based login. The 'user' field should be the email address. ```json [{ "user" : "jdoe@claimed-domain1.com", "requestID": "action_1", "do" : [{ "createFederatedID": { "email": "jdoe@claimed-domain1.com", "country": "US", "firstname": "John", "lastname": "Doe", "option": "ignoreIfAlreadyExists" } }] }] ``` -------------------------------- ### 401 Unauthorized Response Example Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getAllProfilesForOrg.html This is an example of an HTTP 401 Unauthorized response, typically indicating an invalid or expired token, or an invalid organization. ```http < HTTP/1.1 401 Unauthorized < Content-Type: */* < Date: Thu, 22 Jun 2017 09:47:04 GMT < WWW-Authenticate: Bearer realm="JIL", error="invalid_token", error_description="The access token is invalid" < X-Request-Id: user-assigned-request-id < Content-Length: 0 < Connection: keep-alive ``` -------------------------------- ### List Products for Organization Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/QueryProducts.html Use this endpoint to retrieve a paged list of Adobe products your organization uses. Ensure you include the Authorization and x-api-key headers. ```bash GET /v2/usermanagement/{orgId}/products/ ``` -------------------------------- ### 403 Forbidden Response Example Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getAllProfilesForOrg.html This is an example of an HTTP 403 Forbidden response, which may be due to a missing API key or the organization being in a migration state. ```http < HTTP/1.1 403 Forbidden < Date: Thu, 22 Jun 2017 09:41:22 GMT < X-Request-Id: user-assigned-request-id < Content-Length: 0 < Connection: keep-alive ``` -------------------------------- ### Get User API Response Schema Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUser.html The schema model for the Get User API response, outlining the structure and types of returned properties. ```json { "message": "string", "result": "string", "user": { "country": "string", "domain": "string", "email": "string", "firstname": "string", "groups": [ "string" ], "id": "string", "lastname": "string", "status": "string", "type": "string", "username": "string" } } ``` -------------------------------- ### Sample POST Body for Create Federated ID (Domain Defined) Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/ActionsCmds.html Shows how to define the domain when creating a Federated ID. The 'user' field can be a username if the domain is specified. ```json [{ "user" : "jdoe", "domain": "claimed-domain1.com", "requestID": "action_1", "do" : [{ "createFederatedID": { "email": "jdoe@claimed-domain1.com", "country": "US", "firstname": "John", "lastname": "Doe", "option": "ignoreIfAlreadyExists" } }] }] ``` -------------------------------- ### Retrieve First Page of Users Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUsersREST.html Use this endpoint to fetch the initial set of users. Ensure you include the correct organization ID and API key in the headers. ```curl curl -X GET https://usermanagement.adobe.io/v2/usermanagement/12345@AdobeOrg/users?page=0 \ --header 'Authorization: Bearer ey...' \ --header 'X-Api-Key: 88ce03094fe74f4d91c2538217d007fe' ``` -------------------------------- ### Create Virtual Environment Source: https://adobe-apiplatform.github.io/umapi-documentation/en/samples/index.html Optional step to create an isolated Python environment for project dependencies. ```bash python -m venv path/to/ENV ``` -------------------------------- ### Get All Product Profiles for Organization API Endpoint Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getAllProfilesForOrg.html This is the HTTP GET endpoint for retrieving all product profiles for a given organization and product. Note that this API is deprecated. ```http GET /v2/usermanagement/{orgId}/products/{productId}/configurations ``` -------------------------------- ### Make a Basic HTTP Request Source: https://adobe-apiplatform.github.io/umapi-documentation/en/samples/index.html Illustrates the fundamental technique for making an HTTP request to the UMAPI. For production use, implement robust error handling and recovery mechanisms. ```python r = requests.request(method, url, data=body, headers=headers) ``` -------------------------------- ### Get User Group API Endpoint Source: https://adobe-apiplatform.github.io/umapi-documentation/en/api/getUserGroup.html This snippet shows the GET endpoint for retrieving a specific user group by its ID. It requires the organization ID and the group ID in the path. ```http GET /v2/usermanagement/{orgId}/user-groups/{groupId} ```