Ressources
Propositions
Chaque point de terminaison Propositions, avec la portée qu'il impose, le corps qu'il accepte, une réponse lisible et les refus qu'il peut renvoyer.
Proposer des modifications à un passeport publié.
/organizations/{organization}/passports/{id}/proposals- 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
fieldsobjetObligatoireLes champs à modifier, sous la forme que prend une mise à jour du passeport. Envoyez un nombre accompagné de son unité. Un null supprime une valeur.
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
- 422no_changes
- 402no_subscription
- 404organization_not_found_or_not_granted
- 413payload_too_large
- 402payment_overdue
- 402plan_required
- 403proposal_requires_assistant
- 429rate_limited
- 404resource_not_found
- 415unsupported_media_type
- 422validation_failed
- 400wildcard_not_supported
- 409wrong_status
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/proposals" \
-X POST \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"fields": {
"recycled_content_percentage": 42
}
}'{
"object": "passport_proposal",
"id": "9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/proposals/9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63",
"passport_id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
"state": "pending",
"moved": [],
"fields": {
"recycled_content_percentage": 42
},
"review_url": "https://passportcraft.com/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/edit?proposal=9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63",
"requested_at": "2026-09-26T10:00:00.000Z",
"expires_at": "2026-10-03T10:00:00.000Z",
"decided_at": null,
"livemode": true
}POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/proposals
Lire une proposition.
/organizations/{organization}/proposals/{id}- 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/proposals/9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"{
"object": "passport_proposal",
"id": "9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/proposals/9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63",
"passport_id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
"state": "out_of_date",
"moved": [
"recycled_content_percentage"
],
"fields": {
"recycled_content_percentage": 42
},
"review_url": "https://passportcraft.com/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/edit?proposal=9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63",
"requested_at": "2026-09-26T10:00:00.000Z",
"expires_at": "2026-10-03T10:00:00.000Z",
"decided_at": null,
"livemode": true
}GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/proposals/9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63
Retirer une proposition en attente.
/organizations/{organization}/proposals/{id}/withdraw- 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.
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
- 403proposal_requires_assistant
- 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/proposals/9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63/withdraw" \
-X POST \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"{
"object": "passport_proposal",
"id": "9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/proposals/9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63",
"passport_id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
"state": "withdrawn",
"moved": [],
"fields": {
"recycled_content_percentage": 42
},
"review_url": "https://passportcraft.com/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/edit?proposal=9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63",
"requested_at": "2026-09-26T10:00:00.000Z",
"expires_at": "2026-10-03T10:00:00.000Z",
"decided_at": "2026-09-26T11:00:00.000Z",
"livemode": true
}POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/proposals/9e2c4a71-3f68-4d05-8a9b-7c1e5f0d2b63/withdraw