Skip to main content

Recreate Resource

The RecreateResource provides document recreation capabilities through client.enterprise_api.recreate. It handles document processing workflows including creation, status monitoring, and resource management.
MethodHTTP EndpointDescriptionContent Type
create()POST /enterprise-api/recreate/Initiates document recreation processmultipart/form-data
retrieve_status()GET /enterprise-api/recreate/status/Fetches recreation operation statusapplication/json
hide()POST /enterprise-api/recreate/hide/Manages resource visibilityapplication/json
get_dfs()GET /enterprise-api/recreate/{recreate_id}/to_json/ (abstracted)Returns a recreate’s underlying data as a list of dataframesapplication/json

recreate.create

Creates a new recreation job and returns a recreate_id and status.
ParameterTypeDefaultDescription
fileBytes or file-likeNoneInput document file
selected_pagesstrNonePage selection specification (e.g., 1-5, 1-5,7-9,10-12, 1,2,3,4,5,6)
is_ppt_process_enabledstrfalsePowerPoint processing toggle
is_xls_process_charts_enabledstrfalseExcel chart processing toggle
is_xls_process_tables_enabledstr"false"Excel table processing toggle
selected_table_formatstrNoneTable 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': [...]})
When a job completes, the download URLs are populated with non-null values:
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()
Inspect the returned DataFrames as usual:
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

The EnterpriseAPIResource class is the primary interface for enterprise operations. It exposes format listing, PDF unprotection, and token validation functionality.
MethodHTTP EndpointDescriptionReturn Type
list_formats()GET /enterprise-api/formats/Retrieves available format configuration templatesEnterpriseAPIResponse
unprotect_pdf()POST /enterprise-api/unprotect-pdf/Removes password protection from PDF filesobject
validate_token()POST /enterprise-api/validate-tokenValidates JWT authentication tokensEnterpriseAPIValidateTokenResponse

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")
I