Recursos
Organizaciones
Todos los endpoints de Organizaciones, con el ámbito que imponen, el cuerpo que admiten, una respuesta legible y los rechazos que pueden devolver.
Listar las organizaciones por las que esta clave puede actuar.
get
/organizations- Ámbito
- No requiere ámbito
Idempotency-Key- No se acepta
- Devuelve
- 200
Errores
Todos los rechazos que este endpoint puede devolver, con el estado con el que llegan.
Solicitud
curl "https://passportcraft.com/api/v1/organizations" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"Respuesta · 200
{
"object": "list",
"data": [
{
"object": "connection",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"scopes": [
"passports:read",
"passports:write",
"units:read",
"units:write"
],
"granted_at": "2026-07-14T11:02:19.004Z"
}
],
"has_more": false,
"next_cursor": null
}GET /organizations
Describir qué puede hacer esta clave por esta organización.
get
/organizations/{organization}/capabilities- Ámbito
- passports:read
Idempotency-Key- No se acepta
- Devuelve
- 200
Parámetros de ruta
organizationstringObligatorioLa organización en cuyo nombre actúa esta solicitud. La clave debe tener concesión sobre ella.
Errores
Todos los rechazos que este endpoint puede devolver, con el estado con el que llegan.
Solicitud
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/capabilities" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"Respuesta · 200
{
"object": "list",
"data": [
{
"object": "capability",
"id": "passport_publishing",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/capabilities/passport_publishing",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"livemode": true,
"requested": true,
"allowed": true,
"verification_status": "valid",
"problems": [],
"detail": {
"plan_id": "pro",
"subscription_status": "active",
"publish_limit": 500,
"published_count": 37,
"per_passport_check": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/{id}/validate"
}
},
{
"object": "capability",
"id": "france_affichage_filing",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/capabilities/france_affichage_filing",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"livemode": true,
"requested": true,
"allowed": false,
"verification_status": "pending",
"problems": [
{
"code": "delegation_required",
"message": "The delegation is awaiting verification against the French portal.",
"type": "pending",
"remediating_actions": [
{
"code": "await_portal_verification",
"message": "No action is required. Poll this capability until verification completes."
}
]
}
],
"detail": {
"delegation_status": "pending",
"portal_brand_id": null,
"delegated_at": "2026-07-30T16:20:00.000Z",
"entitlement": "paid",
"free_filing_reason": "paid",
"per_passport_requirements": [
"gtin_required",
"attestation_required"
],
"attestation_wording_version": "2026-08-07.1",
"per_passport_check": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/{id}/affichage",
"api_filing_supported": true,
"api_filing_scope": "filings:write"
}
},
{
"object": "capability",
"id": "document_upload",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/capabilities/document_upload",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"livemode": true,
"requested": true,
"allowed": true,
"verification_status": "valid",
"problems": [],
"detail": {
"document_limit": 50,
"documents_used": 12
}
}
],
"has_more": false,
"next_cursor": null
}GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/capabilities