docs: document Adobe Sign non-standard refresh token endpoint

Adobe Sign uses /oauth/v2/refresh (not /oauth/v2/token) for token
refresh — a deviation from the OAuth2 spec that caused all refresh
attempts to fail with a misleading "Invalid grant_type" error.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Paul Huliganga 2026-04-16 12:35:17 -04:00
parent cabf753326
commit 7aac78f3a4
1 changed files with 12 additions and 0 deletions

View File

@ -19,6 +19,18 @@ editor after upload.
## Adobe Sign API Quirks
### Token refresh uses a separate endpoint `/oauth/v2/refresh` (2026-04-16)
**Symptom:** Calling the standard OAuth2 token endpoint (`/oauth/v2/token`) with
`grant_type=refresh_token` returns `{"error":"invalid_request","error_description":
"Invalid grant_type refresh_token"}` — even with a valid, freshly-issued refresh token.
**Root cause:** Adobe Sign uses a non-standard separate endpoint for token refresh:
`/oauth/v2/refresh` (not `/oauth/v2/token`). This differs from the OAuth2 spec and
virtually all other OAuth2 providers.
**Fix applied:** `adobe_api.py` now uses `REFRESH_URL = .../oauth/v2/refresh` for
refresh requests and `TOKEN_URL = .../oauth/v2/token` only for the initial auth code
exchange.
**Note:** `redirect_uri` is not required in the refresh request and should be omitted.
### Company/Title contentType returned with `SIGNER_` prefix (2026-04-15)
**Symptom:** When Company and Title fields are set via the Adobe Sign UI (the API
rejects `COMPANY`/`TITLE` as contentType values), the API returns them as