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
| Name | Sent in | Requirement | Accepts |
|---|---|---|---|
| boardId | path | Required | string |
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
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"
}
]
}'{
"created": 2,
"skipped": 0,
"errors": 0,
"errorDetails": []
}