Skip to main content

imports.create

Import a batch of applications onto a board

Request
POST/api/v1/boards/{boardId}/imports
Scope required
imports:write
Effect
Changes data. Send an Idempotency-Key if you might retry it.
Acts on
Acts on the account’s own job search.
MCP tool
imports_create
Environment
Live and sandbox alike.
Request body
JSON.

What it does

Creates applications from already-parsed rows. Send the rows, not a file: parsing a spreadsheet is the caller's job, and this endpoint takes no upload. Each row needs at least `jobTitle` and `companyName`. The import is per row, not all or nothing — a row naming a job this board already holds is counted in `skipped`, a row the importer cannot make sense of is counted in `errors` and described in `errorDetails` with its position, and every other row still lands. Send an `Idempotency-Key` header if a retry must not import the batch twice. Up to 5000 rows at a time, and `imports:write` alone is enough to create every one of them: scopes in this API are exact rather than hierarchical, so granting it is granting the power to create applications whether or not `applications:write` was granted too. Read the cards it filed back with `applications.list`.

Parameters

Parameters this endpoint accepts, where each one goes, and whether it is required
NameSent inRequirementAccepts
boardIdpathRequiredstring

Request body

rows
array of object, required
applicationDate
string or null, optional
applicationLink
string or null, optional
applicationSource
string or null, optional
city
string or null, optional
companyIndustry
string, optional
companyLinkedin
string or null, optional
companyName
string, required
companySize
string or null, optional
companyType
string or null, optional
companyWebsite
string or null, optional
country
string or null, optional
jobDescription
string or null, optional
jobTitle
string, required
notes
string or null, optional
payAmount
number or null, optional
payFrequency
string, optional
postalCode
string or null, optional
salaryRangeMax
number or null, optional
salaryRangeMin
number or null, optional
state
string or null, optional
status
string, optional
streetAddress
string or null, optional
streetAddress2
string or null, optional
workMode
string, optional
workType
string, optional

Response

created
integer, required
errorDetails
array of object, required
error
string, required
row
integer, required
errors
integer, required
skipped
integer, required

Examples

Import two rows from a spreadsheet

Import two rows from a spreadsheet — request
curl -s -X POST https://www.jobapplicationtracking.com/api/v1/boards/brd_7/imports \
  -H "Authorization: Bearer $JAT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "rows": [
    {
      "jobTitle": "Staff Engineer",
      "companyName": "Acme"
    },
    {
      "jobTitle": "Principal Engineer",
      "companyName": "Northwind"
    }
  ]
}'
Import two rows from a spreadsheet — response
{
  "created": 2,
  "skipped": 0,
  "errors": 0,
  "errorDetails": []
}

Related operations