2022/12/01 - Amazon Comprehend - 3 updated api methods
Changes Comprehend now supports semi-structured documents (such as PDF files or image files) as inputs for custom analysis using the synchronous APIs (ClassifyDocument and DetectEntities).
{'ResultList': {'Entities': {'BlockReferences': [{'BeginOffset': 'integer', 'BlockId': 'string', 'ChildBlocks': [{'BeginOffset': 'integer', 'ChildBlockId': 'string', 'EndOffset': 'integer'}], 'EndOffset': 'integer'}]}}}
Inspects the text of a batch of documents for named entities and returns information about them. For more information about named entities, see Entities in the Comprehend Developer Guide.
See also: AWS API Documentation
Request Syntax
client.batch_detect_entities( TextList=[ 'string', ], LanguageCode='en'|'es'|'fr'|'de'|'it'|'pt'|'ar'|'hi'|'ja'|'ko'|'zh'|'zh-TW' )
list
[REQUIRED]
A list containing the UTF-8 encoded text of the input documents. The list can contain a maximum of 25 documents. The maximum size of each document is 5 KB.
(string) --
string
[REQUIRED]
The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.
dict
Response Syntax
{ 'ResultList': [ { 'Index': 123, 'Entities': [ { 'Score': ..., 'Type': 'PERSON'|'LOCATION'|'ORGANIZATION'|'COMMERCIAL_ITEM'|'EVENT'|'DATE'|'QUANTITY'|'TITLE'|'OTHER', 'Text': 'string', 'BeginOffset': 123, 'EndOffset': 123, 'BlockReferences': [ { 'BlockId': 'string', 'BeginOffset': 123, 'EndOffset': 123, 'ChildBlocks': [ { 'ChildBlockId': 'string', 'BeginOffset': 123, 'EndOffset': 123 }, ] }, ] }, ] }, ], 'ErrorList': [ { 'Index': 123, 'ErrorCode': 'string', 'ErrorMessage': 'string' }, ] }
Response Structure
(dict) --
ResultList (list) --
A list of objects containing the results of the operation. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If all of the documents contain an error, the ResultList is empty.
(dict) --
The result of calling the operation. The operation returns one object for each document that is successfully processed by the operation.
Index (integer) --
The zero-based index of the document in the input list.
Entities (list) --
One or more Entity objects, one for each entity detected in the document.
(dict) --
Provides information about an entity.
Score (float) --
The level of confidence that Amazon Comprehend has in the accuracy of the detection.
Type (string) --
The entity type. For entity detection using the built-in model, this field contains one of the standard entity types listed below.
For custom entity detection, this field contains one of the entity types that you specified when you trained your custom model.
Text (string) --
The text of the entity.
BeginOffset (integer) --
The zero-based offset from the beginning of the source text to the first character in the entity.
This field is empty for non-text input.
EndOffset (integer) --
The zero-based offset from the beginning of the source text to the last character in the entity.
This field is empty for non-text input.
BlockReferences (list) --
A reference to each block for this entity. This field is empty for plain-text input.
(dict) --
A reference to a block.
BlockId (string) --
Unique identifier for the block.
BeginOffset (integer) --
Offset of the start of the block within its parent block.
EndOffset (integer) --
Offset of the end of the block within its parent block.
ChildBlocks (list) --
List of child blocks within this block.
(dict) --
Nested block contained within a block.
ChildBlockId (string) --
Unique identifier for the child block.
BeginOffset (integer) --
Offset of the start of the child block within its parent block.
EndOffset (integer) --
Offset of the end of the child block within its parent block.
ErrorList (list) --
A list containing one object for each document that contained an error. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If there are no errors in the batch, the ErrorList is empty.
(dict) --
Describes an error that occurred while processing a document in a batch. The operation returns on BatchItemError object for each document that contained an error.
Index (integer) --
The zero-based index of the document in the input list.
ErrorCode (string) --
The numeric error code of the error.
ErrorMessage (string) --
A text description of the error.
{'Bytes': 'blob', 'DocumentReaderConfig': {'DocumentReadAction': 'TEXTRACT_DETECT_DOCUMENT_TEXT ' '| TEXTRACT_ANALYZE_DOCUMENT', 'DocumentReadMode': 'SERVICE_DEFAULT | ' 'FORCE_DOCUMENT_READ_ACTION', 'FeatureTypes': ['TABLES | FORMS']}}Response
{'Classes': {'Page': 'integer'}, 'DocumentMetadata': {'ExtractedCharacters': [{'Count': 'integer', 'Page': 'integer'}], 'Pages': 'integer'}, 'DocumentType': [{'Page': 'integer', 'Type': 'NATIVE_PDF | SCANNED_PDF | MS_WORD | IMAGE | ' 'PLAIN_TEXT | TEXTRACT_DETECT_DOCUMENT_TEXT_JSON | ' 'TEXTRACT_ANALYZE_DOCUMENT_JSON'}], 'Errors': [{'ErrorCode': 'TEXTRACT_BAD_PAGE | ' 'TEXTRACT_PROVISIONED_THROUGHPUT_EXCEEDED | ' 'PAGE_CHARACTERS_EXCEEDED | PAGE_SIZE_EXCEEDED | ' 'INTERNAL_SERVER_ERROR', 'ErrorMessage': 'string', 'Page': 'integer'}], 'Labels': {'Page': 'integer'}}
Creates a new document classification request to analyze a single document in real-time, using a previously created and trained custom model and an endpoint.
You can input plain text or you can upload a single-page input document (text, PDF, Word, or image).
If the system detects errors while processing a page in the input document, the API response includes an entry in Errors that describes the errors.
If the system detects a document-level error in your input document, the API returns an InvalidRequestException error response. For details about this exception, see Errors in semi-structured documents in the Comprehend Developer Guide.
See also: AWS API Documentation
Request Syntax
client.classify_document( Text='string', EndpointArn='string', Bytes=b'bytes', DocumentReaderConfig={ 'DocumentReadAction': 'TEXTRACT_DETECT_DOCUMENT_TEXT'|'TEXTRACT_ANALYZE_DOCUMENT', 'DocumentReadMode': 'SERVICE_DEFAULT'|'FORCE_DOCUMENT_READ_ACTION', 'FeatureTypes': [ 'TABLES'|'FORMS', ] } )
string
The document text to be analyzed. If you enter text using this parameter, do not use the Bytes parameter.
string
[REQUIRED]
The Amazon Resource Number (ARN) of the endpoint. For information about endpoints, see Managing endpoints .
bytes
Use the Bytes parameter to input a text, PDF, Word or image file. You can also use the Bytes parameter to input an Amazon Textract DetectDocumentText or AnalyzeDocument output file.
Provide the input document as a sequence of base64-encoded bytes. If your code uses an Amazon Web Services SDK to classify documents, the SDK may encode the document file bytes for you.
The maximum length of this field depends on the input document type. For details, see Inputs for real-time custom analysis in the Comprehend Developer Guide.
If you use the Bytes parameter, do not use the Text parameter.
dict
Provides configuration parameters to override the default actions for extracting text from PDF documents and image files.
DocumentReadAction (string) -- [REQUIRED]
This field defines the Amazon Textract API operation that Amazon Comprehend uses to extract text from PDF files and image files. Enter one of the following values:
TEXTRACT_DETECT_DOCUMENT_TEXT - The Amazon Comprehend service uses the DetectDocumentText API operation.
TEXTRACT_ANALYZE_DOCUMENT - The Amazon Comprehend service uses the AnalyzeDocument API operation.
DocumentReadMode (string) --
Determines the text extraction actions for PDF files. Enter one of the following values:
SERVICE_DEFAULT - use the Amazon Comprehend service defaults for PDF files.
FORCE_DOCUMENT_READ_ACTION - Amazon Comprehend uses the Textract API specified by DocumentReadAction for all PDF files, including digital PDF files.
FeatureTypes (list) --
Specifies the type of Amazon Textract features to apply. If you chose TEXTRACT_ANALYZE_DOCUMENT as the read action, you must specify one or both of the following values:
TABLES - Returns information about any tables that are detected in the input document.
FORMS - Returns information and the data from any forms that are detected in the input document.
(string) --
Specifies the type of Amazon Textract features to apply. If you chose TEXTRACT_ANALYZE_DOCUMENT as the read action, you must specify one or both of the following values:
TABLES - Returns additional information about any tables that are detected in the input document.
FORMS - Returns additional information about any forms that are detected in the input document.
dict
Response Syntax
{ 'Classes': [ { 'Name': 'string', 'Score': ..., 'Page': 123 }, ], 'Labels': [ { 'Name': 'string', 'Score': ..., 'Page': 123 }, ], 'DocumentMetadata': { 'Pages': 123, 'ExtractedCharacters': [ { 'Page': 123, 'Count': 123 }, ] }, 'DocumentType': [ { 'Page': 123, 'Type': 'NATIVE_PDF'|'SCANNED_PDF'|'MS_WORD'|'IMAGE'|'PLAIN_TEXT'|'TEXTRACT_DETECT_DOCUMENT_TEXT_JSON'|'TEXTRACT_ANALYZE_DOCUMENT_JSON' }, ], 'Errors': [ { 'Page': 123, 'ErrorCode': 'TEXTRACT_BAD_PAGE'|'TEXTRACT_PROVISIONED_THROUGHPUT_EXCEEDED'|'PAGE_CHARACTERS_EXCEEDED'|'PAGE_SIZE_EXCEEDED'|'INTERNAL_SERVER_ERROR', 'ErrorMessage': 'string' }, ] }
Response Structure
(dict) --
Classes (list) --
The classes used by the document being analyzed. These are used for multi-class trained models. Individual classes are mutually exclusive and each document is expected to have only a single class assigned to it. For example, an animal can be a dog or a cat, but not both at the same time.
(dict) --
Specifies the class that categorizes the document being analyzed
Name (string) --
The name of the class.
Score (float) --
The confidence score that Amazon Comprehend has this class correctly attributed.
Page (integer) --
Page number in the input document. This field is present in the response only if your request includes the Byte parameter.
Labels (list) --
The labels used the document being analyzed. These are used for multi-label trained models. Individual labels represent different categories that are related in some manner and are not mutually exclusive. For example, a movie can be just an action movie, or it can be an action movie, a science fiction movie, and a comedy, all at the same time.
(dict) --
Specifies one of the label or labels that categorize the document being analyzed.
Name (string) --
The name of the label.
Score (float) --
The confidence score that Amazon Comprehend has this label correctly attributed.
Page (integer) --
Page number where the label occurs. This field is present in the response only if your request includes the Byte parameter.
DocumentMetadata (dict) --
Extraction information about the document. This field is present in the response only if your request includes the Byte parameter.
Pages (integer) --
Number of pages in the document.
ExtractedCharacters (list) --
List of pages in the document, with the number of characters extracted from each page.
(dict) --
Array of the number of characters extracted from each page.
Page (integer) --
Page number.
Count (integer) --
Number of characters extracted from each page.
DocumentType (list) --
The document type for each page in the input document. This field is present in the response only if your request includes the Byte parameter.
(dict) --
Document type for each page in the document.
Page (integer) --
Page number.
Type (string) --
Document type.
Errors (list) --
Page-level errors that the system detected while processing the input document. The field is empty if the system encountered no errors.
(dict) --
Text extraction encountered one or more page-level errors in the input document.
The ErrorCode contains one of the following values:
TEXTRACT_BAD_PAGE - Amazon Textract cannot read the page. For more information about page limits in Amazon Textract, see Page Quotas in Amazon Textract .
TEXTRACT_PROVISIONED_THROUGHPUT_EXCEEDED - The number of requests exceeded your throughput limit. For more information about throughput quotas in Amazon Textract, see Default quotas in Amazon Textract .
PAGE_CHARACTERS_EXCEEDED - Too many text characters on the page (10,000 characters maximum).
PAGE_SIZE_EXCEEDED - The maximum page size is 10 MB.
INTERNAL_SERVER_ERROR - The request encountered a service issue. Try the API request again.
Page (integer) --
Page number where the error occurred.
ErrorCode (string) --
Error code for the cause of the error.
ErrorMessage (string) --
Text message explaining the reason for the error.
{'Bytes': 'blob', 'DocumentReaderConfig': {'DocumentReadAction': 'TEXTRACT_DETECT_DOCUMENT_TEXT ' '| TEXTRACT_ANALYZE_DOCUMENT', 'DocumentReadMode': 'SERVICE_DEFAULT | ' 'FORCE_DOCUMENT_READ_ACTION', 'FeatureTypes': ['TABLES | FORMS']}}Response
{'Blocks': [{'BlockType': 'LINE | WORD', 'Geometry': {'BoundingBox': {'Height': 'float', 'Left': 'float', 'Top': 'float', 'Width': 'float'}, 'Polygon': [{'X': 'float', 'Y': 'float'}]}, 'Id': 'string', 'Page': 'integer', 'Relationships': [{'Ids': ['string'], 'Type': 'CHILD'}], 'Text': 'string'}], 'DocumentMetadata': {'ExtractedCharacters': [{'Count': 'integer', 'Page': 'integer'}], 'Pages': 'integer'}, 'DocumentType': [{'Page': 'integer', 'Type': 'NATIVE_PDF | SCANNED_PDF | MS_WORD | IMAGE | ' 'PLAIN_TEXT | TEXTRACT_DETECT_DOCUMENT_TEXT_JSON | ' 'TEXTRACT_ANALYZE_DOCUMENT_JSON'}], 'Entities': {'BlockReferences': [{'BeginOffset': 'integer', 'BlockId': 'string', 'ChildBlocks': [{'BeginOffset': 'integer', 'ChildBlockId': 'string', 'EndOffset': 'integer'}], 'EndOffset': 'integer'}]}, 'Errors': [{'ErrorCode': 'TEXTRACT_BAD_PAGE | ' 'TEXTRACT_PROVISIONED_THROUGHPUT_EXCEEDED | ' 'PAGE_CHARACTERS_EXCEEDED | PAGE_SIZE_EXCEEDED | ' 'INTERNAL_SERVER_ERROR', 'ErrorMessage': 'string', 'Page': 'integer'}]}
Detects named entities in input text when you use the pre-trained model. Detects custom entities if you have a custom entity recognition model.
When detecting named entities using the pre-trained model, use plain text as the input. For more information about named entities, see Entities in the Comprehend Developer Guide.
When you use a custom entity recognition model, you can input plain text or you can upload a single-page input document (text, PDF, Word, or image).
If the system detects errors while processing a page in the input document, the API response includes an entry in Errors for each error.
If the system detects a document-level error in your input document, the API returns an InvalidRequestException error response. For details about this exception, see Errors in semi-structured documents in the Comprehend Developer Guide.
See also: AWS API Documentation
Request Syntax
client.detect_entities( Text='string', LanguageCode='en'|'es'|'fr'|'de'|'it'|'pt'|'ar'|'hi'|'ja'|'ko'|'zh'|'zh-TW', EndpointArn='string', Bytes=b'bytes', DocumentReaderConfig={ 'DocumentReadAction': 'TEXTRACT_DETECT_DOCUMENT_TEXT'|'TEXTRACT_ANALYZE_DOCUMENT', 'DocumentReadMode': 'SERVICE_DEFAULT'|'FORCE_DOCUMENT_READ_ACTION', 'FeatureTypes': [ 'TABLES'|'FORMS', ] } )
string
A UTF-8 text string. The maximum string size is 100 KB. If you enter text using this parameter, do not use the Bytes parameter.
string
The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. If your request includes the endpoint for a custom entity recognition model, Amazon Comprehend uses the language of your custom model, and it ignores any language code that you specify here.
All input documents must be in the same language.
string
The Amazon Resource Name of an endpoint that is associated with a custom entity recognition model. Provide an endpoint if you want to detect entities by using your own custom model instead of the default model that is used by Amazon Comprehend.
If you specify an endpoint, Amazon Comprehend uses the language of your custom model, and it ignores any language code that you provide in your request.
For information about endpoints, see Managing endpoints .
bytes
This field applies only when you use a custom entity recognition model that was trained with PDF annotations. For other cases, enter your text input in the Text field.
Use the Bytes parameter to input a text, PDF, Word or image file. Using a plain-text file in the Bytes parameter is equivelent to using the Text parameter (the Entities field in the response is identical).
You can also use the Bytes parameter to input an Amazon Textract DetectDocumentText or AnalyzeDocument output file.
Provide the input document as a sequence of base64-encoded bytes. If your code uses an Amazon Web Services SDK to detect entities, the SDK may encode the document file bytes for you.
The maximum length of this field depends on the input document type. For details, see Inputs for real-time custom analysis in the Comprehend Developer Guide.
If you use the Bytes parameter, do not use the Text parameter.
dict
Provides configuration parameters to override the default actions for extracting text from PDF documents and image files.
DocumentReadAction (string) -- [REQUIRED]
This field defines the Amazon Textract API operation that Amazon Comprehend uses to extract text from PDF files and image files. Enter one of the following values:
TEXTRACT_DETECT_DOCUMENT_TEXT - The Amazon Comprehend service uses the DetectDocumentText API operation.
TEXTRACT_ANALYZE_DOCUMENT - The Amazon Comprehend service uses the AnalyzeDocument API operation.
DocumentReadMode (string) --
Determines the text extraction actions for PDF files. Enter one of the following values:
SERVICE_DEFAULT - use the Amazon Comprehend service defaults for PDF files.
FORCE_DOCUMENT_READ_ACTION - Amazon Comprehend uses the Textract API specified by DocumentReadAction for all PDF files, including digital PDF files.
FeatureTypes (list) --
Specifies the type of Amazon Textract features to apply. If you chose TEXTRACT_ANALYZE_DOCUMENT as the read action, you must specify one or both of the following values:
TABLES - Returns information about any tables that are detected in the input document.
FORMS - Returns information and the data from any forms that are detected in the input document.
(string) --
Specifies the type of Amazon Textract features to apply. If you chose TEXTRACT_ANALYZE_DOCUMENT as the read action, you must specify one or both of the following values:
TABLES - Returns additional information about any tables that are detected in the input document.
FORMS - Returns additional information about any forms that are detected in the input document.
dict
Response Syntax
{ 'Entities': [ { 'Score': ..., 'Type': 'PERSON'|'LOCATION'|'ORGANIZATION'|'COMMERCIAL_ITEM'|'EVENT'|'DATE'|'QUANTITY'|'TITLE'|'OTHER', 'Text': 'string', 'BeginOffset': 123, 'EndOffset': 123, 'BlockReferences': [ { 'BlockId': 'string', 'BeginOffset': 123, 'EndOffset': 123, 'ChildBlocks': [ { 'ChildBlockId': 'string', 'BeginOffset': 123, 'EndOffset': 123 }, ] }, ] }, ], 'DocumentMetadata': { 'Pages': 123, 'ExtractedCharacters': [ { 'Page': 123, 'Count': 123 }, ] }, 'DocumentType': [ { 'Page': 123, 'Type': 'NATIVE_PDF'|'SCANNED_PDF'|'MS_WORD'|'IMAGE'|'PLAIN_TEXT'|'TEXTRACT_DETECT_DOCUMENT_TEXT_JSON'|'TEXTRACT_ANALYZE_DOCUMENT_JSON' }, ], 'Blocks': [ { 'Id': 'string', 'BlockType': 'LINE'|'WORD', 'Text': 'string', 'Page': 123, 'Geometry': { 'BoundingBox': { 'Height': ..., 'Left': ..., 'Top': ..., 'Width': ... }, 'Polygon': [ { 'X': ..., 'Y': ... }, ] }, 'Relationships': [ { 'Ids': [ 'string', ], 'Type': 'CHILD' }, ] }, ], 'Errors': [ { 'Page': 123, 'ErrorCode': 'TEXTRACT_BAD_PAGE'|'TEXTRACT_PROVISIONED_THROUGHPUT_EXCEEDED'|'PAGE_CHARACTERS_EXCEEDED'|'PAGE_SIZE_EXCEEDED'|'INTERNAL_SERVER_ERROR', 'ErrorMessage': 'string' }, ] }
Response Structure
(dict) --
Entities (list) --
A collection of entities identified in the input text. For each entity, the response provides the entity text, entity type, where the entity text begins and ends, and the level of confidence that Amazon Comprehend has in the detection.
If your request uses a custom entity recognition model, Amazon Comprehend detects the entities that the model is trained to recognize. Otherwise, it detects the default entity types. For a list of default entity types, see Entities in the Comprehend Developer Guide.
(dict) --
Provides information about an entity.
Score (float) --
The level of confidence that Amazon Comprehend has in the accuracy of the detection.
Type (string) --
The entity type. For entity detection using the built-in model, this field contains one of the standard entity types listed below.
For custom entity detection, this field contains one of the entity types that you specified when you trained your custom model.
Text (string) --
The text of the entity.
BeginOffset (integer) --
The zero-based offset from the beginning of the source text to the first character in the entity.
This field is empty for non-text input.
EndOffset (integer) --
The zero-based offset from the beginning of the source text to the last character in the entity.
This field is empty for non-text input.
BlockReferences (list) --
A reference to each block for this entity. This field is empty for plain-text input.
(dict) --
A reference to a block.
BlockId (string) --
Unique identifier for the block.
BeginOffset (integer) --
Offset of the start of the block within its parent block.
EndOffset (integer) --
Offset of the end of the block within its parent block.
ChildBlocks (list) --
List of child blocks within this block.
(dict) --
Nested block contained within a block.
ChildBlockId (string) --
Unique identifier for the child block.
BeginOffset (integer) --
Offset of the start of the child block within its parent block.
EndOffset (integer) --
Offset of the end of the child block within its parent block.
DocumentMetadata (dict) --
Information about the document, discovered during text extraction. This field is present in the response only if your request used the Byte parameter.
Pages (integer) --
Number of pages in the document.
ExtractedCharacters (list) --
List of pages in the document, with the number of characters extracted from each page.
(dict) --
Array of the number of characters extracted from each page.
Page (integer) --
Page number.
Count (integer) --
Number of characters extracted from each page.
DocumentType (list) --
The document type for each page in the input document. This field is present in the response only if your request used the Byte parameter.
(dict) --
Document type for each page in the document.
Page (integer) --
Page number.
Type (string) --
Document type.
Blocks (list) --
Information about each block of text in the input document. Blocks are nested. A page block contains a block for each line of text, which contains a block for each word.
The Block content for a Word input document does not include a Geometry field.
The Block field is not present in the response for plain-text inputs.
(dict) --
Information about each word or line of text in the input document.
For additional information, see Block in the Amazon Textract API reference.
Id (string) --
Unique identifier for the block.
BlockType (string) --
The block represents a line of text or one word of text.
WORD - A word that's detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.
LINE - A string of tab-delimited, contiguous words that are detected on a document page
Text (string) --
The word or line of text extracted from the block.
Page (integer) --
Page number where the block appears.
Geometry (dict) --
Co-ordinates of the rectangle or polygon that contains the text.
BoundingBox (dict) --
An axis-aligned coarse representation of the location of the recognized item on the document page.
Height (float) --
The height of the bounding box as a ratio of the overall document page height.
Left (float) --
The left coordinate of the bounding box as a ratio of overall document page width.
Top (float) --
The top coordinate of the bounding box as a ratio of overall document page height.
Width (float) --
The width of the bounding box as a ratio of the overall document page width.
Polygon (list) --
Within the bounding box, a fine-grained polygon around the recognized item.
(dict) --
The X and Y coordinates of a point on a document page.
For additional information, see Point in the Amazon Textract API reference.
X (float) --
The value of the X coordinate for a point on a polygon
Y (float) --
The value of the Y coordinate for a point on a polygon
Relationships (list) --
A list of child blocks of the current block. For example, a LINE object has child blocks for each WORD block that's part of the line of text.
(dict) --
List of child blocks for the current block.
Ids (list) --
Identifers of the child blocks.
(string) --
Type (string) --
Only supported relationship is a child relationship.
Errors (list) --
Page-level errors that the system detected while processing the input document. The field is empty if the system encountered no errors.
(dict) --
Text extraction encountered one or more page-level errors in the input document.
The ErrorCode contains one of the following values:
TEXTRACT_BAD_PAGE - Amazon Textract cannot read the page. For more information about page limits in Amazon Textract, see Page Quotas in Amazon Textract .
TEXTRACT_PROVISIONED_THROUGHPUT_EXCEEDED - The number of requests exceeded your throughput limit. For more information about throughput quotas in Amazon Textract, see Default quotas in Amazon Textract .
PAGE_CHARACTERS_EXCEEDED - Too many text characters on the page (10,000 characters maximum).
PAGE_SIZE_EXCEEDED - The maximum page size is 10 MB.
INTERNAL_SERVER_ERROR - The request encountered a service issue. Try the API request again.
Page (integer) --
Page number where the error occurred.
ErrorCode (string) --
Error code for the cause of the error.
ErrorMessage (string) --
Text message explaining the reason for the error.