Ressources
Unités
Chaque point de terminaison Unités, avec la portée qu'il impose, le corps qu'il accepte, une réponse lisible et les refus qu'il peut renvoyer.
Lister les unités sérialisées.
/organizations/{organization}/passports/{id}/units- Portée
- units:read
Idempotency-Key- Non accepté
- Renvoie
- 200
Paramètres de chemin
organizationchaîneObligatoireL'organisation pour laquelle cette requête agit. La clé doit disposer d'une autorisation sur celle-ci.
idchaîneObligatoireL'identifiant de la ressource. Traitez-le comme une chaîne opaque.
Paramètres de requête
limitchaîneFacultatifLe nombre d'enregistrements à renvoyer. Le serveur peut en renvoyer moins.
cursorchaîneFacultatifLe next_cursor de la page précédente. Un curseur encode les filtres sous lesquels il a été émis ; l'envoyer avec d'autres filtres est refusé par cursor_invalid.
statuschaîneFacultatifNe renvoyer que les unités dans ce statut.
unit_serialchaîneFacultatifNe renvoyer que l'unité qui porte ce numéro de série.
Erreurs
Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units?limit=25" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"{
"object": "list",
"data": [
{
"object": "unit",
"id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units/d41d8cd9-8f00-4b20-a204-9800998ecf84",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"passport_id": "b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04",
"passport": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04",
"unit_serial": "BAT-2026-000117",
"status": "original",
"livemode": true,
"created_at": "2026-08-01T12:00:03.114Z",
"values": {
"status": {
"value": "original",
"source": "brand_statement",
"observed_on": "2026-08-02",
"reading_id": "a1100000-0000-4000-8000-000000000001",
"unit_added_on": null
}
},
"missing_fields": []
}
],
"has_more": false,
"next_cursor": null
}GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units?limit=25
Créer des unités sérialisées.
/organizations/{organization}/passports/{id}/units- Portée
- units:write
Idempotency-Key- Accepté
- Renvoie
- 201
Paramètres de chemin
organizationchaîneObligatoireL'organisation pour laquelle cette requête agit. La clé doit disposer d'une autorisation sur celle-ci.
idchaîneObligatoireL'identifiant de la ressource. Traitez-le comme une chaîne opaque.
Corps de la requête
unitsliste d’objetsObligatoireDe 1 à 1000 unités. Le passeport parent doit relever de la catégorie battery — les unités sérialisées sont une notion propre aux batteries, et tout autre parent est refusé par invalid_request. Un numéro de série répété au sein d'une même requête est refusé ligne par ligne plutôt que dédoublonné : un import en masse ne peut ainsi jamais croire avoir créé une ligne qui n'existe pas.
unit_serialchaîneObligatoireLe numéro de série porté par cet exemplaire physique, jusqu'à 70 caractères. Unique au sein du passeport.
statuschaîneFacultatifStatut facultatif de la batterie : original, repurposed, re-used, remanufactured ou waste. Omettez-le pour créer une batterie sans statut. Les autres valeurs sont refusées pour tous les identifiants.
Erreurs
Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.
- 409already_exists
- 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
- 402plan_required
- 429rate_limited
- 404resource_not_found
- 402unit_limit_reached
- 415unsupported_media_type
- 422validation_failed
- 400wildcard_not_supported
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units" \
-X POST \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"units": [
{
"unit_serial": "BAT-2026-000117",
"status": "original"
},
{
"unit_serial": "BAT-2026-000118"
}
]
}'{
"object": "list",
"data": [
{
"object": "unit",
"id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units/d41d8cd9-8f00-4b20-a204-9800998ecf84",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"passport_id": "b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04",
"passport": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04",
"unit_serial": "BAT-2026-000117",
"status": "original",
"livemode": true,
"created_at": "2026-08-02T09:31:18.446Z",
"values": {
"status": {
"value": "original",
"source": "brand_statement",
"observed_on": "2026-08-02",
"reading_id": "a1100000-0000-4000-8000-000000000001",
"unit_added_on": null
}
},
"missing_fields": []
},
{
"object": "unit",
"id": "5a3e7c19-2b60-4d84-91f2-7e0c4b6a8d35",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units/5a3e7c19-2b60-4d84-91f2-7e0c4b6a8d35",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"passport_id": "b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04",
"passport": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04",
"unit_serial": "BAT-2026-000118",
"status": null,
"livemode": true,
"created_at": "2026-08-02T09:31:18.446Z",
"values": {},
"missing_fields": []
}
],
"has_more": false,
"next_cursor": null
}POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units