Kaynaklar
Kuruluşlar
Her Kuruluşlar uç noktası; dayattığı kapsam, kabul ettiği gövde, okunabilir bir yanıt ve döndürebileceği ret yanıtlarıyla birlikte.
Bu anahtarın adına işlem yapabileceği kuruluşları listeler.
/organizations- Kapsam
- Kapsam gerekmez
Idempotency-Key- Kabul edilmez
- Döndürür
- 200
Hatalar
Bu uç noktanın döndürebileceği tüm ret yanıtları, geldikleri durum koduyla birlikte.
curl "https://passportcraft.com/api/v1/organizations" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"{
"object": "list",
"data": [
{
"object": "connection",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"display_name": "Atelier Nord",
"link_status": null,
"scopes": [
"passports:read",
"passports:write",
"keys:admin"
],
"granted_at": "2026-07-14T11:02:19.004Z"
},
{
"object": "connection",
"organization_id": "3c59dc04-8f7b-4d0e-9c1a-5f2b6e7d8a90",
"name": "organizations/3c59dc04-8f7b-4d0e-9c1a-5f2b6e7d8a90",
"display_name": "Acme Apparel",
"link_status": "accepted",
"scopes": [
"passports:read",
"passports:write"
],
"granted_at": "2026-09-22T08:15:00.000Z"
}
],
"has_more": false,
"next_cursor": null
}GET /organizations
Bir anahtara bir müşteri kuruluşuna erişim verir.
/organizations/{organization}/grants- Kapsam
- keys:admin
Idempotency-Key- Kabul edilmez
- Döndürür
- 201
Yol parametreleri
organizationdizgeZorunluMüşteri kuruluşu. Çağrıyı yapan anahtarın kendi kuruluşunda keys:admin kapsamına sahip olması ve o kuruluşun bu müşteriyi yönetmesi gerekir; anahtarın burada bir yetkiye ihtiyacı yoktur.
İstek gövdesi
key_iddizgeZorunluKuruluşunuza ait ve çağrıyı yapan anahtarla aynı modda olan bir anahtarın, GET /whoami yanıtında key_id alanında bildirilen herkese açık kimliği.
scopesdize dizisiZorunluAnahtarın bu kuruluşta neler yapabileceği. Her kapsama, anahtarın kendi kuruluşundaki kendi kapsamlarınca izin verilmiş olmalıdır (bir yazma kapsamı, ilgili okuma kapsamına da izin verir); keys:admin bir müşteri için hiçbir zaman verilmez.
Hatalar
Bu uç noktanın döndürebileceği tüm ret yanıtları, geldikleri durum koduyla birlikte.
- 500configuration_error
- 403france_mandate_required
- 409grant_conflict
- 403grantor_not_seated
- 403insufficient_scope
- 500internal_error
- 401invalid_key
- 400invalid_request
- 401key_expired
- 409key_not_grantable
- 401key_revoked
- 401key_rotated
- 400mode_mismatch
- 404organization_not_found_or_not_granted
- 413payload_too_large
- 429rate_limited
- 404resource_not_found
- 422scope_exceeds_key
- 415unsupported_media_type
- 422validation_failed
- 400wildcard_not_supported
curl "https://passportcraft.com/api/v1/organizations/3c59dc04-8f7b-4d0e-9c1a-5f2b6e7d8a90/grants" \
-X POST \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"key_id": "K3n9Qw2P",
"scopes": [
"passports:read",
"passports:write"
]
}'{
"object": "grant",
"organization_id": "3c59dc04-8f7b-4d0e-9c1a-5f2b6e7d8a90",
"key_id": "K3n9Qw2P",
"scopes": [
"passports:read",
"passports:write"
],
"granted_at": "2026-09-22T08:15:00.000Z"
}POST /organizations/3c59dc04-8f7b-4d0e-9c1a-5f2b6e7d8a90/grants
Bir anahtarın tek bir müşteri kuruluşuna erişimini sonlandırır.
/organizations/{organization}/grants/{keyId}- Kapsam
- keys:admin
Idempotency-Key- Kabul edilmez
- Döndürür
- 200
Yol parametreleri
organizationdizgeZorunluMüşteri kuruluşu. Çağrıyı yapan anahtarın kendi kuruluşunda keys:admin kapsamına sahip olması ve o kuruluşun bu müşteriyi yönetmesi gerekir; anahtarın burada bir yetkiye ihtiyacı yoktur.
keyIddizgeZorunluKaynağın tanımlayıcısı. Bunu içeriği okunmayan bir dizge olarak değerlendirin.
Hatalar
Bu uç noktanın döndürebileceği tüm ret yanıtları, geldikleri durum koduyla birlikte.
curl "https://passportcraft.com/api/v1/organizations/3c59dc04-8f7b-4d0e-9c1a-5f2b6e7d8a90/grants/K3n9Qw2P" \
-X DELETE \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"{
"object": "grant",
"organization_id": "3c59dc04-8f7b-4d0e-9c1a-5f2b6e7d8a90",
"key_id": "K3n9Qw2P",
"status": "revoked"
}DELETE /organizations/3c59dc04-8f7b-4d0e-9c1a-5f2b6e7d8a90/grants/K3n9Qw2P
Bu anahtarın bu kuruluş için neler yapabileceğini tanımlar.
/organizations/{organization}/capabilities- Kapsam
- passports:read
Idempotency-Key- Kabul edilmez
- Döndürür
- 200
Yol parametreleri
organizationdizgeZorunluBu isteğin adına işlem yaptığı kuruluş. Anahtarın bu kuruluş için yetkisi olmalıdır.
Hatalar
Bu uç noktanın döndürebileceği tüm ret yanıtları, geldikleri durum koduyla birlikte.
curl "https://passportcraft.com/api/v1/organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/capabilities" \
-H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"{
"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": "trialing",
"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": "free_offer",
"free_filing_reason": "available",
"per_passport_requirements": [
"gtin_required",
"attestation_required"
],
"attestation_wording_version": "2026-09-19.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
}
},
{
"object": "capability",
"id": "live_api_writes",
"name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/capabilities/live_api_writes",
"organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
"livemode": true,
"requested": true,
"allowed": false,
"verification_status": "invalid",
"problems": [
{
"code": "no_subscription",
"message": "Live API writes start when the trial becomes a paid subscription.",
"type": "invalid",
"remediating_actions": [
{
"code": "add_subscription",
"message": "Convert the trial to a paid subscription."
}
]
}
],
"detail": {
"subscription_status": "trialing",
"plan_id": "pro"
}
}
],
"has_more": false,
"next_cursor": null
}GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/capabilities