Bronnen
Documenten
Elk Documenten-endpoint, met de scope die het afdwingt, het lichaam dat het aanneemt, een leesbaar antwoord en de weigeringen die het kan teruggeven.
De documenten bij een paspoort opsommen.
/organizations/{organization}/passports/{id}/documents- Scope
- documents:read
Idempotency-Key- Wordt niet geaccepteerd
- Levert
- 200
Padparameters
organizationstringVerplichtDe organisatie waarvoor dit verzoek handelt. De sleutel moet daarvoor zijn vrijgegeven.
idstringVerplichtDe identificatie van de bron. Behandel die als een ondoorzichtige tekenreeks.
Queryparameters
limitstringOptioneelHoeveel records worden teruggegeven. De server mag er minder teruggeven.
cursorstringOptioneelDe next_cursor van de vorige pagina. Een cursor codeert de filters waaronder hij is uitgegeven; meesturen met andere filters wordt geweigerd met cursor_invalid.
typestringOptioneelGeeft alleen documenten van dit type terug.
access_tierstringOptioneelGeeft alleen documenten terug die voor dit publiek zijn gepubliceerd.
Fouten
Elke weigering die dit endpoint kan teruggeven, met de status waarmee die binnenkomt.
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/documents?access_tier=public" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"{
"object": "list",
"data": [
{
"object": "document",
"id": "a3b8c2d1-5e64-4f79-8a0b-1c2d3e4f5a6b",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/documents/a3b8c2d1-5e64-4f79-8a0b-1c2d3e4f5a6b",
"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",
"type": "conformity_declaration",
"access_tier": "public",
"file_name": "doc-2026-kestrel.pdf",
"display_name": "EU Declaration of Conformity",
"mime_type": "application/pdf",
"file_size": 184320,
"upload_state": "ready",
"uploaded_at": "2026-07-29T15:44:02.008Z",
"livemode": true,
"created_at": "2026-07-29T15:43:51.660Z",
"linked_at": "2026-07-29T15:43:51.660Z"
}
],
"has_more": false,
"next_cursor": null
}GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/documents?access_tier=public
Een document aanmaken en een ondertekende upload-URL krijgen.
/organizations/{organization}/passports/{id}/documents- Scope
- documents:write
Idempotency-Key- Wordt geaccepteerd
- Levert
- 201
Padparameters
organizationstringVerplichtDe organisatie waarvoor dit verzoek handelt. De sleutel moet daarvoor zijn vrijgegeven.
idstringVerplichtDe identificatie van de bron. Behandel die als een ondoorzichtige tekenreeks.
Verzoeklichaam
Dit endpoint accepteert een van twee verzoeklichamen. Stuur precies één vorm — een verzoeklichaam met velden uit beide wordt geweigerd.
Een document koppelen dat al in de bibliotheek staat
document_idstringVerplichtKoppelt een document dat al in de documentbibliotheek van de organisatie staat, in plaats van te uploaden. Kan niet worden gecombineerd met een van de uploadvelden. Een document koppelen dat nog niet gekoppeld was, levert 201 op; een al gekoppeld document opnieuw koppelen levert 200 op. Geen van beide draagt een upload-object.
Een nieuw bestand uploaden
typestringVerplichtVerplicht bij uploaden; moet ontbreken zodra document_id is gezet. Een van certification, image, document, conformity_declaration.
access_tierstringVerplichtVerplicht bij uploaden; moet ontbreken zodra document_id is gezet. Een van public, restricted, authority. Bepaalt wie het bestand mag lezen zodra het paspoort online staat.
file_namestringVerplichtVerplicht bij uploaden; moet ontbreken zodra document_id is gezet. De bestandsnaam waaronder het bestand wordt opgeslagen.
mime_typestringVerplichtVerplicht bij uploaden; moet ontbreken zodra document_id is gezet. Een van application/pdf, image/png, image/jpeg, image/webp. Wordt letterlijk doorgegeven aan de opslag, die een afwijking weigert.
file_sizeintegerOptioneelGrootte in bytes, maximaal 10485760.
display_namestringOptioneelHet label dat een lezer te zien krijgt. Zonder waarde wordt file_name gebruikt.
Fouten
Elke weigering die dit endpoint kan teruggeven, met de status waarmee die binnenkomt.
- 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
- 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/documents" \
-X POST \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"type": "conformity_declaration",
"access_tier": "public",
"file_name": "doc-2026-kestrel.pdf",
"mime_type": "application/pdf",
"file_size": 184320,
"display_name": "EU Declaration of Conformity"
}'{
"object": "document",
"id": "a3b8c2d1-5e64-4f79-8a0b-1c2d3e4f5a6b",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/documents/a3b8c2d1-5e64-4f79-8a0b-1c2d3e4f5a6b",
"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",
"type": "conformity_declaration",
"access_tier": "public",
"file_name": "doc-2026-kestrel.pdf",
"display_name": "EU Declaration of Conformity",
"mime_type": "application/pdf",
"file_size": 184320,
"upload_state": "pending",
"uploaded_at": null,
"livemode": true,
"created_at": "2026-08-02T09:40:12.331Z",
"linked_at": "2026-08-02T09:40:12.331Z",
"upload": {
"url": "https://<project>.supabase.co/storage/v1/object/upload/sign/passport-assets/<organization>/library/<uuid>-doc-2026-kestrel.pdf?token=<jwt>",
"method": "PUT",
"headers": {
"Content-Type": "application/pdf"
},
"expires_at": "2026-08-02T11:40:12.331Z",
"max_bytes": 10485760
}
}POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/documents