> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ferofill.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Safety Program

export const processingNote_0 = "This endpoint processes workplace safety program documents for workers compensation underwriting and premium credits."

export const templateDescription_0 = "Returns 'safety_program' for workplace safety documentation"

export const extractedFields_0 = "company_name, program_effective_date, safety_officer, program_description, training_frequency, incident_reporting_procedure, safety_meetings_frequency, ppe_requirements, return_to_work_program"

export const tableNames_0 = "safety_training_schedule, incident_tracking, safety_equipment_inventory, training_records, safety_violations"

export const successResponse_0 = undefined

export const failedResponse_0 = undefined

<Note>
  {processingNote_0}
</Note>

### Request

<ParamField body="files" type="file[]" required>
  Upload one or more documents for extraction. Supported file formats: pdf, jpeg, png, xlsx, docx, pptx, csv, and txt.
</ParamField>

### Response

All endpoints return a consistent response structure:

<ResponseField name="data" type="array" required>
  Array of extracted document data objects

  <Expandable title="Document Data Object">
    <ResponseField name="template_confidence" type="number">
      Confidence score (0-100) for document template identification
    </ResponseField>

    <ResponseField name="template" type="string">
      {templateDescription_0}
    </ResponseField>

    <ResponseField name="processing_time" type="string">
      Time taken to process the document
    </ResponseField>

    <ResponseField name="start_page" type="number">
      First page number of the document
    </ResponseField>

    <ResponseField name="end_page" type="number">
      Last page number of the document
    </ResponseField>

    <ResponseField name="extracted_fields" type="array">
      Array of extracted field objects. Common fields include: {extractedFields_0}
    </ResponseField>

    <ResponseField name="tables" type="array">
      Array of extracted table objects. Common tables include: {tableNames_0}
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="error" type="string | null">
  Error message if processing failed, null if successful
</ResponseField>

<ResponseExample>
  {successResponse_0}

  {failedResponse_0}
</ResponseExample>
