Skip to main content
bmenant
Participant
March 27, 2026
Question

PDF Services API : UNAUTHORIZED (eventhough access token request succeeded)

  • March 27, 2026
  • 2 replies
  • 15 views

Today, we’re trying the PDF Services API.

 

Strictly following the [Node.js SDK documentation](https://developer.adobe.com/document-services/docs/overview/pdf-services-api/gettingstarted/#nodejs), I signed up and created new credentials with the Personalized Code Sample Download, unzipped, installed the project dependencies with `npm install` and exported environment variables with client id and secret.

Then, I tried to run a few samples... but every attempt (tried different operation endpoint) has failed so far:

```
$ node src/pdfaccessibilitychecker/pdf-accessibility-checker.js 
Logging configuration found at config/pdfservices-sdk-log4js-config.json.
2026-03-27T16:13:47.606:[INFO]: Started uploading asset
2026-03-27T16:13:49.060:[INFO]: Finished uploading asset
2026-03-27T16:13:49.062:[INFO]: Started submitting PDF Accessibility Checker Operation job
2026-03-27T16:13:49.063:[INFO]: Finished submitting PDF Accessibility Checker Operation job
Exception encountered while executing operation ServiceApiError: Not authorised to perform the operation.
    at HttpClient.handlePDFServicesAPIErrorResponse (***/AdobePDFServicesSDK/node_modules/@adobe/pdfservices-node-sdk/lib/internal/http/HttpClient.js:129:19)
    at HttpClient.handleErrorResponse (***/AdobePDFServicesSDK/node_modules/@adobe/pdfservices-node-sdk/lib/internal/http/HttpClient.js:107:22)
    at HttpClient.execute (***/AdobePDFServicesSDK/node_modules/@adobe/pdfservices-node-sdk/lib/internal/http/HttpClient.js:92:22)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async PDFAccessibilityCheckerJob.process (***/AdobePDFServicesSDK/node_modules/@adobe/pdfservices-node-sdk/lib/pdfjobs/jobs/PDFAccessibilityCheckerJob.js:84:135)
    at async ***/AdobePDFServicesSDK/src/pdfaccessibilitychecker/pdf-accessibility-checker.js:54:28 {
  _requestTrackingId: '09fc95a6-b38c-4bfb-9914-061901ed875d',
  _statusCode: 403,
  _errorCode: 'UNAUTHORIZED'
```

From the project OAuth Server to server console, I can see that an access token has been properly issued, which means the env credentials are fine.

 

To figure out what’s going on, I tried to follow the steps in the [documentation](https://developer.adobe.com/document-services/docs/overview/pdf-services-api/gettingstarted/) using curl instead. Access token request is ok. Asset upload is ok. But step 3 fails with the same 403 Forbidden error code: 

```
$ curl -i --location --request POST 'https://pdf-services-ue1.adobe.io/operation/accessibilitychecker' \
--header 'X-API-Key: ***' \
--header 'Authorization: Bearer ***' \
--header 'Content-Type: application/json' \
--data-raw '{"assetID":"urn:aaid:AS:UE1:***"}'

HTTP/1.1 403 Forbidden
Server: openresty
Date: Fri, 27 Mar 2026 17:05:01 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 86
Connection: keep-alive
x-request-id: qdVyqJKVeImErJ7iYUUBxaXaiZaED8QB
x-server: adobe.dcplatformpdfservices.0.1.4be0b80ff11fe7aaa3df5b9804af352e4deeb1a1
x-content-type-options: nosniff
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
expires: Thu, 01 Jan 1970 00:00:00 GMT
x-robots-tag: none
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: *
Access-Control-Max-Age: 60
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: Authorization,Content-Type,X-Api-Key,User-Agent,If-Modified-Since,x-api-app-info

{"error":{"code":"UNAUTHORIZED","message":"Not authorised to perform the operation."}}% 
```

And I’m all out of ~~bubblegum~~ idea. 😎

 

Did I miss anything in the doc or somewhere?

 

Thank you for your assistance.

    2 replies

    Joel  Geraci
    Adobe Employee
    Adobe Employee
    March 27, 2026

    There was a problem with the servers. You can always check the status of the services here. https://status.adobe.com/products/503500

    It can save you some headaches when debugging your code that stops working for no apparent reason. 

    bmenant
    bmenantAuthor
    Participant
    March 30, 2026

    Actually, there is no incident reported on Firday 27 March. 

    And all statuses are green right now… but I’m still facing many UNAUTHORIZED answers today.

    bmenant
    bmenantAuthor
    Participant
    March 27, 2026

    It looks like authorization servers are having troubles, since requests fail and then complete after a few retries. Status polling endpoints are having similar issues:

    ```

    $ curl -i --location -g --request GET 'https://pdf-services-ue1.adobe.io/operation/accessibilitychecker/***/status' \
    --header 'X-API-Key: ***' \
    --header 'Authorization: Bearer ***'  

    HTTP/1.1 403 Forbidden
    Server: openresty
    Date: Fri, 27 Mar 2026 18:05:21 GMT
    Content-Type: application/json;charset=UTF-8
    Content-Length: 92
    Connection: keep-alive
    x-request-id: Ct2hARTcMPxWDzI2MC5xLIeUjhMeN8bt
    x-server: adobe.dcplatformpdfservices.0.1.4be0b80ff11fe7aaa3df5b9804af352e4deeb1a1
    x-content-type-options: nosniff
    cache-control: no-store, no-cache, must-revalidate
    pragma: no-cache
    expires: Thu, 01 Jan 1970 00:00:00 GMT
    x-robots-tag: none
    Access-Control-Allow-Origin: *
    Access-Control-Allow-Credentials: true
    Access-Control-Expose-Headers: *
    Access-Control-Max-Age: 60
    Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
    Access-Control-Allow-Headers: Authorization,Content-Type,X-Api-Key,User-Agent,If-Modified-Since,x-api-app-info

    {"title":"ErrInvalidAPIKey","status":403,"error_code":403003,"message":"API key is invalid"}

    ```

    Exact same request retried one minute later worked.