İçeriğe geçin

Kaynaklar

Belgeler

Her Belgeler uç noktası; dayattığı kapsam, kabul ettiği gövde, okunabilir bir yanıt ve döndürebileceği ret yanıtlarıyla birlikte.

Çalışma alanının belge kitaplığındaki tüm belgeleri listeler.

get/organizations/{organization}/documents
Kapsam
documents:read
Idempotency-Key
Kabul edilmez
Döndürür
200

Yol parametreleri

organizationdizgeZorunlu

Bu isteğin adına işlem yaptığı kuruluş. Anahtarın bu kuruluş için yetkisi olmalıdır.

Sorgu parametreleri

limitdizgeİsteğe bağlı

Kaç kayıt döndürüleceği. Sunucu daha azını döndürebilir.

cursordizgeİsteğe bağlı

Önceki sayfadan gelen next_cursor değeri. Bir imleç, verildiği filtreleri kodlar; farklı filtrelerle gönderilmesi cursor_invalid ile reddedilir.

typedizgeİsteğe bağlı

Yalnızca bu türdeki belgeleri döndürür.

access_tierdizgeİsteğe bağlı

Yalnızca bu erişim düzeyiyle yayımlanmış belgeleri döndürür.

Hatalar

Bu uç noktanın döndürebileceği tüm ret yanıtları, geldikleri durum koduyla birlikte.

İstek
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/documents?type=conformity_declaration" \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"
Yanıt · 200
{
  "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

Bir pasaporta bağlı belgeleri listeler.

get/organizations/{organization}/passports/{id}/documents
Kapsam
documents:read
Idempotency-Key
Kabul edilmez
Döndürür
200

Yol parametreleri

organizationdizgeZorunlu

Bu isteğin adına işlem yaptığı kuruluş. Anahtarın bu kuruluş için yetkisi olmalıdır.

iddizgeZorunlu

Kaynağın tanımlayıcısı. Bunu içeriği okunmayan bir dizge olarak değerlendirin.

Sorgu parametreleri

limitdizgeİsteğe bağlı

Kaç kayıt döndürüleceği. Sunucu daha azını döndürebilir.

cursordizgeİsteğe bağlı

Önceki sayfadan gelen next_cursor değeri. Bir imleç, verildiği filtreleri kodlar; farklı filtrelerle gönderilmesi cursor_invalid ile reddedilir.

typedizgeİsteğe bağlı

Yalnızca bu türdeki belgeleri döndürür.

access_tierdizgeİsteğe bağlı

Yalnızca bu erişim düzeyiyle yayımlanmış belgeleri döndürür.

Hatalar

Bu uç noktanın döndürebileceği tüm ret yanıtları, geldikleri durum koduyla birlikte.

İstek
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"
Yanıt · 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

Bir belge oluşturur ve imzalı yükleme URL’si verir.

post/organizations/{organization}/passports/{id}/documents
Kapsam
documents:write
Idempotency-Key
Kabul edilir
Döndürür
201

Yol parametreleri

organizationdizgeZorunlu

Bu isteğin adına işlem yaptığı kuruluş. Anahtarın bu kuruluş için yetkisi olmalıdır.

iddizgeZorunlu

Kaynağın tanımlayıcısı. Bunu içeriği okunmayan bir dizge olarak değerlendirin.

İstek gövdesi

Bu uç nokta iki gövdeden birini kabul eder. Yalnızca tek bir biçim gönderin; her ikisinden de alan içeren bir gövde reddedilir.

Kitaplıkta halihazırda bulunan bir belgeyi bağlama

document_iddizgeZorunlu

Yükleme yapmak yerine, kuruluşun belge kitaplığında zaten bulunan bir belgeyi bağlar. Yükleme alanlarının hiçbiriyle birlikte kullanılamaz. Henüz eklenmemiş bir belgenin bağlanması 201, zaten ekli olan bir belgenin yeniden bağlanması 200 yanıtı verir. İkisi de bir upload nesnesi taşımaz.

Yeni bir dosya yükleme

typedizgeZorunlu

Yükleme yapılırken zorunludur; document_id verildiğinde bulunmamalıdır. Şunlardan biri: certification, image, document, conformity_declaration. access_tier: public ile yüklenen bir image, yayımlanmış pasaport sayfasında ürün fotoğrafı olarak gösterilir; birden fazlası galeri oluşturur. Bu API hangisinin birincil fotoğraf olduğunu seçemez — bunu bir kişi pasaport düzenleyicisinde, ürün fotoğrafları bölümünde belirler. Hiçbir kategori şeması görsel alanı tanımlamaz, dolayısıyla pasaporta fotoğraf eklemenin tek yolu yüklemektir.

access_tierdizgeZorunlu

Yükleme yapılırken zorunludur; document_id verildiğinde bulunmamalıdır. Şunlardan biri: public, restricted, authority. Pasaport yayına alındığında dosyayı kimin okuyabileceğini bu belirler.

file_namedizgeZorunlu

Yükleme yapılırken zorunludur; document_id verildiğinde bulunmamalıdır. Dosyanın saklanacağı ad.

mime_typedizgeZorunlu

Yükleme yapılırken zorunludur; document_id verildiğinde bulunmamalıdır. Şunlardan biri: application/pdf, image/png, image/jpeg, image/webp. Depolama katmanına olduğu gibi iletilir ve uyuşmayan bir değer orada reddedilir.

file_sizetam sayıİsteğe bağlı

Bayt cinsinden boyut, en fazla 10485760.

display_namedizgeİsteğe bağlı

Okuyucunun gördüğü etiket. Belirtilmezse file_name kullanılır.

Hatalar

Bu uç noktanın döndürebileceği tüm ret yanıtları, geldikleri durum koduyla birlikte.

İstek
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"
}'
Yanıt · 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