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.

get/organizations/{organization}/passports/{id}/units
Portée
units:read
Idempotency-Key
Non accepté
Renvoie
200

Paramètres de chemin

organizationstringObligatoire

L'organisation pour laquelle cette requête agit. La clé doit disposer d'une autorisation sur celle-ci.

idstringObligatoire

L'identifiant de la ressource. Traitez-le comme une chaîne opaque.

Paramètres de requête

limitstringFacultatif

Le nombre d'enregistrements à renvoyer. Le serveur peut en renvoyer moins.

cursorstringFacultatif

Le 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.

statusstringFacultatif

Ne renvoyer que les unités dans ce statut.

unit_serialstringFacultatif

Ne 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.

Requête
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"
Réponse · 200
{
  "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"
    }
  ],
  "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.

post/organizations/{organization}/passports/{id}/units
Portée
units:write
Idempotency-Key
Accepté
Renvoie
201

Paramètres de chemin

organizationstringObligatoire

L'organisation pour laquelle cette requête agit. La clé doit disposer d'une autorisation sur celle-ci.

idstringObligatoire

L'identifiant de la ressource. Traitez-le comme une chaîne opaque.

Corps de la requête

unitsarray of objectsObligatoire

De 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_serialstringObligatoire

Le numéro de série porté par cet exemplaire physique, jusqu'à 70 caractères. Unique au sein du passeport.

statusstringFacultatif

L'état du cycle de vie, tiré du vocabulaire de l'Annexe XIII : original, repurposed, re-used, remanufactured, waste. Stocké en texte libre, jusqu'à 70 caractères — une valeur hors de cette liste est acceptée, mais rien ensuite ne la reconnaît.

Erreurs

Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.

Requête
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"
    }
  ]
}'
Réponse · 201
{
  "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"
    },
    {
      "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"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units

Unités — référence de l’API PassportCraft | PassportCraft