openapi: 3.2.0 info: title: PDF Services OCR API description: "

" version: '' servers: - url: https://pdf-services-ue1.adobe.io - url: https://pdf-services-ew1.adobe.io tags: - name: OCR description: Perform OCR on a PDF File paths: /operation/ocr: post: tags: - OCR summary: Perform OCR on a PDF File description: Perform OCR on PDF Document by providing specific language and type. operationId: pdfoperations.ocr 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 OCR PDF Operation. Refer to the External Section below for using external storage with OCR PDF Operation. content: application/json: schema: oneOf: - $ref: '#/components/schemas/OCRInternal' - $ref: '#/components/schemas/OCRExternal' 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/ocr/{jobID}/status: get: tags: - OCR summary: Poll the ocr job for completion operationId: pdfoperations.ocr.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/OCRJobStatus' '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: OCRJobStatus: oneOf: - $ref: '#/components/schemas/inprogress' - $ref: '#/components/schemas/done' - $ref: '#/components/schemas/failed' done: title: done oneOf: - $ref: '#/components/schemas/internal' - $ref: '#/components/schemas/externalstatus' 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 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. 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 '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 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. 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 OCRInternal: title: Internal description: Params for OCR PDF Operation type: object properties: assetID: description: A file assetID. For more details click here . type: string ocrLang: $ref: '#/components/schemas/ocrLang' ocrType: description: "Specifies OCR Type. \n\nThere are two types which produce a different result:\n\n1. One type ensures that text is searchable and selectable, but modifies the original image during the cleanup process (for example, deskews it) before placing an invisible text layer over it. This type removes unwanted artifacts and may result in a more readable document in some scenarios.\n\n2. The second (EXACT) type, also overlays a searchable text layer over the original image, but in this case, the original image is unchanged. This type produces maximum fidelity to the original image." type: string default: searchable_image enum: - searchable_image - searchable_image_exact notifiers: $ref: '#/components/schemas/notifiers' example: assetID: urn:aaid:AS:UE1:23c30ee0-2c4d-46d6-87f2-087832fca718 ocrLang: en-US ocrType: searchable_image notifiers: - type: CALLBACK data: url: https://dummy.callback.org/ headers: x-api-key: dummykey access-token: dummytoken required: - assetID 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. '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 OCRExternal: title: External description: Params for OCR PDF Operation using external storage. type: object properties: input: $ref: '#/components/schemas/ExternalStorageInput' output: $ref: '#/components/schemas/ExternalStorageOutput' params: description: Params for OCR PDF processing type: object properties: ocrLang: $ref: '#/components/schemas/ocrLang' ocrType: description: "Specifies OCR Type. \n\nThere are two types which produce a different result:\n\n1. One type ensures that text is searchable and selectable, but modifies the original image during the cleanup process (for example, deskews it) before placing an invisible text layer over it. This type removes unwanted artifacts and may result in a more readable document in some scenarios.\n\n2. The second (EXACT) type, also overlays a searchable text layer over the original image, but in this case, the original image is unchanged. This type produces maximum fidelity to the original image." type: string default: searchable_image enum: - searchable_image - searchable_image_exact notifiers: $ref: '#/components/schemas/notifiers' example: input: uri: https://dcplatformstorageservice-dev-us-east-1.s3-accelerate.amazonaws.com/e0983a2df4d647a8818e2c5e06f85169_097819C664A2BBC20A49421A%40techacct.adobe.com/fccd2ad0-e30f-41d6-b044-8f03736ecb93?X-Amz-Security-Token=FwoGZXIvYXdzEPD%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDFggMug%2BIF84HXdvKiLTAWv5unqWcoL8YlscLVMJixSnbTs9HlENjm%2Fqsw5NsGC5OrKkxfO0JSnM4pthVU%2BWYdwyyWv5IPIrlA5WpRWqrmXXjmAc6DxUBIdGM8229jLHb%2FbRjUyCJNUkEhY%2FWbr3R%2BrZDyQpNXUmwRCJqvijXy2KuMLWSniNCVsDamP3Y9zHRuq42oHCqSEXiSUNBNfoenIHry2CMC3yX7oQ%2BpKLK7ndF2JMg8Ww7WC9XdTE%2BJL8Shg7RCuLNYR6%2B0yDqdyf7CaSr7rixwJ1r57v0nFp01JRChYohNaepQYyLYwnH4AN7bDUjo7rVzcTPEPlI1UK17lHSRfYWNzNoJWhR7vPlPCo3Wej330SSg%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230707T061814Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID%2F20230707%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=c0055069e692fcf2a601e1c97ea05ef488d3681a883e40a651fda1dc2a1138dc storage: S3 output: uri: https://dcplatformstorageservice-dev-us-east-1.s3-accelerate.amazonaws.com/e0983a2df4d647a8818e2c5e06f85169_097819C664A2BBC20A49421A%40techacct.adobe.com/cc5eabc5-a285-40bb-8464-b5a2d74d48ab?X-Amz-Security-Token=FwoGZXIvYXdzEPD%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDHVK300DsROZjGwTKCLTAUl6n%2FB3191j%2FRyM7F0%2F00q33%2BYlLAWkMVjQLFMZ14y5LMGn%2BWawJ3XZBBUzBkK58oTnLF%2BE8addaTuVlA83sKbiD4YRR4nDSvq0agql5gSjK7Kxw1CVyzehG9UT72ICFTBVK7t8SlP%2F%2FLlhXblGN05zAthbjwi6aXCGXp7rBQHW716msTf6pOwwVUsfbjU6%2Fuo4NykRo5IfJMBiI3LwFBy31RScBmaaXYK7zu4k63QH2h6FE3%2BNHinYxTsEdKYREetrlsfpaQb4NaBv8vtgvTr%2Bbwco0NeepQYyLVb1jldYVJvSrboAU3cZOSx6hWm3bER45o%2Bui64crYtWTMdQEXJd%2FY2pQ%2B%2BQuw%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20230707T061816Z&X-Amz-SignedHeaders=content-type%3Bhost&X-Amz-Expires=3599&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID%2F20230707%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=b87c1a5b170441423bbc6a121103c00c22048aa77c07ad617de333b260ef8d95 storage: S3 params: ocrLang: en-US ocrType: searchable_image notifiers: - type: CALLBACK data: url: https://dummy.callback.org/ headers: x-api-key: dummykey access-token: dummytoken required: - input additionalProperties: false 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. ocrLang: description: Specifies the input language to be used for OCR. type: string default: en-US enum: - da-DK - lt-LT - sl-SI - el-GR - ru-RU - en-US - zh-HK - hu-HU - et-EE - pt-BR - uk-UA - nb-NO - pl-PL - lv-LV - fi-FI - ja-JP - es-ES - bg-BG - en-GB - cs-CZ - mt-MT - de-DE - hr-HR - sk-SK - sr-SR - ca-CA - mk-MK - ko-KR - de-CH - nl-NL - zh-CN - sv-SE - it-IT - no-NO - tr-TR - fr-FR - ro-RO - iw-IL 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