Ressourcen
Einheiten
Jeder Einheiten-Endpunkt, mit dem Scope, den er durchsetzt, dem Körper, den er annimmt, einer lesbaren Antwort und den Ablehnungen, die er zurückgeben kann.
Serialisierte Einheiten auflisten.
/organizations/{organization}/passports/{id}/units- Scope
- units:read
Idempotency-Key- Wird nicht akzeptiert
- Liefert
- 200
Pfadparameter
organizationZeichenkettePflichtDie Organisation, für die diese Anfrage handelt. Der Zugangsschlüssel muss dafür freigegeben sein.
idZeichenkettePflichtDie Kennung der Ressource. Behandeln Sie sie als undurchsichtige Zeichenkette.
Abfrageparameter
limitZeichenketteOptionalWie viele Datensätze zurückgegeben werden. Der Server darf weniger liefern.
cursorZeichenketteOptionalDer next_cursor der vorherigen Seite. Ein Cursor kodiert die Filter, unter denen er ausgegeben wurde; wird er mit anderen Filtern gesendet, folgt eine Ablehnung mit cursor_invalid.
statusZeichenketteOptionalNur Einheiten in diesem Status zurückgeben.
unit_serialZeichenketteOptionalDie eine Einheit zurückgeben, die diese Seriennummer trägt.
Fehler
Jede Ablehnung, die dieser Endpunkt zurückgeben kann, samt dem HTTP-Status, mit dem sie eintrifft.
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
Serialisierte Einheiten anlegen.
/organizations/{organization}/passports/{id}/units- Scope
- units:write
Idempotency-Key- Wird akzeptiert
- Liefert
- 201
Pfadparameter
organizationZeichenkettePflichtDie Organisation, für die diese Anfrage handelt. Der Zugangsschlüssel muss dafür freigegeben sein.
idZeichenkettePflichtDie Kennung der Ressource. Behandeln Sie sie als undurchsichtige Zeichenkette.
Anfragekörper
unitsListe von ObjektenPflichtZwischen 1 und 1000 Einheiten. Der übergeordnete Produktpass muss in der Kategorie battery liegen — serialisierte Einheiten sind ein Batteriekonzept, und jeder andere übergeordnete Produktpass wird mit invalid_request abgelehnt. Eine innerhalb einer Anfrage wiederholte Seriennummer wird je Zeile abgelehnt statt entdoppelt, damit ein Massenimport nie annimmt, eine Zeile angelegt zu haben, die gar nicht angelegt wurde.
unit_serialZeichenkettePflichtDie Seriennummer, die dieses physische Exemplar trägt, bis zu 70 Zeichen. Innerhalb des Produktpasses eindeutig.
statusZeichenketteOptionalOptionaler Batteriestatus: original, repurposed, re-used, remanufactured oder waste. Ohne Angabe wird die Batterie ohne Status angelegt. Andere Werte werden für alle Zugangsdaten abgelehnt.
Fehler
Jede Ablehnung, die dieser Endpunkt zurückgeben kann, samt dem HTTP-Status, mit dem sie eintrifft.
- 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