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.
Alle documenten in de documentenbibliotheek van de werkruimte weergeven.
/organizations/{organization}/documents- Scope
- documents:read
Idempotency-Key- Wordt niet geaccepteerd
- Levert
- 200
Padparameters
organizationtekenreeksVerplichtDe organisatie waarvoor dit verzoek handelt. De sleutel moet daarvoor zijn vrijgegeven.
Queryparameters
limittekenreeksOptioneelHoeveel records worden teruggegeven. De server mag er minder teruggeven.
cursortekenreeksOptioneelDe next_cursor van de vorige pagina. Een cursor codeert de filters waaronder hij is uitgegeven; meesturen met andere filters wordt geweigerd met cursor_invalid.
typetekenreeksOptioneelGeeft alleen documenten van dit type terug.
access_tiertekenreeksOptioneelGeeft 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/documents?type=conformity_declaration" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"{
"object": "list",
"data": [
{
"object": "document",
"id": "a3b8c2d1-5e64-4f79-8a0b-1c2d3e4f5a6b",
"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"
}
],
"has_more": false,
"next_cursor": null
}GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/documents?type=conformity_declaration
De documenten bij een paspoort opsommen.
/organizations/{organization}/passports/{id}/documents- Scope
- documents:read
Idempotency-Key- Wordt niet geaccepteerd
- Levert
- 200
Padparameters
organizationtekenreeksVerplichtDe organisatie waarvoor dit verzoek handelt. De sleutel moet daarvoor zijn vrijgegeven.
idtekenreeksVerplichtDe identificatie van de bron. Behandel die als een ondoorzichtige tekenreeks.
Queryparameters
limittekenreeksOptioneelHoeveel records worden teruggegeven. De server mag er minder teruggeven.
cursortekenreeksOptioneelDe next_cursor van de vorige pagina. Een cursor codeert de filters waaronder hij is uitgegeven; meesturen met andere filters wordt geweigerd met cursor_invalid.
typetekenreeksOptioneelGeeft alleen documenten van dit type terug.
access_tiertekenreeksOptioneelGeeft 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
organizationtekenreeksVerplichtDe organisatie waarvoor dit verzoek handelt. De sleutel moet daarvoor zijn vrijgegeven.
idtekenreeksVerplichtDe 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_idtekenreeksVerplichtKoppelt 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
typetekenreeksVerplichtVerplicht bij uploaden; moet ontbreken zodra document_id is gezet. Een van certification, image, document, conformity_declaration. Een image die met access_tier: public wordt geüpload, wordt als productfoto op de gepubliceerde paspoortpagina getoond; meerdere afbeeldingen vormen een galerij. Deze API kan niet bepalen welke daarvan de hoofdfoto is — een persoon stelt dat in de paspoorteditor in, bij de productfoto's. Geen enkel categorieschema bevat een afbeeldingsveld, dus uploaden is de enige manier om een paspoort een foto te geven.
access_tiertekenreeksVerplichtVerplicht 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_nametekenreeksVerplichtVerplicht bij uploaden; moet ontbreken zodra document_id is gezet. De bestandsnaam waaronder het bestand wordt opgeslagen.
mime_typetekenreeksVerplichtVerplicht 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_sizegeheel getalOptioneelGrootte in bytes, maximaal 10485760.
display_nametekenreeksOptioneelHet 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
- 402plan_required
- 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