Implementation Notes and Best Practice

Last update: Oct 30, 2025.

data-slots=header, text
Tip
Your feedback is valuable and is vital in improving our product and documentation. Send suggestions to acrobatsignembed@adobe.com.

This page identifies the major change areas, deprecated features, new features, and learnings from our conversations with Embed Partners.

Changes

No Acrobat Sign asset IDs are changing as part of this process, and they are not being relocated. The major changes are:

Embed 2.0 deprecates the following:

Embed 2.0 adds the following:

  "firstName": "Adrian",
  "lastName": "Administrator",
  "email": "123456789o123456789o123456789o123456789@oemtest2.com",
  "emailAlias": "drian_A@joesBikes.com",
  "accountId":"{{accountId}}",
  "roles": [
  "ACCOUNT_ADMIN",
  "PRIVACY_ADMIN"
  ]
  }

Access token storage and validation

Embed 2.0 replaces OAuth with the following elements:

offlineCheck.png

"valid": true,
"expires_at": 1727732199
}

Pre-migration planning

Choosing a domain – Before you can, “claim a domain,” as described in the onboarding instructions, your organization must decide on the domain you want to use and work with your internal teams to set it up.

UsersToMigrate.csv — You’ll provide a CSV file that maps your current customer-account email addresses to new email addresses within the claimed domain. If you need assistance identifying the account-admin emails that will be the subject of the migration, we can request a database query on your behalf. This requires some lead time. The CSV looks like this:

email
newEmail
emailAlias
joesRentals@propcompany1.com
joesRentals@esign.partner.com
joesRentals@propcompany1.com
johnRentals@propcompany2.com
johnsRentals@esign.partner.com
johnRentals@propcompany2.com

Testing Migrations

Setting up test-migrations – You will test migrations, by creating Acrobat Sign accounts on the PRODUCTION environment using your existing process, but with test-users.

After migration, these accounts will not be able to access the Acrobat Sign Web UI:

These accounts will only be able to access Acrobat Sign assets via API, via your Certified App, or using an integration key which you can create from the ACCOUNT_SETTINGS view (POST/v6/users/ID/views):

DO NOT USE THE ADMIN CONSOLE to add Acrobat Sign users to your accounts. Add Acrobat Sign administrators and users to your accounts via API only! There is no way to associate a user added via the Admin Console to an Acrobat Sign account. Add users to your new accounts VIA API ONLY!

Identify test cases – Which use cases do you plan to test? If your document flow sends all agreements through a service account (such as the admin account), set up a new account that mirrors this. Include webhooks if any. Create tests that simulate your most complex signing flows. For example, some users will sign before migration and plan for others to complete the signing after migration. The goal is to ensure that in-flight agreements look and behave as expected post-migration and that your application is responding correctly to any webhook posts initiated by your new clientId. For a time, your app will be receiving webhook posts from two clientIds. Be sure to include the new clientId in your allow-list, if you use one. Use your existing certified partner app to create new accounts and in-flight Acrobat Sign transactions that you will complete and introspect after the test migration is completed. Note that you can test a migration without a certified app, using Postman or Swagger to introspect your assets post migration. Embed-user tokens work with our Swagger page. Use the embed user token for authentication. Be sure to prepend “Bearer” to the token.

Testing Environments

Your test migration will take place in the Acrobat Sign Production environment. Your Sandbox environment is not involved in testing the migration itself. These guidelines will help you configure multiple pre-production environments on Sandbox should you have the need to do so. THIS IS NOT A REQUIREMENT.

Set up one technical account to use in sandbox, and different one to use in prod. Even though the technical account token created for your Embed 2.0 Sandbox can operate across all environments, you should (at a minimum) use one token for Sandbox and another for Production. If required, you could also set up different technical accounts for each environment (e.g. different ones for: Development, Test, QA, Production).

How do I set up my Development, Test, QA and Production environments using the Acrobat Sign Sandbox and Production environments that Adobe provides? For each environment, create a childOrg in the Admin console and map it to claimed domain or subdomain as follows:

In Sandbox:

In Production:

Migration Status of a User

Value
HTTP Method
Post
Endpoint Operation
/v1/users/migrationStatus
Authentication/Authorization
Valid Technical Account Token <br/> Mandatory Scopes in token - sign_user_read
Audience
Partner will call this API to check the state of a user whether it is migrated or not.
Request Header
Partner Migration Status APIs Headers
Response Object
MigrationStatusReponse
HTTP Status Code
200
Error Code
Error Response - User Migration Status

Request Form parameters

Parameter Name
Type
Description
Optional/Required
email
String
email Id of the user
Either a UserId or Email is required.
userId
String
Acrobat Sign User Id of the user
Either UserId or Email is required. User Id will get priority if both are present.

Response Object

Migration status Response

Parameter Name
Type
Description
Value Range
state
Enum
Check if the user is migrated to Embed 2.0 on not.<br/> -MIGRATED - The User has been Migrated Successfully<br/> -NOT_MIGRATED - The User is not migrated and can continue to access Sign using the legacy Embed model.
MIGRATED/NOT_MIGRATED
migrationStatus
Enum
Status of a user with respect to migration and identify the correct model of the user.<br/>• MIGRATION_REQUIRED - Migration not started for this user.<br/>• IN_PROGRESS - Migration is in progress.<br/>• SUCCEEDED - Migration successful.<br/>• FAILED - Migration Failed.
If the User State is MIGRATED, the Migration Status will be: <br/>• SUCCEEDED <br/>If the User State is NOT_MIGRATED, the Migration Status can be: <br/>• MIGRATION_REQUIRED <br/>• IN_PROGRESS <br/>• FAILED

Sample Response

{
"state": "MIGRATED/ NOT_MIGRATED"
"migrationStatus": "IN_PROGRESS/SUCCEEDED/FAILED/MIGRATION_REQUIRED"
}

Error Response

Error codes

HTTP Status Code
ErrorCode
Message
400
BAD_REQUEST
The request provided is invalid.
400
INVALID_PARAMETER
The <param_name> value specified is invalid.
400
MISSING_REQUIRED_PARAM
Required parameter <param name> is missing.
401
INVALID_TOKEN
Token provided is invalid or expired.
403
AUTHENTICATION_FAILED
Partner is not onboarded successfully.
403
MISSING_SCOPES
The token does not contain the required scopes.
403
PERMISSION_DENIED
The API caller does not have the permission to execute this operation.
404
USER_NOT_FOUND
User not found.
500
MISC_SERVER_ERROR
Some miscellaneous error has occurred.

Partner Migration Status APIs Headers

Header Name
Values
Description
Authorization
Bearer <Technical Account Token>
Technical account token that is generated by the partner.
content-type
application/x-www-form-urlencoded
Media type of the resource.
x-request-id
String
A string value needed to track a given request

© Copyright 2022, Adobe Inc.. Last update: Jan 30, 2025.