Recreate Resource
TheRecreateResource provides document recreation capabilities through client.enterprise_api.recreate. It handles document processing workflows including creation, status monitoring, and resource management.
| Method | HTTP Endpoint | Description | Content Type |
|---|---|---|---|
create() | POST /enterprise-api/recreate/ | Initiates document recreation process | multipart/form-data |
retrieve_status() | GET /enterprise-api/recreate/status/ | Fetches recreation operation status | application/json |
hide() | POST /enterprise-api/recreate/hide/ | Manages resource visibility | application/json |
get_dfs() | GET /enterprise-api/recreate/{recreate_id}/to_json/ (abstracted) | Returns a recreate’s underlying data as a list of dataframes | application/json |
recreate.create
Creates a new recreation job and returns a recreate_id and status.
| Parameter | Type | Default | Description |
|---|---|---|---|
file | Bytes or file-like | None | Input document file |
selected_pages | str | None | Page selection specification (e.g., 1-5, 1-5,7-9,10-12, 1,2,3,4,5,6) |
is_ppt_process_enabled | str | false | PowerPoint processing toggle |
is_xls_process_charts_enabled | str | false | Excel chart processing toggle |
is_xls_process_tables_enabled | str | "false" | Excel table processing toggle |
selected_table_format | str | None | Table output format ID (see list_formats) |
EnterpriseAPIResponse(status='SUCCESS', data={'recreate_id': '418099ce-6748-4b97-a92e-3fa1c9bd89cb', 'status': 'CREATED'})
recreate.retrieve_status
Requires a recreate_id and returns its status plus download links if available.
EnterpriseAPIResponse(status='SUCCESS', data={'recreate_id': '1eaba152-6278-477c-a3c2-b3726915e5c1', 'status': 'CREATED'})
EnterpriseAPIResponse(status='SUCCESS', data={'recreate_id': '1eaba152-6278-477c-a3c2-b3726915e5c1', 'status': 'RECEIVED', 'xls_download_url': None, 'ppt_download_url': None, 'jobs': [...]})
EnterpriseAPIResponse(status='SUCCESS', data={'recreate_id': '1eaba152-6278-477c-a3c2-b3726915e5c1', 'status': 'EXTRACTING', 'xls_download_url': None, 'ppt_download_url': None, 'jobs': [...]})
EnterpriseAPIResponse(status='SUCCESS', data={'recreate_id': '1eaba152-6278-477c-a3c2-b3726915e5c1', 'status': 'PROCESSING', 'xls_download_url': None, 'ppt_download_url': None, 'jobs': [...]})
EnterpriseAPIResponse(status='SUCCESS', data={'recreate_id': '1eaba152-6278-477c-a3c2-b3726915e5c1', 'status': 'COMPLETED', 'xls_download_url': 'https://storage.googleapis.com/...test-pdf.xlsx?...', 'ppt_download_url': 'https://storage.googleapis.com/...test-pdf.pptx?...', 'jobs': [...]})
data={
'recreate_id': 'cf9b1754-8dd6-4ef1-a3b4-9615411f1363',
'status': 'COMPLETED',
'xls_download_url': 'https://storage.googleapis.com/...authenticated_url...',
'ppt_download_url': 'https://storage.googleapis.com/...authenticated_url...',
...
}
recreate.get_dfs
Requires a recreate_id and returns the recreate’s data as a list of pandas DataFrames.
from recreate_sdk import RecreateSDK
client = RecreateSDK(
api_key="<YOUR_API_KEY>",
base_url="<API_URL>",
)
def main():
recreate_id = "<RECREATE_ID>"
dfs = client.enterprise_api.recreate.get_dfs(recreate_id=recreate_id)
for i, df in enumerate(dfs):
print(f"DataFrame {i}:")
print(f"Shape: {df.shape}")
print(f"Columns: {list(df.columns)}")
print(f"Is empty: {df.empty}")
if not df.empty:
print(df.head())
else:
print("DataFrame is empty - no rows")
print("-" * 40)
if __name__ == "__main__":
main()
DataFrame 0:
Shape: (20, 5)
Columns: ['row_identifier', 'Item', 'Three months ended-September 30, 2024', 'Three months ended-June 30, 2024', 'Three months ended-September 30, 2023']
Is empty: False
row_identifier Item ... Three months ended-June 30, 2024 Three months ended-September 30, 2023
0 Revenue Revenue ... 3,807 3,357
1 Cost of revenue Cost of revenue ... 2,695 2,472
2 Gross profit Gross profit ... 1,112 885
3 Research and development Research and development ... 379 369
4 Sales and marketing Sales and marketing ... 343 355
[5 rows x 5 columns]
Enterprise API Resource
TheEnterpriseAPIResource class is the primary interface for enterprise operations. It exposes format listing, PDF unprotection, and token validation functionality.
| Method | HTTP Endpoint | Description | Return Type |
|---|---|---|---|
list_formats() | GET /enterprise-api/formats/ | Retrieves available format configuration templates | EnterpriseAPIResponse |
unprotect_pdf() | POST /enterprise-api/unprotect-pdf/ | Removes password protection from PDF files | object |
validate_token() | POST /enterprise-api/validate-token | Validates JWT authentication tokens | EnterpriseAPIValidateTokenResponse |
list_formats
Returns configuration templates for formatting output files.
{
"status": "SUCCESS",
"data": {
"configurations": [
{
"id": "468977cb-1fe6-431a-9880-c7b035b72842",
"template_name": "YOUR_FIRM",
"created_at": "2025-07-30T17:29:54.365476Z",
"updated_at": "2025-07-30T17:29:54.365476Z",
"config": {
"template_name": "YOUR_FIRM",
"header_config": {
"font_family": "Arial",
"font_color_hex": "#FFFFFF",
"font_size": 11.0,
"fill_color_hex": "#093a5b",
"bolded": true,
"italicized": false,
"underlined": false,
"decimal_precision": 0,
"horizontal_alignment": "left",
"vertical_alignment": null,
"border_style": "thin",
"border_top": false,
"border_right": false,
"border_bottom": false,
"border_left": false
},
"row_config": {
"font_family": "Arial",
"font_size": 10.0,
"font_color_hex": "#000000",
"fill_color_hex": "#FFFFFF",
"bolded": false,
"italicized": false,
"underlined": false,
"decimal_precision": 0,
"horizontal_alignment": "right",
"vertical_alignment": null,
"border_style": "none",
"border_top": false,
"border_right": false,
"border_bottom": false,
"border_left": false,
"zoom": 100,
"row_height": 20
},
"total_config": {
"font_family": "Arial",
"font_color_hex": "#000000",
"font_size": 11.0,
"fill_color_hex": "#ddebf7",
"bolded": true,
"italicized": false,
"underlined": false,
"decimal_precision": 0,
"horizontal_alignment": "left",
"vertical_alignment": null,
"border_style": "thin",
"border_top": true,
"border_right": false,
"border_bottom": false,
"border_left": false
}
},
"chart_config": {
"bar_series_overlap": 0,
"bar_gap_width": 70,
"line_series_width": 2.0,
"pie_chart_style": "doughnut",
"donut_hole_size": 40,
"colors": [
"#093a5b",
"#808080",
"#005454",
"#432752",
"#bb8110",
"#803d02"
],
"font_family": "Arial",
"font_color_hex": "#000000",
"font_size": 10,
"quick_sizing_config": null,
"column_bar_group_config": null,
"line_group_config": null,
"combo_group_config": null,
"area_group_config": null,
"pie_donut_group_config": null
}
}
]
}
}
unprotect_pdf
Removes password protection from PDF files. Requires file and password parameters.
# Unprotect a password-protected PDF
with open("protected.pdf", "rb") as file:
response = client.enterprise_api.unprotect_pdf(
file=file,
password="your_password"
)
validate_token
Validates JWT authentication tokens. Requires a token parameter.
# Validate authentication token
response = client.enterprise_api.validate_token(token="your_jwt_token")
