Risorse
Proposte
Tutti gli endpoint Proposte, con l'ambito che impongono, il corpo che accettano, una risposta leggibile e i rifiuti che possono restituire.
Proporre modifiche a un passaporto pubblicato.
/organizations/{organization}/passports/{id}/proposals- Ambito
- passports:write
Idempotency-Key- Accettata
- Restituisce
- 201
Parametri di percorso
organizationstringaObbligatorioL'organizzazione per cui questa richiesta agisce. La chiave deve avere una concessione su di essa.
idstringaObbligatorioL'identificativo della risorsa. Lo tratti come una stringa opaca.
Corpo della richiesta
fieldsoggettoObbligatorioI campi da modificare, nella forma che assume un aggiornamento del passaporto. Invii un numero insieme alla sua unità. Un null rimuove un valore.
Errori
Tutti i rifiuti che questo endpoint può restituire, con lo stato con cui arrivano.
- 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
Leggere una proposta.
/organizations/{organization}/proposals/{id}- Ambito
- passports:read
Idempotency-Key- Non accettata
- Restituisce
- 200
Parametri di percorso
organizationstringaObbligatorioL'organizzazione per cui questa richiesta agisce. La chiave deve avere una concessione su di essa.
idstringaObbligatorioL'identificativo della risorsa. Lo tratti come una stringa opaca.
Errori
Tutti i rifiuti che questo endpoint può restituire, con lo stato con cui arrivano.
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
Ritirare una proposta in attesa.
/organizations/{organization}/proposals/{id}/withdraw- Ambito
- passports:write
Idempotency-Key- Accettata
- Restituisce
- 200
Parametri di percorso
organizationstringaObbligatorioL'organizzazione per cui questa richiesta agisce. La chiave deve avere una concessione su di essa.
idstringaObbligatorioL'identificativo della risorsa. Lo tratti come una stringa opaca.
Errori
Tutti i rifiuti che questo endpoint può restituire, con lo stato con cui arrivano.
- 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