Recursos
Propuestas
Todos los endpoints de Propuestas, con el ámbito que imponen, el cuerpo que admiten, una respuesta legible y los rechazos que pueden devolver.
Proponer cambios a un pasaporte publicado.
/organizations/{organization}/passports/{id}/proposals- Ámbito
- passports:write
Idempotency-Key- Se acepta
- Devuelve
- 201
Parámetros de ruta
organizationcadenaObligatorioLa organización en cuyo nombre actúa esta solicitud. La clave debe tener concesión sobre ella.
idcadenaObligatorioEl identificador del recurso. Trátelo como una cadena opaca.
Cuerpo de la solicitud
fieldsobjetoObligatorioLos campos que se van a cambiar, con la forma que adopta una actualización del pasaporte. Envíe un número junto con su unidad. Un null elimina un valor.
Errores
Todos los rechazos que este endpoint puede devolver, con el estado con el que llegan.
- 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
Consultar una propuesta.
/organizations/{organization}/proposals/{id}- Ámbito
- passports:read
Idempotency-Key- No se acepta
- Devuelve
- 200
Parámetros de ruta
organizationcadenaObligatorioLa organización en cuyo nombre actúa esta solicitud. La clave debe tener concesión sobre ella.
idcadenaObligatorioEl identificador del recurso. Trátelo como una cadena opaca.
Errores
Todos los rechazos que este endpoint puede devolver, con el estado con el que llegan.
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
Retirar una propuesta pendiente.
/organizations/{organization}/proposals/{id}/withdraw- Ámbito
- passports:write
Idempotency-Key- Se acepta
- Devuelve
- 200
Parámetros de ruta
organizationcadenaObligatorioLa organización en cuyo nombre actúa esta solicitud. La clave debe tener concesión sobre ella.
idcadenaObligatorioEl identificador del recurso. Trátelo como una cadena opaca.
Errores
Todos los rechazos que este endpoint puede devolver, con el estado con el que llegan.
- 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