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.

get/organizations/{organization}/passports/{id}/documents
Scope
documents:read
Idempotency-Key
Wordt niet geaccepteerd
Levert
200

Padparameters

organizationstringVerplicht

De organisatie waarvoor dit verzoek handelt. De sleutel moet daarvoor zijn vrijgegeven.

idstringVerplicht

De identificatie van de bron. Behandel die als een ondoorzichtige tekenreeks.

Queryparameters

limitstringOptioneel

Hoeveel records worden teruggegeven. De server mag er minder teruggeven.

cursorstringOptioneel

De next_cursor van de vorige pagina. Een cursor codeert de filters waaronder hij is uitgegeven; meesturen met andere filters wordt geweigerd met cursor_invalid.

typestringOptioneel

Geeft alleen documenten van dit type terug.

access_tierstringOptioneel

Geeft alleen documenten terug die voor dit publiek zijn gepubliceerd.

Fouten

Elke weigering die dit endpoint kan teruggeven, met de status waarmee die binnenkomt.

Verzoek
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"
Antwoord · 200
{
  "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.

post/organizations/{organization}/passports/{id}/documents
Scope
documents:write
Idempotency-Key
Wordt geaccepteerd
Levert
201

Padparameters

organizationstringVerplicht

De organisatie waarvoor dit verzoek handelt. De sleutel moet daarvoor zijn vrijgegeven.

idstringVerplicht

De 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_idstringVerplicht

Koppelt 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

typestringVerplicht

Verplicht bij uploaden; moet ontbreken zodra document_id is gezet. Een van certification, image, document, conformity_declaration.

access_tierstringVerplicht

Verplicht 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_namestringVerplicht

Verplicht bij uploaden; moet ontbreken zodra document_id is gezet. De bestandsnaam waaronder het bestand wordt opgeslagen.

mime_typestringVerplicht

Verplicht 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_sizeintegerOptioneel

Grootte in bytes, maximaal 10485760.

display_namestringOptioneel

Het 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.

Verzoek
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"
}'
Antwoord · 201
{
  "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

Documenten — referentie van de PassportCraft-API | PassportCraft