File Upload Integration

Upload XML job files directly and let JobStak parse, deduplicate, and queue jobs automatically.

How File Upload Works

  1. Prepare an XML file using the supported schema.
  2. Upload via dashboard or programmatic endpoint.
  3. Processing starts immediately after upload.
  4. Jobs are deduplicated by reference_number.
  5. Upload history records jobs added, skipped, and errors.

Programmatic Upload (Example)

Raw XML body:

curl -X POST \
  "https://<project-id>.supabase.co/functions/v1/upload-feed-file?filename=jobs-feb.xml" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/xml" \
  --data-binary @jobs.xml

Multipart form upload:

curl -X POST \
  "https://<project-id>.supabase.co/functions/v1/upload-feed-file" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@jobs.xml" \
  -F "feed_configuration_id=optional-feed-config-uuid"

Supported XML Schema

Your uploaded XML file should follow the same schema as hosted XML feeds. Here is a minimal example:

<source>
  <job>
    <title>Registered Nurse</title>
    <reference_number>RN-2024-001</reference_number>
    <company>Acme Health</company>
    <description>Full job description here...</description>
    <city>Austin</city>
    <state>TX</state>
    <country>US</country>
    <postal_code>78701</postal_code>
    <salary>$85,000 - $95,000</salary>
    <job_type>Full-Time</job_type>
    <category>Healthcare</category>
    <job_url>https://example.com/jobs/rn-001</job_url>
    <indeed_sponsor_value>$50.00</indeed_sponsor_value>
  </job>
</source>

Optional fields include: branch, owner_id, address, notification_email, is_priority, statewide, nationwide, board_username, board_password, job_board, indeed_sponsor_value, and more. See the XML Feed docs for the full list.

File Requirements

Related Documentation