Bronnen
Importen
Elk Importen-endpoint, met de scope die het afdwingt, het lichaam dat het aanneemt, een leesbaar antwoord en de weigeringen die het kan teruggeven.
Een asynchrone bulkimport starten.
/organizations/{organization}/imports- Scope
- passports:write
Idempotency-Key- Wordt geaccepteerd
- Levert
- 202
Padparameters
organizationstringVerplichtDe organisatie waarvoor dit verzoek handelt. De sleutel moet daarvoor zijn vrijgegeven.
Verzoeklichaam
rowsarray of objectsVerplichtTussen 1 en 500 rijen. Boven dat plafond wordt het verzoek geweigerd met een eigen max_rows-regel — de weigering waarop een lus die in batches werkt vertakt. Een onbekende sleutel ergens in een rij is een fout, geen veld dat stilzwijgend wordt weggelaten.
categorystringVerplichtEen categorie-id uit GET /categories.
dataobjectVerplichtHet paspoortdocument, precies zoals POST /passports het aanneemt.
external_idstringOptioneelUw eigen identificatie voor de rij. Komt terug op het resultaat per rij — zo wordt een mislukte rij afgestemd.
Fouten
Elke weigering die dit endpoint kan teruggeven, met de status waarmee die binnenkomt.
- 500configuration_error
- 409idempotency_conflict
- 403insufficient_scope
- 500internal_error
- 401invalid_key
- 400invalid_request
- 401key_expired
- 401key_revoked
- 401key_rotated
- 400mode_mismatch
- 402no_subscription
- 404organization_not_found_or_not_granted
- 413payload_too_large
- 402payment_overdue
- 429rate_limited
- 415unsupported_media_type
- 422validation_failed
- 400wildcard_not_supported
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports" \
-X POST \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"rows": [
{
"external_id": "SKU-4471-BLK",
"category": "textile",
"data": {
"product_name": "Merino Crew Neck",
"manufacturer_country": "FR"
}
},
{
"external_id": "SKU-4471-NVY",
"category": "textile",
"data": {
"product_name": "Merino Crew Neck Navy",
"manufacturer_country": "FR"
}
}
]
}'{
"object": "import_job",
"id": "7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports/7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"livemode": true,
"status": "queued",
"total_rows": 2,
"succeeded_rows": 0,
"failed_rows": 0,
"pending_rows": 2,
"attempts": 0,
"created_at": "2026-08-02T09:50:00.114Z",
"started_at": null,
"completed_at": null
}POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports
Importtaken opsommen.
/organizations/{organization}/imports- Scope
- passports:read
Idempotency-Key- Wordt niet geaccepteerd
- Levert
- 200
Padparameters
organizationstringVerplichtDe organisatie waarvoor dit verzoek handelt. De sleutel moet daarvoor zijn vrijgegeven.
Queryparameters
limitstringOptioneelHoeveel records worden teruggegeven. De server mag er minder teruggeven.
cursorstringOptioneelDe next_cursor van de vorige pagina. Een cursor codeert de filters waaronder hij is uitgegeven; meesturen met andere filters wordt geweigerd met cursor_invalid.
statusstringOptioneelGeeft alleen taken met deze status terug.
Fouten
Elke weigering die dit endpoint kan teruggeven, met de status waarmee die binnenkomt.
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports?status=completed" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"{
"object": "list",
"data": [
{
"object": "import_job",
"id": "7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports/7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"livemode": true,
"status": "completed",
"total_rows": 2,
"succeeded_rows": 1,
"failed_rows": 1,
"pending_rows": 0,
"attempts": 1,
"created_at": "2026-08-02T09:50:00.114Z",
"started_at": "2026-08-02T09:50:03.902Z",
"completed_at": "2026-08-02T09:50:05.441Z"
}
],
"has_more": false,
"next_cursor": null
}GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports?status=completed
Eén importtaak en de voortgang ervan ophalen.
/organizations/{organization}/imports/{id}- Scope
- passports:read
Idempotency-Key- Wordt niet geaccepteerd
- Levert
- 200
Padparameters
organizationstringVerplichtDe organisatie waarvoor dit verzoek handelt. De sleutel moet daarvoor zijn vrijgegeven.
idstringVerplichtDe identificatie van de bron. Behandel die als een ondoorzichtige tekenreeks.
Queryparameters
row_limitstringOptioneelHoeveel resultaten per rij bij de taak worden meegegeven.
after_row_indexstringOptioneelGeeft de resultaten per rij terug die na deze rij-index komen, zodat een grote taak in stappen kan worden doorlopen.
Fouten
Elke weigering die dit endpoint kan teruggeven, met de status waarmee die binnenkomt.
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports/7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a?row_limit=50" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"{
"object": "import_job",
"id": "7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports/7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"livemode": true,
"status": "completed",
"total_rows": 2,
"succeeded_rows": 1,
"failed_rows": 1,
"pending_rows": 0,
"attempts": 1,
"created_at": "2026-08-02T09:50:00.114Z",
"started_at": "2026-08-02T09:50:03.902Z",
"completed_at": "2026-08-02T09:50:05.441Z",
"rows": {
"object": "list",
"data": [
{
"object": "import_row",
"row_index": 0,
"external_id": "SKU-4471-BLK",
"status": "succeeded",
"passport_id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
"passport_name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
"error": null,
"processed_at": "2026-08-02T09:50:04.771Z"
},
{
"object": "import_row",
"row_index": 1,
"external_id": "SKU-4471-NVY",
"status": "failed",
"passport_id": null,
"passport_name": null,
"error": {
"code": "unknown_category",
"detail": null
},
"processed_at": "2026-08-02T09:50:05.180Z"
}
],
"has_more": false,
"next_after_row_index": null
}
}GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/imports/7b52909a-8f2c-4e1d-9b3a-6d5f4e3c2b1a?row_limit=50