openapi: 3.2.0 info: title: PDF Services Page Manipulation API description: "

" version: '' servers: - url: https://pdf-services-ue1.adobe.io - url: https://pdf-services-ew1.adobe.io tags: - name: Page Manipulation description: Rotate and delete pages of a PDF File paths: /operation/pagemanipulation: post: tags: - Page Manipulation summary: Rotate and delete pages of a PDF File description: Selectively rotate or delete pages in a PDF document. For example, you can change portrait view to landscape view or remove certain pages from a PDF document. operationId: pdfoperations.pagemanipulation parameters: - name: Authorization in: header description: Bearer + Token (Learn more about getting the access token) required: true schema: type: string - name: x-api-key in: header description: The clientId from the generated credentials required: true schema: type: string requestBody: description: Params for Page Manipulation PDF Operation. Refer to the External Section below for using external storage with Page Manipulation Operation. content: application/json: schema: oneOf: - $ref: '#/components/schemas/PageManipulationInternal' - $ref: '#/components/schemas/PageManipulationExternal' required: true responses: '201': description: Request creation for the operation and status uri generated, which can be found in the 'location' header. headers: location: description: Job status URI for polling the results schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string '400': description: Bad Request. The request was invalid or cannot be otherwise served. headers: content-type: description: The content type of the POST API call response schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string content: application/json: schema: $ref: '#/components/schemas/400' '404': description: Resource Not Found. headers: content-type: description: The content type of the POST API call response schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string content: application/json: schema: $ref: '#/components/schemas/404' '401': description: Unauthorized. headers: content-type: description: The content type of the error JSON response. schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string content: application/json: schema: $ref: '#/components/schemas/401' '429': description: Caller doesn't have sufficient quota for this operation. headers: content-type: description: The content type of the POST API call response schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string content: application/json: schema: $ref: '#/components/schemas/429' '500': description: Internal Server Error. The server has encountered an error and is unable to process your request at this time. headers: content-type: description: The content type of the POST API call response schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string content: application/json: schema: $ref: '#/components/schemas/500' x-codegen-request-body-name: body /operation/pagemanipulation/{jobID}/status: get: tags: - Page Manipulation summary: Poll the page manipulation job for completion operationId: pdfoperations.pagemanipulation.jobstatus parameters: - name: jobID in: path description: Job ID of the request required: true schema: type: string - name: Authorization in: header description: Bearer + Token (Learn more about getting the access token) required: true schema: type: string - name: x-api-key in: header description: The clientId from the generated credentials required: true schema: type: string responses: '200': description: A response with job information. headers: content-type: description: The content type of the status call response. schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string content: application/json: schema: $ref: '#/components/schemas/PageManipulationJobStatus' '400': description: Bad Request. The request was invalid or cannot be otherwise served. headers: content-type: description: The content type of the status call response schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string content: application/json: schema: $ref: '#/components/schemas/Status400' '404': description: Resource Not Found. headers: content-type: description: The content type of the POST API call response schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string content: application/json: schema: $ref: '#/components/schemas/Satus404' '401': description: Unauthorized. headers: content-type: description: The content type of the POST API call response schema: type: string x-server: description: The name and version of the server. schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string content: application/json: schema: $ref: '#/components/schemas/Satus401' '429': description: Caller doesn't have sufficient quota for this operation. headers: content-type: description: The content type of the POST API call response schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string content: application/json: schema: $ref: '#/components/schemas/Satus429' '500': description: Internal Server Error. The server has encountered an error and is unable to process your request at this time. headers: content-type: description: The content type of the POST API call response schema: type: string x-request-id: description: A unique value to identify this request. If x-request-id is specified in the POST request, this value will be the same as the input. schema: type: string content: application/json: schema: $ref: '#/components/schemas/Satus500' components: schemas: done: title: done oneOf: - $ref: '#/components/schemas/internal' - $ref: '#/components/schemas/externalstatus' PageManipulationPageRanges: title: pageRanges description: 'Page ranges of a PDF file. Pages in a document can be can be referred in any order, either from the start or end. For e.g.: For a file containing 10 pages, page number 1 can be referred using 1 or -10, page number 10 can be referred using 10 or -1. For performing an operation on the last page, we can provide a range as -1:-1. A page range provided is relative to the input document.' type: array items: anyOf: - title: start description: Start page index of this page range. type: number - title: end description: End page index of this page range. type: number Satus404: properties: error: type: object properties: code: description: The string containing the code field. code is the Mnemonic returned by service in case of any failure. The below list is extendable and going forward the error codes can become more specific. type: string message: description: "An English language string that contains more information about the error. \n\n
codemessage
NOT_FOUNDJob not found.
" type: string example: error: code: NOT_FOUND message: Job not found. '400': properties: error: type: object properties: code: description: The string containing the code field. code is the Mnemonic returned by service in case of any failure. The below list is extendable and going forward the error codes can become more specific. type: string message: description: "An English language string that contains more information about the error. \n\n
codemessage
BAD_REQUESTBad Request.
" type: string example: error: code: BAD_REQUEST message: Bad Request. '500': properties: error: type: object properties: code: description: The string containing the code field. code is the Mnemonic returned by service in case of any failure. The below list is extendable and going forward the error codes can become more specific. type: string message: description: "An English language string that contains more information about the error. \n\n
codemessage
INTERNAL_SERVER_ERRORThere was an error processing your request.
UNKNOWNUnknown error.
" type: string example: error: code: INTERNAL_SERVER_ERROR message: There was an error processing your request. external: title: External with an output URI in the request description: Response in case of 'done' status using signed urls type: object properties: status: description: Job Status type: string enum: - done example: status: done externaldonewithoutoutput: title: External without an output URI in the request description: Response in case of 'done' status type: object properties: status: description: Job Status type: string enum: - done asset: $ref: '#/components/schemas/responseAsset' example: status: done asset: metadata: type: application/pdf size: 200791 downloadUri: https://dcplatformstorageservice-dev-us-east-1.s3-accelerate.amazonaws.com/6bb12fd8-3233-4340-916b-4835917857be?X-Amz-Security-Token=FwoGZXIvYXdzEE0aDOLg7PFwVB1bjEMxQCLTAe3pjf%2Fgl2Pj%2FcjOaY%2BHfduju9SXTp1Pn8C4GapIXm%2F8tuR4cGPYGC0goU21qZxCq9R%2F8z2bOmB2EL%2BZrhbPLbaNcpzf5Vud%2B3Bmn61MEJiBdU%2BhZqasX5YhVxdnzhfpl5KfKeq2kwROVMqJcyHGdxw5h0%2Bi0sD2I8sqkbPmnBi0WOtYNwz7TQq42oe8W5KYHpq6WMya9OQgx0u7qg0inYwBnQu5UQ9NJJQY2MSU11IuZ0uE%2B%2FNAPuq3VfEIn3txK%2FFfIxGz9%2BInehhHroKjBFULzy0olY2rlwYyLQDwHHr2eyuy%2BaoGVaq%2BSUNH8T0OKIicbbZfQ5wjF0hK2FzVXwfebtDG4qq%2BiA%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20220803T190422Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID%2F20220803%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=5d8c3f421c68c009b4471919a319ba460495c72afe51674d23266bc124fe9a56 assetID: urn:aaid:AS:UE1:23c30ee0-2c4d-46d6-87f2-087832fca718 PageManipulationJobStatus: oneOf: - $ref: '#/components/schemas/inprogress' - $ref: '#/components/schemas/done' - $ref: '#/components/schemas/failed' '404': properties: error: type: object properties: code: description: The string containing the code field. code is the Mnemonic returned by service in case of any failure. The below list is extendable and going forward the error codes can become more specific. type: string message: description: "An English language string that contains more information about the error. \n\n
codemessage
NOT_FOUNDAsset not found.
" type: string example: error: code: NOT_FOUND message: Asset not found. ExternalStorageInput: title: Input description: Params representing input object. type: object properties: uri: description: Input file Download Signed URI. type: string storage: description: Specifies the type of the external storage type: string enum: - S3 - SHAREPOINT - DROPBOX - BLOB required: - uri PageManipulationExternal: title: External description: Params for Page Manipulation PDF Operation type: object properties: input: $ref: '#/components/schemas/ExternalStorageInput' output: $ref: '#/components/schemas/ExternalStorageOutput' params: description: Params for Page Manipulation processing type: object properties: pageActions: description: A list of page actions to be performed on an input PDF document in a given order. type: array items: - oneOf: - $ref: '#/components/schemas/delete' - $ref: '#/components/schemas/rotate' required: - pageActions notifiers: $ref: '#/components/schemas/notifiers' example: input: uri: https://dcplatformstorageservice-dev-us-east-1.s3-accelerate.amazonaws.com/e0983a2df4d647a8818e2c5e06f85169_097819C664A2BBC20A49421A%40techacct.adobe.com/01832818-8174-4330-8e02-1216354cc8bb?X-Amz-Security-Token=FwoGZXIvYXdzEJb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDLM7R8jIjxWAOEAOmiLTARSYWTEyGQfSoeJ8oeqnEwoKMgPu2rONJCRrTEtavzV9xYy6pAdq9QXJMJgrh6eXFk7kDpPP4Da9tPNXQ5Q5o8ueT0DOHFQhz7mOqtpuV0ss5CJ8kcDLwzpGYipQHbJf6vve75tZkFKKSS%2Ft6iTYz1CF%2BlxxnCYyZo1EWiQcqqfyV5F3mcHEYyIasRKDM9oEG5pMwK2g3XQDTlwDx7C8%2Bg9dezafxuy1sKcW6b6m2WOnd8qdkgFdVPPb8E4N3o8C7971QLZxg%2BRd5rpL5MKyxXGR9YIooPOKpQYyLY7z2XupNdWIjvlD6YyATQUKTaQBRHKcY8vbo09ZqNo6saEPtozmpG%2FK2JM0gg%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230703T121829Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3599&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID%2F20230703%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=ec9483c3fc8a709aaf1b4f2d79afc18884888952fd785f707b015bfdf70eb746 storage: S3 output: uri: https://dcplatformstorageservice-dev-us-east-1.s3-accelerate.amazonaws.com/e0983a2df4d647a8818e2c5e06f85169_097819C664A2BBC20A49421A%40techacct.adobe.com/3b9f664f-ac35-4438-abbb-22ec8baf035c?X-Amz-Security-Token=FwoGZXIvYXdzEJb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDLM7R8jIjxWAOEAOmiLTARSYWTEyGQfSoeJ8oeqnEwoKMgPu2rONJCRrTEtavzV9xYy6pAdq9QXJMJgrh6eXFk7kDpPP4Da9tPNXQ5Q5o8ueT0DOHFQhz7mOqtpuV0ss5CJ8kcDLwzpGYipQHbJf6vve75tZkFKKSS%2Ft6iTYz1CF%2BlxxnCYyZo1EWiQcqqfyV5F3mcHEYyIasRKDM9oEG5pMwK2g3XQDTlwDx7C8%2Bg9dezafxuy1sKcW6b6m2WOnd8qdkgFdVPPb8E4N3o8C7971QLZxg%2BRd5rpL5MKyxXGR9YIooPOKpQYyLY7z2XupNdWIjvlD6YyATQUKTaQBRHKcY8vbo09ZqNo6saEPtozmpG%2FK2JM0gg%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230703T121831Z&X-Amz-SignedHeaders=content-type%3Bhost&X-Amz-Expires=3599&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID%2F20230703%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=a14dac81168c166c777fb76c9c5b64187febdc1ce23413b659a15cd728a4dbca storage: S3 params: pageActions: - rotate: angle: 270 pageRanges: - start: 1 end: 2 - delete: pageRanges: - start: 3 end: 4 notifiers: - type: CALLBACK data: url: https://dummy.callback.org/ headers: x-api-key: dummykey access-token: dummytoken required: - input - params additionalProperties: false failed: description: Response in case of 'failed' status type: object properties: status: description: Job Status type: string enum: - failed error: type: object properties: status: description: Http status code returned by the service type: integer code: description: The string containing the code field. code is the Mnemonic returned by service in case of any failure. The below list is extendable and going forward the error codes can become more specific. type: string message: description: "An English language string that contains more information about the error. \n\n
statuscodemessage
400CORRUPT_DOCUMENTFor $(format) mime-type The input file appears to be corrupted and cannot be processed.
400PASSWORD_PROTECTEDSource file is protected and cannot be processed.
500INTERNAL_SERVER_ERRORThere was an error processing your request.
" type: string example: status: failed error: status: 500 code: INTERNAL_SERVER_ERROR message: There was an error processing your request externalstatus: title: External oneOf: - $ref: '#/components/schemas/externaldonewithoutoutput' - $ref: '#/components/schemas/external' ExternalStorageOutput: title: Output description: Params representing output object type: object properties: uri: description: Output file Upload Signed URI. type: string storage: description: Specifies the type of the external storage type: string enum: - S3 - SHAREPOINT - DROPBOX - BLOB '429': properties: error: type: object properties: code: description: The string containing the code field. code is the Mnemonic returned by service in case of any failure. The below list is extendable and going forward the error codes can become more specific. type: string message: description: "An English language string that contains more information about the error. \n\n
codemessage
TOO_MANY_REQUESTSToo Many Requests.
INSUFFICIENT_QUOTAEither Quota for this operation is not available or Free trial quota is exhausted. Please visit (www.adobe.com/go/pdftoolsapi_home) to start using free trial quota or (www.adobe.com/go/pdftoolsapi_err_quota) to upgrade to paid credentials.
" type: string example: error: code: TOO_MANY_REQUESTS message: Too Many Requests. rotate: type: object properties: angle: description: 'Required for ''rotate'' cmd. It specifies the clockwise rotation angle relative to the starting orientation of the page. e.g. if a page is already rotated 90 degrees (landscape), specifying a rotation of 90 degrees will rotate it a further 90 degrees. The valid rotation angles are: 90, 180, 270.' type: number enum: - 90 - 180 - 270 pageRanges: $ref: '#/components/schemas/PageManipulationPageRanges' required: - angle - pageRanges Status400: properties: error: type: object properties: code: description: The string containing the code field. code is the Mnemonic returned by service in case of any failure. The below list is extendable and going forward the error codes can become more specific. type: string message: description: "An English language string that contains more information about the error. \n\n
codemessage
INVALID_JOB_IDInvalid job id present in path param.
" type: string example: error: code: INVALID_JOB_ID message: Invalid job id present in path param. inprogress: description: Response in case of 'in progress' status type: object properties: status: description: Job Status type: string enum: - in progress example: status: in progress PageManipulationInternal: title: Internal description: Params for Page Manipulation PDF Operation type: object properties: assetID: description: A file assetID. For more details click here . type: string pageActions: description: A list of page actions to be performed on an input PDF document in a given order. type: array items: - oneOf: - $ref: '#/components/schemas/delete' - $ref: '#/components/schemas/rotate' notifiers: $ref: '#/components/schemas/notifiers' example: assetID: urn:aaid:AS:UE1:23c30ee0-2c4d-46d6-87f2-087832fca718 pageActions: - rotate: angle: 270 pageRanges: - start: 1 end: 2 - delete: pageRanges: - start: 1 end: 2 notifiers: - type: CALLBACK data: url: https://dummy.callback.org/ headers: x-api-key: dummykey access-token: dummytoken required: - assetID - pageActions additionalProperties: false responseAsset: title: asset description: Details of output asset document. For more details click here . type: object properties: metadata: type: object description: metadata details of output asset. properties: size: description: The size of the Resource in bytes. This value helps in making range requests. type: integer type: description: The media type of the Resource. type: string assetID: description: An asset ID identifying an asset that is globally unique and never reused. type: string required: false downloadUri: description: The URL used to download the Resource directly to the cloud provider. type: string example: status: done asset: metadata: type: application/pdf size: 200791 downloadUri: https://dcplatformstorageservice-dev-us-east-1.s3-accelerate.amazonaws.com/6bb12fd8-3233-4340-916b-4835917857be?X-Amz-Security-Token=FwoGZXIvYXdzEE0aDOLg7PFwVB1bjEMxQCLTAe3pjf%2Fgl2Pj%2FcjOaY%2BHfduju9SXTp1Pn8C4GapIXm%2F8tuR4cGPYGC0goU21qZxCq9R%2F8z2bOmB2EL%2BZrhbPLbaNcpzf5Vud%2B3Bmn61MEJiBdU%2BhZqasX5YhVxdnzhfpl5KfKeq2kwROVMqJcyHGdxw5h0%2Bi0sD2I8sqkbPmnBi0WOtYNwz7TQq42oe8W5KYHpq6WMya9OQgx0u7qg0inYwBnQu5UQ9NJJQY2MSU11IuZ0uE%2B%2FNAPuq3VfEIn3txK%2FFfIxGz9%2BInehhHroKjBFULzy0olY2rlwYyLQDwHHr2eyuy%2BaoGVaq%2BSUNH8T0OKIicbbZfQ5wjF0hK2FzVXwfebtDG4qq%2BiA%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20220803T190422Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID%2F20220803%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=5d8c3f421c68c009b4471919a319ba460495c72afe51674d23266bc124fe9a56 assetID: urn:aaid:AS:UE1:23c30ee0-2c4d-46d6-87f2-087832fca718 Satus429: properties: error_code: description: 'The string containing the code field. code is the Mnemonic returned by service in case of any failure. The below list is extendable and going forward the error codes can become more specific. ' type: string message: description: "An English language string that contains more information about the error. \n\n
codemessage
429001Service usage limit reached
429002Developer key usage limit reached
429050Too many requests
" type: string example: error_code: '429050' message: Too many requests notifiers: description: Specifies the notifiers to be invoked on the completion of job. To know more about notifiers, please see the documentation. type: array items: properties: type: description: Specifies the notifier type. Currently supported value is "CALLBACK" only. type: string data: description: Specifies the data needed to invoke the notifier. type: object required: - type - data Satus401: properties: error: type: object properties: code: description: The string containing the code field. code is the Mnemonic returned by service in case of any failure. The below list is extendable and going forward the error codes can become more specific. type: string message: description: "An English language string that contains more information about the error. \n\n
codemessage
UNAUTHORIZEDNot authorised to perform the operation.
" type: string example: error: code: UNAUTHORIZED message: Not authorised to perform the operation. delete: type: object properties: pageRanges: $ref: '#/components/schemas/PageManipulationPageRanges' required: - pageRanges '401': properties: error: type: object properties: code: description: The string containing the code field. code is the Mnemonic returned by service in case of any failure. The below list is extendable and going forward the error codes can become more specific. type: string message: description: "An English language string that contains more information about the error. \n\n
codemessage
UNAUTHORIZEDNot authorised to perform the operation.
" type: string example: error: code: UNAUTHORIZED message: Not authorised to perform the operation. internal: title: Internal description: Response in case of 'done' status type: object properties: status: description: Job Status type: string enum: - done asset: $ref: '#/components/schemas/responseAsset' example: status: done asset: metadata: type: application/pdf size: 200791 downloadUri: https://dcplatformstorageservice-dev-us-east-1.s3-accelerate.amazonaws.com/6bb12fd8-3233-4340-916b-4835917857be?X-Amz-Security-Token=FwoGZXIvYXdzEE0aDOLg7PFwVB1bjEMxQCLTAe3pjf%2Fgl2Pj%2FcjOaY%2BHfduju9SXTp1Pn8C4GapIXm%2F8tuR4cGPYGC0goU21qZxCq9R%2F8z2bOmB2EL%2BZrhbPLbaNcpzf5Vud%2B3Bmn61MEJiBdU%2BhZqasX5YhVxdnzhfpl5KfKeq2kwROVMqJcyHGdxw5h0%2Bi0sD2I8sqkbPmnBi0WOtYNwz7TQq42oe8W5KYHpq6WMya9OQgx0u7qg0inYwBnQu5UQ9NJJQY2MSU11IuZ0uE%2B%2FNAPuq3VfEIn3txK%2FFfIxGz9%2BInehhHroKjBFULzy0olY2rlwYyLQDwHHr2eyuy%2BaoGVaq%2BSUNH8T0OKIicbbZfQ5wjF0hK2FzVXwfebtDG4qq%2BiA%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20220803T190422Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID%2F20220803%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=5d8c3f421c68c009b4471919a319ba460495c72afe51674d23266bc124fe9a56 assetID: urn:aaid:AS:UE1:23c30ee0-2c4d-46d6-87f2-087832fca718 Satus500: properties: error: type: object properties: code: description: The string containing the code field. code is the Mnemonic returned by service in case of any failure. The below list is extendable and going forward the error codes can become more specific. type: string message: description: "An English language string that contains more information about the error. \n\n
codemessage
INTERNAL_SERVER_ERRORThere was an error processing your request.
UNKNOWNUnknown error.
" type: string example: error: code: INTERNAL_SERVER_ERROR message: There was an error processing your request. x-tagGroups: - name: Authentication tags: - Generate Token - name: Files tags: - Assets - name: PDF Operations tags: - Combine PDF - Compress PDF - Create PDF - Document Generation - Export PDF - Export PDF Form Data - Extract PDF - Html to PDF - Import PDF Form Data - Linearize PDF - OCR - Page Manipulation - PDF Accessibility Auto-Tag - PDF Accessibility Checker - PDF Electronic Seal - PDF Properties - PDF To Images - PDF To Markdown - PDF Watermark - Protect PDF - Remove Protection - Split PDF