Ressources
Variantes
Chaque point de terminaison Variantes, 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 variantes de taille et de couleur.
/organizations/{organization}/passports/{id}/variants- Portée
- passports: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 avec lesquels il a été généré ; son utilisation avec d’autres filtres entraîne l’erreur cursor_invalid.
gtinchaîneFacultatifRenvoyer uniquement la variante portant ce GTIN. Les GTIN valides de 8, 12, 13 ou 14 chiffres sont normalisés sur 14 chiffres.
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/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants?limit=25" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"{
"object": "list",
"data": [
{
"object": "variant",
"id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/d41d8cd9-8f00-4b20-a204-9800998ecf84",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"passport_id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
"passport": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
"gtin": "03453120000011",
"size": "M",
"colour": "Navy",
"livemode": true,
"created_at": "2026-08-01T12:00:03.114Z"
}
],
"has_more": false,
"next_cursor": null
}GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants?limit=25
Créer des variantes de taille et de couleur.
/organizations/{organization}/passports/{id}/variants- Portée
- passports: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
variantsliste d’objetsObligatoireEnvoyez 1 à 1000 variantes pour un passeport textile ou général, dans la limite de 2000 par passeport, toutes requêtes confondues. Le lot entier est inséré ou refusé, puis renvoyé dans l’ordre de la requête. Les GTIN et les paires taille/couleur doivent être uniques. Le GTIN principal de ce passeport est autorisé. Un GTIN principal ou de variante appartenant à un autre passeport de la même organisation et du même mode est refusé, y compris si ce passeport est dans la corbeille. Après une requête réussie, une nouvelle tentative avec la même Idempotency-Key restitue le résultat initial avant toute nouvelle vérification de conflit ou de capacité. Un refus corrigeable lors de la vérification préalable ne réserve pas la clé. Les identifiants du connecteur permettent d’ajouter des variantes uniquement aux brouillons, sans pouvoir les supprimer.
gtinchaîneObligatoireUn GTIN valide de 8, 12, 13 ou 14 chiffres, clé de contrôle comprise. Stocké et renvoyé sur 14 chiffres.
sizechaîneFacultatifTaille de 1 à 70 caractères Unicode après suppression des caractères d’espacement en début et en fin. Indiquez la taille, la couleur ou les deux.
colourchaîneFacultatifCouleur de 1 à 70 caractères Unicode après suppression des caractères d’espacement en début et en fin. Les paires taille/couleur sont uniques sans distinction de casse.
Erreurs
Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.
- 409already_exists
- 500configuration_error
- 409connector_writes_drafts_only
- 409gtin_in_use
- 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
- 415unsupported_media_type
- 422validation_failed
- 422variant_limit_reached
- 400wildcard_not_supported
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants" \
-X POST \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"variants": [
{
"gtin": "03453120000011",
"size": "M",
"colour": "Navy"
}
]
}'{
"object": "list",
"data": [
{
"object": "variant",
"id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/d41d8cd9-8f00-4b20-a204-9800998ecf84",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"passport_id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
"passport": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
"gtin": "03453120000011",
"size": "M",
"colour": "Navy",
"livemode": true,
"created_at": "2026-08-01T12:00:03.114Z"
}
],
"has_more": false,
"next_cursor": null
}POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants
Supprimer une variante. Les identifiants du connecteur ne permettent pas de supprimer des variantes.
Destructif/organizations/{organization}/passports/{id}/variants/{variantId}- Portée
- passports:write
Idempotency-Key- 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.
variantIdchaîneObligatoireL'identifiant de la ressource. Traitez-le comme une chaîne opaque.
Erreurs
Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.
- 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
- 400wildcard_not_supported
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/d41d8cd9-8f00-4b20-a204-9800998ecf84" \
-X DELETE \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"{
"object": "variant",
"id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
"deleted": true
}DELETE /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/d41d8cd9-8f00-4b20-a204-9800998ecf84
Supprimer des variantes par GTIN.
Destructif/organizations/{organization}/passports/{id}/variants/remove- Portée
- passports:write
Idempotency-Key- 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.
Corps de la requête
gtinstableau de chaînesObligatoireEnvoyez 1 à 1000 GTIN valides, normalisés sur 14 chiffres. Les entrées présentes sont supprimées ; les autres figurent dans absent. Une nouvelle tentative avec la même clé restitue le résultat réussi initial ; sans clé, les entrées déjà supprimées figurent dans absent. Chaque appel supprimant effectivement des variantes d’un passeport publié ou désactivé compte une fois dans le plafond des opérations destructives. Les identifiants du connecteur ne permettent pas cette suppression. Le traitement se fait par lots limités. Si un lot ultérieur échoue, error.details.removed indique les suppressions effectuées. Réessayez sans Idempotency-Key pour traiter le reste ; la même clé restitue l’échec enregistré.
Erreurs
Tous les refus que ce point de terminaison peut renvoyer, avec le statut qui les accompagne.
- 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
- 415unsupported_media_type
- 422validation_failed
- 400wildcard_not_supported
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/remove" \
-X POST \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"gtins": [
"03453120000011"
]
}'{
"removed": [
"03453120000011"
],
"absent": []
}POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/remove
Lit les tailles et couleurs qu’une personne vérifie avant la publication, avec leur empreinte.
/organizations/{organization}/passports/{id}/variants/review- Portée
- passports: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.
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/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/review" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"{
"object": "variant_review",
"passport": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
"fingerprint": "3b2f1e0d9c8b7a6f5e4d3c2b1a0f9e8d7c6b5a4f3e2d1c0b9a8f7e6d5c4b3a2f",
"agent_written_count": 1,
"variants": [
{
"id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
"gtin": "03453120000011",
"size": "M",
"colour": "Navy",
"agent_written": {
"keyId": "pcmcp_a1",
"keyName": "Claude",
"at": "2026-09-18T09:12:44.000Z",
"sourceClass": "agent_asserted"
}
},
{
"id": "8d3f1c22-6b7e-4d1a-9e2f-5a6b7c8d9e0f",
"gtin": "05012345678900",
"size": "L",
"colour": "Navy",
"agent_written": null
}
]
}GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/variants/review