Naar de inhoud

Bronnen

Paspoorten

Elk Paspoorten-endpoint, met de scope die het afdwingt, het lichaam dat het aanneemt, een leesbaar antwoord en de weigeringen die het kan teruggeven.

Paspoorten opsommen.

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

Padparameters

organizationtekenreeksVerplicht

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

Queryparameters

limittekenreeksOptioneel

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

cursortekenreeksOptioneel

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.

statustekenreeksOptioneel

Geeft alleen paspoorten met deze status terug.

categorytekenreeksOptioneel

Geeft alleen paspoorten in deze categorie terug.

updated_sincetekenreeksOptioneel

Een RFC 3339-tijdstempel. Geeft de paspoorten terug die op of na dat moment zijn gewijzigd — zo vraagt een koppeling wijzigingen op zonder de hele catalogus opnieuw uit te lezen.

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?status=published&limit=25" \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"
Antwoord · 200
{
  "object": "list",
  "data": [
    {
      "object": "passport",
      "id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
      "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
      "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
      "category": "textile",
      "status": "published",
      "gtin": "02000000000053",
      "external_id": "SKU-4471-BLK",
      "version": 4,
      "livemode": true,
      "created_at": "2026-08-01T09:12:44.918Z",
      "updated_at": "2026-08-01T14:03:22.501Z",
      "data": {
        "product_name": "Merino Crew Neck",
        "product_description": "Mid-weight knitted crew neck in 100% merino wool.",
        "manufacturer_name": "Atelier Kestrel SAS",
        "manufacturer_address": "14 rue des Tanneurs, 59100 Roubaix",
        "manufacturer_country": "FR",
        "material_composition": [
          {
            "fiber": "Merino wool",
            "percentage": 100
          }
        ],
        "substances_of_concern": [
          "None above threshold"
        ],
        "gtin": "02000000000053"
      }
    }
  ],
  "has_more": false,
  "next_cursor": null
}

GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports?status=published&limit=25

Een paspoort aanmaken.

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

Padparameters

organizationtekenreeksVerplicht

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

Verzoeklichaam

categorytekenreeksVerplicht

Een categorie-id uit GET /categories. Die legt het veldschema vast en kan achteraf niet meer worden gewijzigd.

external_idtekenreeksOptioneel

Uw eigen identificatie voor dit product, 1 tot 255 tekens. Uniek binnen de organisatie én de modus — daarmee stemt u af zonder onze ids te bewaren; dezelfde id kan dus één keer in test en één keer in live bestaan.

dataobjectOptioneel

Het paspoortdocument. De sleutels zijn veldnamen uit het schema van de categorie, aangevuld met de document_id_key van elk veld dat een document kan bevatten; al het overige wordt geweigerd in plaats van stilzwijgend opgeslagen.

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" \
  -X POST \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "category": "textile",
  "external_id": "SKU-4471-BLK",
  "data": {
    "product_name": "Merino Crew Neck",
    "product_description": "Mid-weight knitted crew neck in 100% merino wool.",
    "manufacturer_name": "Atelier Kestrel SAS",
    "manufacturer_address": "14 rue des Tanneurs, 59100 Roubaix",
    "manufacturer_country": "FR"
  }
}'
Antwoord · 201
{
  "object": "passport",
  "id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "category": "textile",
  "status": "draft",
  "gtin": null,
  "serial_number": null,
  "external_id": "SKU-4471-BLK",
  "version": 1,
  "livemode": true,
  "registry_id": null,
  "created_at": "2026-08-01T09:12:44.918Z",
  "updated_at": "2026-08-01T09:12:44.918Z",
  "published_at": null,
  "trashed_at": null,
  "data": {
    "product_name": "Merino Crew Neck",
    "product_description": "Mid-weight knitted crew neck in 100% merino wool.",
    "manufacturer_name": "Atelier Kestrel SAS",
    "manufacturer_address": "14 rue des Tanneurs, 59100 Roubaix",
    "manufacturer_country": "FR",
    "material_composition": [
      {
        "fiber": "Merino wool",
        "percentage": 100
      }
    ],
    "substances_of_concern": [
      "None above threshold"
    ]
  }
}

POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports

Eén paspoort ophalen.

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

Padparameters

organizationtekenreeksVerplicht

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

idtekenreeksVerplicht

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

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" \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"
Antwoord · 200
{
  "object": "passport",
  "id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "category": "textile",
  "status": "published",
  "gtin": "02000000000053",
  "serial_number": null,
  "external_id": "SKU-4471-BLK",
  "version": 4,
  "livemode": true,
  "registry_id": null,
  "created_at": "2026-08-01T09:12:44.918Z",
  "updated_at": "2026-08-01T14:03:22.501Z",
  "published_at": "2026-08-01T14:03:22.501Z",
  "trashed_at": null,
  "data": {
    "product_name": "Merino Crew Neck",
    "product_description": "Mid-weight knitted crew neck in 100% merino wool.",
    "manufacturer_name": "Atelier Kestrel SAS",
    "manufacturer_address": "14 rue des Tanneurs, 59100 Roubaix",
    "manufacturer_country": "FR",
    "material_composition": [
      {
        "fiber": "Merino wool",
        "percentage": 100
      }
    ],
    "substances_of_concern": [
      "None above threshold"
    ],
    "gtin": "02000000000053"
  }
}

GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41

Een JSON Merge Patch op een paspoort toepassen.

patch/organizations/{organization}/passports/{id}
Scope
passports:write
Idempotency-Key
Wordt geaccepteerd
Levert
200

Padparameters

organizationtekenreeksVerplicht

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

idtekenreeksVerplicht

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

Verzoekheaders

Expected-Versiongeheel getalOptioneel

De version van het paspoort dat u heeft gelezen, als geheel getal. Is het paspoort intussen gewijzigd, dan wordt de schrijfactie geweigerd met precondition_failed — de enige manier om lezen, wijzigen en schrijven veilig te maken tegenover een gelijktijdige bewerker. Gebruik deze header in plaats van If-Match. Probeer een geweigerde schrijfactie opnieuw met een NIEUWE Idempotency-Key: de weigering is onder de oude vastgelegd en zou opnieuw worden teruggegeven.

If-MatchtekenreeksOptioneel

GEWEIGERD met invalid_request tenzij hij exact * is — dus ook zodra hij een ETag bevat. Ons CDN vergelijkt If-Match met het ANTWOORD en herschrijft de uitkomst: een voorwaardelijke schrijfactie zou dus worden uitgevoerd en u toch als 412 worden gemeld — de weigering voorkomt precies dat. Stuur de versie als Expected-Version. If-Match: *, dat alleen vraagt of het paspoort nog bestaat, wordt wel geaccepteerd.

Verzoeklichaam

dataobjectOptioneel

Een JSON Merge Patch volgens RFC 7386 die op het paspoortdocument wordt toegepast. Laat een sleutel weg om hem ongemoeid te laten; stuur null om hem te verwijderen. Lijsten worden in hun geheel vervangen, nooit samengevoegd.

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" \
  -X PATCH \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "data": {
    "recycled_content_percentage": 38,
    "recycling_instructions": "Return to any Atelier Kestrel store for fibre recovery."
  }
}'
Antwoord · 200
{
  "object": "passport",
  "id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "category": "textile",
  "status": "draft",
  "gtin": null,
  "serial_number": null,
  "external_id": "SKU-4471-BLK",
  "version": 2,
  "livemode": true,
  "registry_id": null,
  "created_at": "2026-08-01T09:12:44.918Z",
  "updated_at": "2026-08-01T10:44:12.700Z",
  "published_at": null,
  "trashed_at": null,
  "data": {
    "product_name": "Merino Crew Neck",
    "product_description": "Mid-weight knitted crew neck in 100% merino wool.",
    "manufacturer_name": "Atelier Kestrel SAS",
    "manufacturer_address": "14 rue des Tanneurs, 59100 Roubaix",
    "manufacturer_country": "FR",
    "material_composition": [
      {
        "fiber": "Merino wool",
        "percentage": 100
      }
    ],
    "substances_of_concern": [
      "None above threshold"
    ],
    "recycled_content_percentage": 38,
    "recycling_instructions": "Return to any Atelier Kestrel store for fibre recovery."
  }
}

PATCH /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41

Een paspoort publiceren.

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

Padparameters

organizationtekenreeksVerplicht

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

idtekenreeksVerplicht

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

Verzoeklichaam

variant_review_fingerprinttekenreeksOptioneel

Verplicht wanneer het paspoort maten en kleuren bevat die een assistent heeft ingevoerd: de vingerafdruk uit GET …/variants/review, verstuurd nadat een persoon die regels heeft gecontroleerd. Zonder deze wordt de publicatie geweigerd met variant_review_required; zijn de maten en kleuren na die controle gewijzigd, dan met variant_review_changed. Verstuur hem met een nieuwe idempotentiesleutel. Een hexadecimale tekenreeks van 64 tekens.

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/publish" \
  -X POST \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
Antwoord · 200
{
  "object": "passport",
  "id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "category": "textile",
  "status": "published",
  "gtin": "02000000000053",
  "serial_number": null,
  "external_id": "SKU-4471-BLK",
  "version": 4,
  "livemode": true,
  "registry_id": null,
  "created_at": "2026-08-01T09:12:44.918Z",
  "updated_at": "2026-08-01T14:03:22.501Z",
  "published_at": "2026-08-01T14:03:22.501Z",
  "trashed_at": null,
  "data": {
    "product_name": "Merino Crew Neck",
    "product_description": "Mid-weight knitted crew neck in 100% merino wool.",
    "manufacturer_name": "Atelier Kestrel SAS",
    "manufacturer_address": "14 rue des Tanneurs, 59100 Roubaix",
    "manufacturer_country": "FR",
    "material_composition": [
      {
        "fiber": "Merino wool",
        "percentage": 100
      }
    ],
    "substances_of_concern": [
      "None above threshold"
    ],
    "gtin": "02000000000053"
  },
  "warnings": [
    {
      "code": "environmental_claim_detected",
      "message": "This passport contains environmental claims (carbon neutral), found in its wording or in fields the brand marked as environmental information. From 27 September 2026, Directive (EU) 2024/825 requires the trader placing the product on the market to hold substantiation for such claims. Publishing succeeded; confirm the substantiation exists.",
      "doc_url": "https://passportcraft.com/docs/api/errors#environmental_claim_detected"
    }
  ]
}

POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/publish

Een paspoort terugtrekken.

Ingrijpend
post/organizations/{organization}/passports/{id}/unpublish
Scope
passports:write
Idempotency-Key
Wordt geaccepteerd
Levert
200

Padparameters

organizationtekenreeksVerplicht

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

idtekenreeksVerplicht

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

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/unpublish" \
  -X POST \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
Antwoord · 200
{
  "object": "passport",
  "id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "category": "textile",
  "status": "draft",
  "gtin": "02000000000053",
  "serial_number": null,
  "external_id": "SKU-4471-BLK",
  "version": 5,
  "livemode": true,
  "registry_id": null,
  "created_at": "2026-08-01T09:12:44.918Z",
  "updated_at": "2026-08-02T08:15:09.113Z",
  "published_at": null,
  "trashed_at": null,
  "data": {
    "product_name": "Merino Crew Neck",
    "product_description": "Mid-weight knitted crew neck in 100% merino wool.",
    "manufacturer_name": "Atelier Kestrel SAS",
    "manufacturer_address": "14 rue des Tanneurs, 59100 Roubaix",
    "manufacturer_country": "FR",
    "material_composition": [
      {
        "fiber": "Merino wool",
        "percentage": 100
      }
    ],
    "substances_of_concern": [
      "None above threshold"
    ],
    "gtin": "02000000000053"
  }
}

POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/unpublish

Een paspoort naar de prullenbak verplaatsen.

Ingrijpend
post/organizations/{organization}/passports/{id}/trash
Scope
passports:write
Idempotency-Key
Wordt geaccepteerd
Levert
200

Padparameters

organizationtekenreeksVerplicht

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

idtekenreeksVerplicht

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

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/trash" \
  -X POST \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
Antwoord · 200
{
  "object": "passport",
  "id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "category": "textile",
  "status": "trashed",
  "gtin": "02000000000053",
  "serial_number": null,
  "external_id": "SKU-4471-BLK",
  "version": 6,
  "livemode": true,
  "registry_id": null,
  "created_at": "2026-08-01T09:12:44.918Z",
  "updated_at": "2026-08-02T08:19:44.002Z",
  "published_at": null,
  "trashed_at": "2026-08-02T08:19:44.002Z",
  "data": {
    "product_name": "Merino Crew Neck",
    "product_description": "Mid-weight knitted crew neck in 100% merino wool.",
    "manufacturer_name": "Atelier Kestrel SAS",
    "manufacturer_address": "14 rue des Tanneurs, 59100 Roubaix",
    "manufacturer_country": "FR",
    "material_composition": [
      {
        "fiber": "Merino wool",
        "percentage": 100
      }
    ],
    "substances_of_concern": [
      "None above threshold"
    ],
    "gtin": "02000000000053"
  }
}

POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/trash

Een paspoort uit de prullenbak herstellen.

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

Padparameters

organizationtekenreeksVerplicht

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

idtekenreeksVerplicht

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

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/restore" \
  -X POST \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
Antwoord · 200
{
  "object": "passport",
  "id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "category": "textile",
  "status": "draft",
  "gtin": "02000000000053",
  "serial_number": null,
  "external_id": "SKU-4471-BLK",
  "version": 7,
  "livemode": true,
  "registry_id": null,
  "created_at": "2026-08-01T09:12:44.918Z",
  "updated_at": "2026-08-02T08:21:03.884Z",
  "published_at": null,
  "trashed_at": null,
  "data": {
    "product_name": "Merino Crew Neck",
    "product_description": "Mid-weight knitted crew neck in 100% merino wool.",
    "manufacturer_name": "Atelier Kestrel SAS",
    "manufacturer_address": "14 rue des Tanneurs, 59100 Roubaix",
    "manufacturer_country": "FR",
    "material_composition": [
      {
        "fiber": "Merino wool",
        "percentage": 100
      }
    ],
    "substances_of_concern": [
      "None above threshold"
    ],
    "gtin": "02000000000053"
  }
}

POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/restore

Een paspoort tegen het schema van zijn categorie controleren zonder op te slaan.

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

Padparameters

organizationtekenreeksVerplicht

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

idtekenreeksVerplicht

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

Verzoeklichaam

dataobjectOptioneel

Velden die vóór de controle worden samengevoegd, zodat u een wijziging kunt uitproberen zonder haar op te slaan. Er wordt hoe dan ook niets weggeschreven.

variant_review_fingerprinttekenreeksOptioneel

De vingerafdruk uit GET …/variants/review. Stuur hem om te vragen of de publicatie die hem draagt zou slagen; zonder hem meldt een paspoort met door een assistent ingevoerde maten en kleuren de controle als fout. Een hexadecimale tekenreeks van 64 tekens; een verouderde of onjuiste waarde wordt als bevinding gemeld in plaats van geweigerd, omdat dit eindpunt een voorspelling geeft.

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/validate" \
  -X POST \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "data": {
    "material_composition": null
  }
}'
Antwoord · 200
{
  "object": "validation",
  "id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/validation",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "passport_id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "category": "textile",
  "schema_version": "1.0.0-draft",
  "dry_run": true,
  "valid": false,
  "publishable": false,
  "error_count": 2,
  "warning_count": 0,
  "checked_at": "2026-08-02T08:26:11.409Z",
  "issues": [
    {
      "object": "validation_issue",
      "field": "material_composition",
      "source": {
        "pointer": "/data/material_composition"
      },
      "rule": "required",
      "severity": "error",
      "message": "Material Composition is required",
      "message_key": "required",
      "message_params": {
        "field": "Material Composition"
      },
      "writable_via_api": true
    },
    {
      "object": "validation_issue",
      "field": "gtin",
      "source": {
        "pointer": "/data/gtin"
      },
      "rule": "required",
      "severity": "error",
      "message": "A GTIN is required before this passport can be published. A saved size or colour with its own barcode also satisfies this.",
      "writable_via_api": true
    }
  ]
}

POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/validate

Batterijmetingen weergeven.

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

Padparameters

organizationtekenreeksVerplicht

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

idtekenreeksVerplicht

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

unitIdtekenreeksVerplicht

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

Queryparameters

limittekenreeksOptioneel

Aantal terug te geven metingen, van 1 tot 100.

cursortekenreeksOptioneel

De next_cursor van de vorige pagina. Houd hetzelfde veldfilter aan.

fieldtekenreeksOptioneel

Geef alleen metingen voor dit veld terug.

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/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units/d41d8cd9-8f00-4b20-a204-9800998ecf84/readings?field=status&limit=50" \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"
Antwoord · 200
{
  "object": "list",
  "data": [
    {
      "object": "unit_reading",
      "id": "a1100000-0000-4000-8000-000000000001",
      "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units/d41d8cd9-8f00-4b20-a204-9800998ecf84/readings/a1100000-0000-4000-8000-000000000001",
      "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
      "passport_id": "b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04",
      "unit_id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
      "passport": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04",
      "unit": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units/d41d8cd9-8f00-4b20-a204-9800998ecf84",
      "livemode": true,
      "field": "status",
      "value": "original",
      "observed_on": "2026-08-02",
      "source": "brand_statement",
      "note": null,
      "document_id": null,
      "recorded_by": "a1100000-0000-4000-8000-000000000002",
      "recorded_actor_type": "api_key",
      "recorded_via": "api",
      "recorded_at": "2026-08-02T09:31:18.446123Z",
      "legacy_import": false
    }
  ],
  "has_more": false,
  "next_cursor": null
}

GET /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units/d41d8cd9-8f00-4b20-a204-9800998ecf84/readings?field=status&limit=50

Batterijmeting vastleggen.

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

Padparameters

organizationtekenreeksVerplicht

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

idtekenreeksVerplicht

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

unitIdtekenreeksVerplicht

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

Verzoeklichaam

fieldtekenreeksVerplicht

Een batterijveld uit het categorieschema.

valuetekst, getal of getal met eenheidVerplicht

Een waarde volgens de velddefinitie; getal en eenheid bij velden met een eenheidkeuze.

observed_ontekenreeksVerplicht

Datum waarop de waarde is gemeten of verklaard, in de notatie JJJJ-MM-DD.

sourcetekenreeksVerplicht

measurement of brand_statement.

notetekenreeksOptioneel

Optionele opmerking over methode of bewijs, maximaal 500 tekens.

document_idtekenreeksOptioneel

Optioneel document uit de organisatiebibliotheek dat deze meting onderbouwt.

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/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units/d41d8cd9-8f00-4b20-a204-9800998ecf84/readings" \
  -X POST \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
  "field": "status",
  "value": "original",
  "observed_on": "2026-08-02",
  "source": "brand_statement"
}'
Antwoord · 201
{
  "object": "unit_reading",
  "id": "a1100000-0000-4000-8000-000000000001",
  "name": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units/d41d8cd9-8f00-4b20-a204-9800998ecf84/readings/a1100000-0000-4000-8000-000000000001",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "passport_id": "b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04",
  "unit_id": "d41d8cd9-8f00-4b20-a204-9800998ecf84",
  "passport": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04",
  "unit": "organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units/d41d8cd9-8f00-4b20-a204-9800998ecf84",
  "livemode": true,
  "field": "status",
  "value": "original",
  "observed_on": "2026-08-02",
  "source": "brand_statement",
  "note": null,
  "document_id": null,
  "recorded_by": "a1100000-0000-4000-8000-000000000002",
  "recorded_actor_type": "api_key",
  "recorded_via": "api",
  "recorded_at": "2026-08-02T09:31:18.446123Z",
  "legacy_import": false
}

POST /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/b6f0d4a2-71c3-4e58-8a19-3f7c2d5e8b04/units/d41d8cd9-8f00-4b20-a204-9800998ecf84/readings

Een document loskoppelen en uit de bibliotheek verwijderen zodra niets het nog gebruikt.

delete/organizations/{organization}/passports/{id}/documents/{documentId}
Scope
documents:write
Idempotency-Key
Wordt niet geaccepteerd
Levert
200

Padparameters

organizationtekenreeksVerplicht

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

idtekenreeksVerplicht

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

documentIdtekenreeksVerplicht

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

Verzoekheaders

If-MatchtekenreeksOptioneel

GEWEIGERD met invalid_request tenzij hij exact * is. Dit eindpunt kent geen voorwaardelijke vorm. DELETE is de enige methode die wij niet tegen ons CDN hebben gemeten; dat vergelijkt If-Match op sommige paden met het ANTWOORD en herschrijft een succes tot een 412 — en een reeds uitgevoerd losmaken mag u nooit als weigering worden gemeld. If-Match: *, dat alleen vraagt of het document nog bestaat, wordt wel geaccepteerd.

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/a3b8c2d1-5e64-4f79-8a0b-1c2d3e4f5a6b" \
  -X DELETE \
  -H "Authorization: Bearer $PASSPORTCRAFT_API_KEY"
Antwoord · 200
{
  "object": "document.deleted",
  "id": "a3b8c2d1-5e64-4f79-8a0b-1c2d3e4f5a6b",
  "organization_id": "8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2",
  "passport_id": "2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41",
  "livemode": true,
  "detached": true,
  "deleted_from_library": true,
  "remaining_links": 0,
  "document_limit": 50
}

DELETE /organizations/8f14e45f-ceea-467a-9a5f-8dc7d9c6a1b2/passports/2c1f9e07-3b4d-4a18-9f6c-5e0a7b8d3c41/documents/a3b8c2d1-5e64-4f79-8a0b-1c2d3e4f5a6b