Bulk upload certificates with per-certificate placeholder contractors via tracker.

POST /api/v1/files/external_certificates/tracker/placeholder/bulk

This endpoint accepts multiple PDF certificate files along with optional JSON metadata specifying contractor details for each certificate. Each certificate gets its own placeholder contractor, and placeholder emails are auto-generated if not provided. Requires a tracker session and creates assignments for each certificate.

multipart/form-data

Body

  • certificates array[string(binary)] Required

    Multiple certificate PDF files

  • certificates_metadata string

    JSON metadata for certificates with optional contractor details

  • tracker_id string Required

    Tracker ID

Responses

  • 201 application/json

    Certificates uploaded successfully with placeholder contractors

    Hide response attributes Show response attributes object
    • certificates array[object]
      Hide certificates attributes Show certificates attributes object
      • assignment string

        The ID of the assignment for this certificate

      • contractor string

        The ID of the contractor for this certificate

      • email string

        The email used for this contractor

      • email_was_generated boolean

        Whether the email was auto-generated

      • filename string

        The filename of the uploaded certificate

      • id string

        The ID of the uploaded certificate

    • job string

      The ID of the job

    • message string

      Information about the placeholder contractors

POST /api/v1/files/external_certificates/tracker/placeholder/bulk
curl \
 --request POST 'https://api.1099policy.com/api/v1/files/external_certificates/tracker/placeholder/bulk' \
 --header "Content-Type: multipart/form-data" \
 --form "certificates[]=@file" \
 --form "certificates_metadata=[
  {
    "filename": "cert1.pdf",
    "contractor": {
      "email": "[email protected]",
      "first_name": "John",
      "last_name": "Doe",
      "company_name": "ABC Construction"
    },
    "insurance_requirement_id": "req_123"
  },
  {
    "filename": "cert2.pdf"
    // No contractor details - will generate placeholder
  }
]
" \
 --form "tracker_id=string"
Response examples (201)
{
  "certificates": [
    {
      "assignment": "string",
      "contractor": "string",
      "email": "string",
      "email_was_generated": true,
      "filename": "string",
      "id": "string"
    }
  ],
  "job": "string",
  "message": "string"
}