Skip to main content
Inspiring
October 24, 2025
Question

[REST API] 400 Invalid Request Format when calling /operation/createpdf with valid assetID

  • October 24, 2025
  • 1 reply
  • 97 views

Hi everyone,

I'm currently integrating Adobe PDF Services REST API (without SDK) in a Node.js server.

Everything works fine until the final conversion step.

Here’s my full sequence:

1)Token (IMS)
POST https://ims-na1.adobelogin.com/ims/token/v3
→ Works, I get a valid access token.

2) Asset Upload (HTML or ZIP)
POST https://pdf-services.adobe.io/assets
→ Works, returns a valid assetID (e.g., urn:aaid:AS:UE1:xxxx).

3) Conversion to PDF
POST https://pdf-services.adobe.io/operation/createpdf
Headers:

 

{ "Authorization": "Bearer [token]", "x-api-key": "[client_id]", "Content-Type": "application/json" }

 

Body (latest attempt):

 
{ "intent": "createpdf", "inputs": [ { "assets": [ { "assetID": "urn:aaid:AS:UE1:xxxx", "type": "application/vnd.adobe.asset+zip" } ], "type": "application/vnd.adobe.input+zip", "params": { "pageLayout": { "size": "A4", "orientation": "portrait" }, "includeHeaderFooter": false } } ], "outputs": [{ "type": "application/pdf" }] }


→ ❌ Always returns:

 
{ "error": { "code": "INVALID_REQUEST_FORMAT", "message": "Invalid request format." } }

 

I’ve confirmed:

- The token is valid (no 401).

- The asset upload works perfectly.

- The same request with SDK v3.x works when a private key is available.

My questions:

- Is /operation/createpdf currently usable with standard REST OAuth2 credentials (client_id + secret)?

- Has the JSON structure changed since 2024 (the public documentation still shows the old schema)?

- Is there any updated schema or example for REST (non-SDK) workflows for HTML → PDF?

Thanks a lot in advance — I’ve tried every combination of headers and MIME types, so any internal example or confirmation would help clarify if this route is still open for REST developers.

I probably missed something...

1 reply

Joel Geraci
Community Expert
Community Expert
October 24, 2025

The body of your request looks nothing like what the endpoint is expecting. See the documentation here. https://developer.adobe.com/document-services/docs/apis/#tag/Create-PDF

Unless you want callbacks or page ranges, all you really need is the assetID.