Make Adobe Acrobat Sign API calls scoped to a specific group using a group-scoped OAuth token and the x-api-user header
domain: opensource.adobe.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
When creating/authorizing the OAuth application, request scopes with the :group modifier (e.g. agreement_send:group, agreement_read:group, user_login:group) so the resulting access token is scoped to a group rather than a single user.
Complete the OAuth authorization flow; a Group Admin (not an ordinary user) must approve the :group scoped consent, and the account must be on Business or Enterprise edition — otherwise the grant falls back to a user-scoped token.
On each REST call, send the group-scoped Authorization bearer token plus an x-api-user header in the form userid:{userId} or email:{email} to specify which user within that group the call acts as.
If x-api-user is omitted, Acrobat Sign infers the caller from the token itself; including it lets one group-scoped token act on behalf of any user that belongs to that group.
Use x-on-behalf-of-user instead of x-api-user only when doing Account Sharing delegation — the two headers implement different delegation models and are not interchangeable.
Handle the documented error codes for an invalid x-api-user header (bad format) and invalid/unauthorized user if the target user's id/email is malformed or falls outside the token's group scope.
Known gotchas
x-api-user only lets you impersonate a user inside the group/account your token's scope actually covers — a group-scoped token cannot reach a user in a different group.
Acrobat Sign for Government does not support x-api-user impersonation at all; only account-admin scoped tokens can impersonate there, via token exchange, not this header.
The :group scope modifier requires Business/Enterprise edition and an explicit Group Admin approving the consent screen — requesting the scope with a non-admin's OAuth grant will not produce a group-scoped token even if the app requests it.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?