List Documents
This endpoint allows you to retrieve a list of documents in your account. You can use various query parameters to filter and paginate the results.
#
API EndpointGET https://api.documentpro.ai/v1/documents
#
Query ParametersAll parameters are optional:
limit
(optional): Number of documents to return. Default is 100.document_id
(optional): Filter by a specific document ID.created_at
(optional): Filter by creation date.search_term
(optional): Search for documents by name or content.
#
Headersx-api-key
(required): Your API key for authentication.
#
Example Implementation#
Using cURLcurl --location 'https://api.documentpro.ai/v1/documents?limit=10' \--header 'x-api-key: YOUR_API_KEY' \--header 'Accept: application/json'
#
Using Pythonimport requests
url = "https://api.documentpro.ai/v1/documents"headers = { "x-api-key": "YOUR_API_KEY", "Accept": "application/json"}params = { "limit": 10, # Add other optional parameters as needed}
response = requests.get(url, headers=headers, params=params)
if response.status_code == 200: result = response.json() print("Documents retrieved successfully:") for doc in result['files']: print(f"Document ID: {doc['document_id']}, Name: {doc['file_name']}") if result['pagination_key']: print("More documents available. Use pagination_key for next request.")else: print("Failed to retrieve documents") print(response.text)
#
ResponseThe response will contain an array of document objects and a pagination key if there are more results.
#
Successful Response (Status Code: 200){ "files": [ { "document_id": "0b33c9f2-5148-4ffb-bb7b-de03bb071ca8", "user_id": "24d9b25a-9bba-4de4-be67-c06233d2f305", "source_name": "api", "s3_key": "https://documentpro-user-accounts.s3.amazonaws.com/...", "file_name": "file_name.pdf", "file_extension": "pdf", "num_pages": 1, "meta_tags": {}, "parser_runs": [ { "template_id": "a62e2b5f-ccc2-4e2a-8fda-d7bd6579a692", "template_title": "Invoice", "request_id": "123e337c-0294-4cf8-b684-1310c8cd6a4e", "params": { "end_regex": null, "page_ranges": "5", "use_ocr": true, "detect_tables": true, "start_regex": null, "query_model": "gpt-4o-mini", "use_all_matches": false, "detect_layout": true, "split_regex": null }, "datetime": "2024-07-25T10:01:06.536970" }, // ... additional parser runs ... ], "created_at": "2024-07-25T14:16:44.540197", "updated_at": "2024-07-25T14:16:44.540223" }, { "document_id": "8edd4104-cb56-42eb-b1f4-cbd6da0894ca", "user_id": "2s49b2ca-9bba-4de4-be67-c06233d2f305", "source_name": "web", "s3_key": "https://documentpro-user-accounts.s3.amazonaws.com/...", "file_name": "file_name.pdf", "file_extension": "pdf", "num_pages": 8, "meta_tags": {}, "parser_runs": [], "created_at": "2024-07-25T10:00:30.677936", "updated_at": "2024-07-25T10:01:07.109837" } ], "pagination_key": { "document_id": "8ed94104-cb56-42eb-b1f4-cbd6da0894ca", "created_at": "2024-07-25T10:00:30.677936" }}
#
Error Response (Status Codes: 400, 401, 403, 500){ "success": false, "error": "error_code", "message": "descriptive error message"}
#
Response Fields Explainedfiles
: An array of document objects, each containing:document_id
: Unique identifier for the document.user_id
: ID of the user who owns the document.source_name
: Source of the document upload (e.g., "api", "web").s3_key
: S3 URL for accessing the document.file_name
: Name of the document file.file_extension
: File extension (e.g., "pdf").num_pages
: Number of pages in the document.meta_tags
: Any metadata associated with the document.parser_runs
: Array of parsing operations performed on the document.created_at
: Timestamp of document creation.updated_at
: Timestamp of last update.
pagination_key
: If present, containsdocument_id
andcreated_at
of the last document in the current set. Use these values to fetch the next set of results.
#
PaginationTo retrieve the next set of results, include the pagination_key
values in your next request:
GET https://api.documentpro.ai/v1/documents?document_id=8ed94104-cb56-42eb-b1f4-cbd6da0894ca&created_at=2024-07-25T10:00:30.677936
#
Important Notes- The default limit is 100 documents per request. Adjust using the
limit
parameter. - The
parser_runs
array shows the history of parsing operations on each document. - Use the
pagination_key
to fetch subsequent pages of results if available. - The
s3_key
URLs are temporary and will expire after a certain period.
#
Next Steps- Upload a new document to add to your collection.
- Run a parser on a specific document.
- Retrieve parsing results for a particular parsing job.