Naar de inhoud

Fouten

Fouten

Elke mislukking draagt een stabiele code. Vertak op de code en nooit op de melding: de formulering kan op elk moment veranderen, de code niet.

Paden, methoden, scopes, veldnamen, foutcodes en namen van validatieregels staan in het Engels, want Engels is de taal van de koppeling zelf — het is wat een aanroeper typt of vergelijkt. Dat geldt ook voor elk codevoorbeeld, elke JSON-payload en de exacte zin die een foutantwoord meedraagt: /v1 leest Accept-Language niet, en een vertaling van wat de API werkelijk stuurt zou die verkeerd beschrijven. Alles wat erover geschreven staat, volgt de taal van deze pagina.

De foutenvelop

Elk antwoord buiten 2xx heeft dezelfde vorm. documentation_url wijst rechtstreeks naar het bijbehorende item hieronder, en request_id is de waarde om in een supportvraag te noemen. details draagt machineleesbare context — bij een geweigerd lichaam zijn dat de issues, elk een JSON Pointer naar het veld dat niet klopte.

Antwoord
{
  "error": {
    "code": "validation_failed",
    "message": "The request body failed validation.",
    "documentation_url": "https://passportcraft.com/docs/api/errors#validation_failed",
    "request_id": "req_9Fv2KpQ0aXbT4Lmn",
    "details": {
      "issues": [
        { "source": { "pointer": "/data/product_name" }, "rule": "required" }
      ]
    }
  }
}

Codes

Elke code is gelinkt vanuit het antwoord dat hem draagt, dus deze pagina wordt meestal meteen bij het benodigde item betreden.

invalid_key

401

De meegestuurde sleutel wordt niet herkend.

API stuurtThe API key provided is not valid.

Elk endpoint kan dit teruggeven.

key_revoked

401

De sleutel is ingetrokken en werkt niet meer.

API stuurtThis API key has been revoked.

Elk endpoint kan dit teruggeven.

key_expired

401

De geldigheidsduur van de sleutel is verstreken.

API stuurtThis API key has expired.

Elk endpoint kan dit teruggeven.

key_rotated

401

De sleutel is bij een rotatie vervangen en de overlapperiode is voorbij.

API stuurtThis API key was replaced by a rotation and its overlap window has closed.

Elk endpoint kan dit teruggeven.

mode_mismatch

400

Het voorvoegsel van de sleutel komt niet overeen met de inloggegevens. Ga na of u een test- of een productiesleutel bedoelde.

API stuurtThe key prefix does not match the credential. Check whether you meant a test or a live key.

Elk endpoint kan dit teruggeven.

insufficient_scope

403

Deze inloggegevens dragen niet de scope die deze bewerking verlangt.

API stuurtThis credential does not carry the scope required for this operation.

Welke endpoints dit teruggeven

organization_not_found_or_not_granted

404

Er is geen organisatie met deze id, of deze sleutel heeft er geen vrijgave voor. Een vrijgave eindigt wanneer iemand die intrekt of wanneer de samenwerking van de organisatie met haar partner eindigt; de organisatie verdwijnt dan uit GET /organizations.

API stuurtNo such organization.

Welke endpoints dit teruggeven

resource_not_found

404

Er is geen bron met deze id.

API stuurtNo such resource.

Welke endpoints dit teruggeven

wildcard_not_supported

400

De wildcard "-" voor de organisatie is gereserveerd en wordt nog niet ondersteund.

API stuurtThe "-" organization wildcard is reserved and not yet supported.

Welke endpoints dit teruggeven

invalid_request

400

Het verzoek kon niet worden begrepen.

API stuurtThe request could not be understood.

Elk endpoint kan dit teruggeven.

method_not_allowed

405

Het endpoint bestaat, maar beantwoordt deze HTTP-methode niet. De Allow-header op de weigering noemt de methoden die het wel beantwoordt.

API stuurtThis endpoint does not support that HTTP method. The Allow header lists the ones it does.

payload_too_large

413

Het verzoeklichaam is groter dan dit endpoint aanneemt. details.limit_bytes noemt het toegepaste plafond.

API stuurtThe request body is larger than this endpoint accepts.

Elk endpoint kan dit teruggeven.

already_exists

409

Er bestaat al een resource met deze identificatie.

API stuurtA resource with this identifier already exists.

Welke endpoints dit teruggeven

gtin_in_use

409

Deze GTIN hoort bij een ander paspoort. details vermeldt passport, product_name en role (lead of variant). Gebruik dat paspoort of een andere GTIN.

API stuurtThis GTIN belongs to another passport. Use that passport or choose a different GTIN.

Welke endpoints dit teruggeven

variant_limit_reached

422

Dit paspoort heeft zijn variantenlimiet bereikt. details bevat limit, current en requested. Maak een tweede paspoort aan voor meer varianten. De limiet hangt niet van het abonnement af.

API stuurtThis passport has reached its variant limit. Create a second passport to add more.

Welke endpoints dit teruggeven

variant_review_required

409

Dit paspoort bevat maten en kleuren die een assistent heeft ingevoerd. Een persoon controleert ze eerst: lees GET …/variants/review en publiceer daarna met de vingerafdruk ervan. details bevat agent_written_count en de URL van de controle.

API stuurtThis passport carries sizes and colours an assistant wrote. A person reviews them first: read the review, then publish with its fingerprint.

Welke endpoints dit teruggeven

variant_review_changed

409

De maten en kleuren zijn gewijzigd na de controle waarnaar deze vingerafdruk verwijst. Lees de controle opnieuw en publiceer met de huidige vingerafdruk. details bevat agent_written_count.

API stuurtThe sizes and colours changed after the review this fingerprint names. Read the review again and publish with its current fingerprint.

Welke endpoints dit teruggeven

precondition_failed

412

De bron is gewijzigd — sinds de versie die u heeft meegestuurd, of terwijl uw verzoek onderweg was. De current_version die wij melden is de versie die wij hebben gelezen, niet per se de nu opgeslagen versie — lees het paspoort opnieuw in plaats van eruit te rekenen.

API stuurtThe resource changed since the version you supplied.

Welke endpoints dit teruggeven

resource_busy

409

Een ander verzoek is deze resource aan het wijzigen. Wacht de tijd uit de Retry-After-header af en probeer het daarna opnieuw.

API stuurtAnother request is modifying this resource. Wait for the Retry-After header, then retry.

Welke endpoints dit teruggeven

gtin_required

422

Zonder GTIN kan dit paspoort niet worden gepubliceerd.

API stuurtA GTIN is required before this passport can be published.

Welke endpoints dit teruggeven

not_trashed

409

Alleen een paspoort dat in de prullenbak ligt, kan worden hersteld.

API stuurtOnly a trashed passport can be restored.

Welke endpoints dit teruggeven

publish_limit_reached

402

De organisatie heeft alle publicatieplaatsen van haar abonnement gebruikt.

API stuurtThis organization has used every publish slot its plan allows.

Welke endpoints dit teruggeven

unit_limit_reached

402

Met deze eenheden zou de organisatie meer batterijeenheden hebben dan zij in deze looptijd kan toevoegen. details bevat limit, current, requested, bought_remaining en plan_year_ends.

API stuurtAdding these units would take the organization over the battery units it can add this plan year. details carries limit, current, requested, bought_remaining and plan_year_ends.

Welke endpoints dit teruggeven

document_missing

422

Een verplicht veld wordt alleen gedekt door een document dat niet langer gekoppeld is.

API stuurtA required field is satisfied only by a document that is no longer attached.

Welke endpoints dit teruggeven

document_feeds_extraction

409

Dit document legt vast waar de waarden van een paspoort vandaan komen, dus het blijft bestaan zolang dat paspoort bestaat. Er is niets ontkoppeld.

API stuurtThis document is the record of where a passport’s values came from, so it stays while that passport exists. Nothing was detached.

Welke endpoints dit teruggeven

document_feeds_reading

409

Dit document onderbouwt vastgelegde batterijwaarden en kan niet worden verwijderd zolang die batterijgegevens bestaan. Open het batterijmodel om ze te bekijken.

API stuurtThis document supports recorded battery values and cannot be deleted while those battery records exist. Open the battery model to review those records.

invalid_input

400

Het verzoeklichaam kwam niet door de validatie.

API stuurtThe request body failed validation.

Welke endpoints dit teruggeven

invalid_observed_on

400

Het verzoeklichaam kwam niet door de validatie.

API stuurtThe request body failed validation.

Welke endpoints dit teruggeven

invalid_source

400

Het verzoeklichaam kwam niet door de validatie.

API stuurtThe request body failed validation.

Welke endpoints dit teruggeven

invalid_field

400

Het verzoeklichaam kwam niet door de validatie.

API stuurtThe request body failed validation.

Welke endpoints dit teruggeven

invalid_note

400

Het verzoeklichaam kwam niet door de validatie.

API stuurtThe request body failed validation.

Welke endpoints dit teruggeven

invalid_value

400

Het verzoeklichaam kwam niet door de validatie.

API stuurtThe request body failed validation.

Welke endpoints dit teruggeven

invalid_document_id

400

Het verzoeklichaam kwam niet door de validatie.

API stuurtThe request body failed validation.

Welke endpoints dit teruggeven

unit_status_required

400

Deze batterij heeft al een status. Kies een status in plaats van deze te wissen.

API stuurtThis battery already has a status. Choose a status instead of clearing it.

Welke endpoints dit teruggeven

unit_status_transition_forbidden

409

Een batterij kan na een andere status niet terug naar Origineel en na Afval niet meer van status veranderen.

API stuurtThis battery’s status cannot return to Original or change after Waste.

Welke endpoints dit teruggeven

unit_status_history_conflict

409

Deze status zou botsen met de vastgelegde geschiedenis van de batterij. Controleer de datum en status.

API stuurtThis status would conflict with the battery’s recorded history. Check the date and status.

Welke endpoints dit teruggeven

unit_reading_document_unavailable

400

Er is geen bron met deze id.

API stuurtNo such resource.

Welke endpoints dit teruggeven

delegation_required

403

Indienen kan alleen met een lopende delegatie, die bij de aanroep zelf bij het portaal wordt gecontroleerd.

API stuurtFiling requires an active delegation, verified against the portal at call time.

Welke endpoints dit teruggeven

attestation_required

403

Deze bewerking vereist een verklaring die door een met naam genoemde persoon bij het merk is aanvaard.

API stuurtThis operation requires an attestation accepted by a named person at the brand.

Welke endpoints dit teruggeven

test_mode_refused

403

Met inloggegevens in testmodus kan deze bewerking niet worden uitgevoerd.

API stuurtTest-mode credentials cannot perform this operation.

Welke endpoints dit teruggeven

example_passport_not_fileable

409

Demopaspoorten uit de Demo-omgeving kunnen niet worden ingediend.

API stuurtExample passports from the Playground cannot be filed.

Welke endpoints dit teruggeven

human_approval_required

202

De connector heeft om publicatie gevraagd. Iemand in de organisatie moet deze goedkeuren, en er is niets gepubliceerd.

API stuurtA person at your organization must approve this publish. The request was recorded and is waiting for them — give them the link in `details.review_url`. Nothing has been published.

connector_writes_drafts_only

409

De agent-connector mag een concept alleen direct wijzigen. Voor een paspoort dat het publiek al ziet, stuurt hij een voorstel dat een persoon goedkeurt.

API stuurtThis product is already visible to the public, so an assistant cannot change it directly. To change its fields, or the file behind a field, use propose_changes; a person approves the proposal before the public page changes. For anything else, give a person the editor link in `details.review_url`.

Welke endpoints dit teruggeven

proposal_requires_assistant

403

Alleen een assistent die via PassportCraft is verbonden, kan een wijziging voorstellen. Deze sleutel kan het paspoort direct wijzigen.

API stuurtOnly an assistant connected through PassportCraft can propose a change. This key can change the passport directly.

Welke endpoints dit teruggeven

no_changes

422

Niets in het voorstel verschilt van wat het paspoort al bevat.

API stuurtNothing in the proposal differs from what the passport already holds.

Welke endpoints dit teruggeven

unit_status_not_allowed

422

Kies een van de vijf toegestane batterijstatussen die in de details staan.

API stuurtChoose one of the five permitted battery statuses in `details.allowed`, or leave the status empty.

portal_unavailable

502

Het Franse portaal heeft niet op tijd geantwoord. Uw aangifte kan wel of niet zijn vastgelegd. Verstuur het verzoek opnieuw met een nieuwe Idempotency-Key — niets wordt twee keer aangegeven. Met dezelfde sleutel krijgt u alleen deze fout opnieuw.

API stuurtThe French affichage portal did not answer. If the declaration had already been sent, it may still have been recorded — check the passport before filing it again.

Welke endpoints dit teruggeven

storage_unavailable

503

We konden niet bevestigen of de geüploade bestanden in de opslag staan, dus er is niets gepubliceerd. Er is niets mis met uw verzoek — probeer het opnieuw na de wachttijd uit de Retry-After-header.

API stuurtWe could not confirm whether the uploaded files are in storage, so nothing was published. Nothing is wrong with your request — retry after the delay in the Retry-After header.

Welke endpoints dit teruggeven

entitlement_unavailable

503

We konden de rechten van deze organisatie niet bevestigen, dus er is niets ingediend. Dit zegt niets over het abonnement — probeer het opnieuw na de wachttijd uit de Retry-After-header.

API stuurtWe could not confirm this organization’s entitlement, so nothing was filed. This is not a statement about the plan — retry after the delay in the Retry-After header.

Welke endpoints dit teruggeven

scope_exceeds_key

422

De vrijgave vraagt om een scope die de sleutel in zijn eigen organisatie niet heeft. Een vrijgave voor een klant gaat nooit verder dan die van de sleutel zelf.

API stuurtA grant cannot carry a scope the key does not hold on its own organization

Welke endpoints dit teruggeven

france_mandate_required

403

filings:write kan voor deze klant nog niet worden vrijgegeven. Eerst moet iemand van uw organisatie in de werkruimte van de klant bevestigen dat u over de schriftelijke machtiging van de klant beschikt om in Frankrijk in te dienen.

API stuurtfilings:write needs the client's written authorisation, affirmed in its workspace, before it can be granted

Welke endpoints dit teruggeven

grantor_not_seated

403

De persoon die de sleutel voor deze aanroep heeft aangemaakt, heeft geen plaats meer in de werkruimte van deze klant. Daardoor kan niemand worden vastgelegd als degene die de vrijgave geeft. Maak een nieuwe sleutel aan in de instellingen.

API stuurtThe person who created this key no longer holds a seat in this organization

Welke endpoints dit teruggeven

key_not_grantable

409

De sleutel die key_id noemt, is ingetrokken of verlopen, wordt vervangen of is de verbinding van een assistent. Geen van die sleutels kan worden vrijgegeven.

API stuurtThis key cannot be granted: it is revoked, expired, being replaced, or an assistant connection

Welke endpoints dit teruggeven

grant_conflict

409

De sleutel heeft hier al een vrijgave met andere scopes. Trek die vrijgave in en geef de sleutel daarna opnieuw vrij met de scopes die u wilt.

API stuurtThis key already holds a grant here with different scopes; revoke it, then grant again

Welke endpoints dit teruggeven

live_key_playground_only

403

Geen van uw klanten heeft een betaald Pro- of Scale-plan, dus deze live-sleutel heeft alleen toegang tot uw Demo-omgeving. De sleutel kan geen toegang tot een klant krijgen. Een live-sleutel die nog toegang tot een klant heeft, kan niet worden geroteerd. Een testsleutel kan wel toegang tot uw klanten krijgen.

API stuurtThis live key acts on your Playground only. It can act on a client once one of your clients is on a paid Pro or Scale plan.

Welke endpoints dit teruggeven

rate_limited

429

Er zijn te veel verzoeken in korte tijd gedaan.

API stuurtToo many requests in a short time. Wait a moment, then try again.

Elk endpoint kan dit teruggeven.

internal_error

500

Er is bij ons iets misgegaan.

API stuurtSomething went wrong on our side.

Elk endpoint kan dit teruggeven.

configuration_error

500

De dienst is verkeerd geconfigureerd. Aan uw verzoek ligt het niet.

API stuurtThe service is misconfigured. This is not a problem with your request.

Elk endpoint kan dit teruggeven.

Weigeringen van de PassportCraft-app

De app waarin u bent aangemeld, roept haar eigen routes aan, en die routes weigeren met de onderstaande codes. Ze maken geen deel uit van het /v1-contract en kunnen op elk moment veranderen. Ze staan hier zodat een melding die u in de app ziet, of een hulpartikel, ergens naar kan verwijzen.

billing_managed_by_partner

De partner van de werkruimte beheert de facturering ervan. Afrekenen, het facturatieportaal en planwijzigingen worden allemaal geweigerd met deze code.

API stuurtBilling for this workspace is managed by the partner that pays for it

partner_role_fixed

Deze persoon werkt voor de partner van de werkruimte. De partner bepaalt wat deze persoon hier mag doen. U kunt dat niet wijzigen. De eigen eigenaar of beheerders van de werkruimte kunnen deze persoon verwijderen.

API stuurtThe partner sets what its staff can do in this workspace.

home_members_only

Alleen de eigen eigenaar of beheerders van de werkruimte kunnen dit doen, zoals een partner aanvaarden, afwijzen of stopzetten. Medewerkers van een partner kunnen dit niet, ongeacht hun rol. Zij kunnen een sleutel alleen roteren als de medewerkers van hun partner hem in deze werkruimte hebben aangemaakt en hij uitsluitend op deze werkruimte werkt.

API stuurtOnly the workspace's own owner or administrator can do this

client_already_linked

Deze werkruimte heeft al een partner, of een verzoek van een partner waarop nog niet is gereageerd.

API stuurtThis workspace already has a partner, or a request it has not answered

partner_chain_not_allowed

De werkruimte beheert al klanten of wordt al door een partner beheerd. Een organisatie kan een partner of een klant van een partner zijn, nooit beide. Daarom kan deze samenwerking niet beginnen.

API stuurtAn organization can manage clients or be managed by a partner, not both

not_a_partner

De organisatie die in X-Organization is genoemd, beheert geen enkele klant.

API stuurtThis organization does not manage clients

partner_staff_only

Alleen de eigen medewerkers van de beherende partner kunnen dit doen, zoals het bevestigen van de schriftelijke machtiging van een klant voor Franse coût environnemental-verklaringen.

API stuurtOnly the partner's staff can do this

same_organization

Een organisatie kan zichzelf niet beheren.

API stuurtAn organization cannot manage itself

organization_not_found

Geen enkele werkruimte komt overeen met het opgegeven adres of e-mailadres.

API stuurtOrganization not found

organization_header_required

Het verzoek heeft geen werkruimte genoemd. Stuur de slug van de werkruimte mee in de header X-Organization.

API stuurtThe X-Organization header is required

organization_not_a_member

De aangemelde persoon is geen lid van de werkruimte die in X-Organization is genoemd.

API stuurtNot a member of this organization

continuity_pending

Het plan dat de partner heeft betaald, loopt nog. De facturering voor deze werkruimte verandert op de datum tot waar is betaald.

API stuurtThe current plan runs to the date it was paid to; billing for this workspace changes after that

partner_terms_missing

Voor deze partner zijn nog geen factureringsvoorwaarden vastgelegd, dus op diens account kan nog geen plan worden geopend.

API stuurtThis partner has no billing terms recorded

partner_customer_missing

De partner heeft nog geen betaalaccount.

API stuurtThis partner has no payment account yet

partner_card_missing

Voor de partner is geen betaalmethode vastgelegd. Deze voegt er zelf een toe op de eigen pagina Facturering.

API stuurtThis partner organization has no payment method on file

client_already_subscribed

Deze werkruimte betaalt al voor een eigen abonnement.

API stuurtThis workspace already has its own subscription

plan_below_current

Het gekozen plan is kleiner dan het plan waarop deze werkruimte nu zit.

API stuurtThat plan is smaller than the one this workspace is on

continuity_not_available

Er is geen betaalde periode van een eerdere partner om voort te zetten voor deze werkruimte.

API stuurtThere is nothing to continue on this workspace

yearly_not_accepted

Een klantabonnement gaat pas open nadat de partner de jaarlijkse facturatieperiode voor die klant heeft bevestigd.

API stuurtThe partner has not confirmed the yearly billing period for this client; record its confirmation before opening the plan.

stripe_refused

De betalingsprovider heeft het verzoek geweigerd.

API stuurtStripe refused the request

payment_pending

Het resultaat van de betaling is nog onbekend. Controleer de status van het bestaande verzoek; maak geen nieuwe klant aan en dien geen nieuwe betaling in.

API stuurtThe payment result is not yet known. Check its status before starting another payment.

price_changed

De bevestigde prijs wijkt af van het nieuwste prijsvoorbeeld. Controleer de bijgewerkte prijs voordat u opnieuw indient. Er is geen klant aangemaakt.

API stuurtThe price changed. Review the current amount before creating the client.

price_unavailable

Het prijsvoorbeeld is niet beschikbaar. Probeer het opnieuw te laden voordat u de klant aanmaakt. Er is geen klant aangemaakt.

API stuurtThe price is unavailable. No client was created. Try the review again later.

price_changed_after_create

De klant is aangemaakt op het gratis abonnement. De prijs is gewijzigd en de onbetaalde betaalpoging is veilig afgesloten. Neem contact op met support om het abonnement te activeren; maak de klant niet opnieuw aan.

API stuurtThe client was added on Free. The reviewed payment did not proceed. Contact support to activate the plan.

creation_token_invalid

Deze controle komt niet overeen met de gebruiker, werkruimte of klantgegevens. Controleer de juiste gegevens opnieuw. Als u al een aanmaakverzoek heeft ingediend en het resultaat onbekend is, neem dan contact op met support in plaats van opnieuw te beginnen.

API stuurtThis creation review is invalid. If creation has already started, check its status or contact support.

creation_token_expired

De toestemming voor het aanmaken is verlopen. Controleer eerst een bestaand aanmaakverzoek; als er geen is ingediend, controleer dan de betaling opnieuw.

API stuurtThis creation review expired. Check any existing operation before reviewing a new creation.

creation_operation_expired

De bewaarde status van dit aanmaakverzoek is niet meer beschikbaar. Neem contact op met support voordat u verdergaat; maak de klant niet opnieuw aan.

API stuurtThis operation status is no longer available. Contact support before creating another client.

creation_conflict

Dit aanmaakverzoek is al aan andere gegevens gekoppeld. Controleer het oorspronkelijke verzoek of neem contact op met support; start geen nieuwe aanmaak.

API stuurtThis operation belongs to different creation details. Check the original operation or contact support.

creation_unavailable

De controle vóór het aanmaken is niet beschikbaar. Probeer de controle later opnieuw. Als het resultaat van een aanmaakverzoek onbekend is, controleer dan de status in plaats van het opnieuw in te dienen.

API stuurtCreation review is unavailable. Try again later; check the status of any creation already started.

client_creation_undone

Er is niets aangemaakt en niets in rekening gebracht. Controleer de betaling en probeer het opnieuw.

API stuurtThe client could not be created and nothing was charged. Review the payment again.

client_vat_unverified

Een werkruimte neemt de facturering alleen over zodra ze haar land heeft opgegeven.

API stuurtGive the workspace's country before you add a card.

client_authority_required

Een klantwerkruimte wordt alleen aangemaakt met de bevestiging van de partner dat de klant deze heeft gemachtigd om de Algemene voorwaarden en de Verwerkersovereenkomst te accepteren.

API stuurtThe client's authority confirmation is missing. Tick the confirmation on the review step, then create the client.

client_details_required

Een klantwerkruimte heeft de officiële bedrijfsnaam van de klant en een e-mailadres voor onze meldingen nodig.

API stuurtThe client's legal name and an email address for notices are required.

terms_acceptance_required

Een werkruimte accepteert het verzoek van een partner, of koopt een betaald abonnement, alleen samen met de huidige Algemene voorwaarden en Verwerkersovereenkomst.

API stuurtAccept the current Terms of Service and Data Processing Agreement together with the request.

client_not_managed

De genoemde organisatie is geen klant die uw organisatie beheert.

API stuurtThat organization is not a client your organization manages

keys_admin_partner_only

keys:admin kan alleen worden gegeven aan een sleutel die toebehoort aan een organisatie die klanten beheert.

API stuurtkeys:admin can only be granted on the own keys of an organization that manages clients

grant_not_found

Geen enkele sleutel van een andere organisatie heeft onder dat id toegang tot deze werkruimte.

API stuurtNo key from another organization holds a grant here under that id

partner_agreement_required

De partner heeft de huidige partnerovereenkomst niet geaccepteerd, of de overeenkomst is beëindigd. De partner accepteert de overeenkomst op de pagina Partnervoorwaarden.

API stuurtThis partner has not accepted the current partner agreement, or its agreement has ended. It must accept the agreement on its Partner terms page first.

agreement_unpublished

De partnerovereenkomst is nog niet gepubliceerd en kan daarom niet worden geaccepteerd.

API stuurtThe partner agreement is not published yet

agreement_text_changed

De overeenkomst is gewijzigd terwijl de pagina open was. Laad Partnervoorwaarden opnieuw en accepteer de weergegeven versie.

API stuurtThe agreement changed after it was shown. Reload the page and accept the version shown.

discount_unavailable

We konden de partnerkorting niet lezen, dus is er niets geaccepteerd. Probeer het opnieuw.

API stuurtThe partner discount could not be read. Nothing was accepted; try again.

partner_admin_access_fixed

Deze persoon is eigenaar of beheerder bij de partner en werkt daarom voor alle klanten van de partner. Een eigenaar werkt altijd voor alle klanten. Wilt u de klanten van een beheerder kiezen? Geef deze persoon dan eerst de rol Redacteur of Lezer bij de partner.

API stuurtOwners and administrators work on every client. To limit an administrator's clients, make them an editor or viewer on your Team page first.

seat_removed_by_client

De klant heeft deze persoon uit zijn werkruimte verwijderd. De partner kan deze persoon niet opnieuw toevoegen. De eigenaar of een beheerder van de klant kan deze persoon weer toelaten via de pagina Team van de klant.

API stuurtThe client removed this person from its workspace. Only the client can allow them again.

partner_staff_managed_by_partner

Medewerkers van een partner kunnen elkaar niet uit de werkruimte van een klant verwijderen. De partner kiest de klanten van zijn medewerkers op zijn eigen pagina Team. De eigen eigenaar of beheerders van de klant kunnen iedereen verwijderen.

API stuurtOnly this workspace's own owner or administrators can remove a partner's staff here. The partner can change its staff's clients from its own Team page.

member_not_found

Deze persoon maakt geen deel meer uit van het team. Laad de lijst opnieuw en probeer het nogmaals.

API stuurtMember not found

playground_has_no_plans

De werkruimte is de Demo-omgeving van een partner. De limieten liggen vast en er is geen plan te koop. Daarom worden afrekenen, planwijzigingen en het kopen van serienummers allemaal geweigerd met deze code. Een partner koopt het plan van een klant wanneer hij die klant toevoegt.

API stuurtYour Playground has fixed limits and no plan to buy. To buy a plan for a client, use Add client on the Clients page. Client billing, under Partner settings, shows what you pay.

client_not_partner_paid

De partner betaalt het plan van deze klant niet, de partnerrelatie met de klant wordt beëindigd of voor het plan van de klant staat een annulering gepland. Het overzetten van de klant op een groter plan en het toevoegen van serienummers voor de klant worden allebei geweigerd met deze code.

API stuurtYour organization does not pay for this client's plan, or the client is leaving or set to cancel.

partner_agreement_ended

De partnerovereenkomst is beëindigd. Daarom kan de partner geen klant meer overzetten op een groter plan.

API stuurtYour partner agreement has ended, so a client's plan cannot move to a larger plan.

Validatieregels

Dit zijn de regels die de paspoortgegevens zelf kunnen schenden, in elke categorie. Een regelnaam bereikt u op drie plaatsen: onder error.details.issues in een 422, onder issues in de 200 van het validatie-endpoint, en onder error.detail.issues op een rij van een bulkimport. Aanmaken, bijwerken en importeren weigeren een waarde binnen data alleen bij de twee die zijn gemarkeerd als geweigerd bij opslaan; aanmaken geeft daarnaast required terug voor een categorie die wij niet bedienen. De rest komt van publiceren of van het validatie-endpoint. Publiceren geeft de volledige lijst terug, adviezen inbegrepen, en noemt dus ook regels die de weigering niet veroorzaakten. Baseer uw code op de regel, nooit op het bericht.

required

blokkeert publicatie

Het veld is verplicht voor deze categorie en kwam leeg, ontbrekend of als lege lijst binnen. Een paspoort aanmaken onder een categorie die wij niet bedienen geeft ook deze regel terug, op de JSON Pointer /category.

Zo lost u dit opStuur een waarde. Een url-veld dat een bestand onderbouwt, is ook in orde als u dat document in plaats daarvan bijvoegt.

type_array

blokkeert publicatieook geweigerd bij opslaan

Het veld bevat een lijst en de waarde was er geen — meestal een lijst die als JSON-tekenreeks is verstuurd.

Zo lost u dit opStuur een echte JSON-array, geen tekenreeks die er een bevat.

type_array_items

blokkeert publicatieook geweigerd bij opslaan

Het veld bevat een lijst met gewone tekstwaarden en minstens één item was een object, een getal of een booleaanse waarde.

Zo lost u dit opStuur elk item als tekenreeks. Het veld draagt item_type in het categorieschema wanneer dit vereist is.

type_number

blokkeert publicatie

Het veld bevat een getal en de waarde was er geen — meestal een getal dat als tekenreeks is verstuurd.

Zo lost u dit opStuur een JSON-getal, zonder aanhalingstekens.

type_text

blokkeert publicatie

Het veld bevat tekst en de waarde was dat niet — meestal een getal, een boolean of een lijst voor een veld dat het categorieschema als tekst declareert, of voor een keuzeveld dat ook een vrij antwoord toestaat.

Zo lost u dit opStuur de waarde als JSON-tekenreeks. Lees type op het veld in het categorieschema. Een select met een other-optie neemt een vrij antwoord ook als tekenreeks aan.

number_min

blokkeert publicatie

De waarde ligt onder het kleinste getal dat het veld aanneemt.

Zo lost u dit opLees min bij het veld in het categorieschema en stuur een waarde die daaraan of daarboven ligt.

number_max

blokkeert publicatie

De waarde ligt boven het grootste getal dat het veld aanneemt.

Zo lost u dit opLees max bij het veld in het categorieschema en stuur een waarde die daaraan of daaronder ligt.

format_date

blokkeert publicatie

De waarde is geen geldige ISO 8601-datum. Een datum die niet bestaat, zoals 2025-02-30, wordt hier geweigerd.

Zo lost u dit opStuur YYYY-MM-DD of een ISO 8601-tijdstempel in UTC, eindigend op Z. Een tijdzoneverschil dat de tijdstempel op een andere datum zet, wordt geweigerd.

format_url

blokkeert publicatie

De waarde is geen geldige URL.

Zo lost u dit opStuur een absolute URL met https:// of http://.

invalid_option

blokkeert publicatie

Het veld aanvaardt een vaste reeks waarden en de waarde hoorde daar niet bij. Een veld met een other-optie is uitgezonderd: dat slaat vrije tekst op.

Zo lost u dit opLees options bij het veld in het categorieschema en stuur een van de value-items die daar staan.

format_gtin

blokkeert publicatie

De GTIN is geen echte: hij kwam binnen als lege tekenreeks, bevat tekens die geen cijfers zijn, heeft de verkeerde lengte, heeft een controlecijfer dat niet klopt, of is een documentatievoorbeeld.

Zo lost u dit opStuur een GTIN-8, GTIN-12, GTIN-13 of GTIN-14 die GS1 aan u heeft toegekend. Het bericht noemt welk probleem het is.

format_eori

blokkeert publicatie

Het EORI-nummer voldoet niet aan het formaat dat het veld aanneemt.

Zo lost u dit opStuur twee hoofdletters voor het land en daarna 1 tot 15 hoofdletters of cijfers. Kleine letters worden geweigerd.

format_country_code

blokkeert publicatie

Het land bestaat niet uit twee hoofdletters. Een code in kleine letters wordt geweigerd: de in plaats van DE.

Zo lost u dit opStuur een ISO 3166-1 alfa-2-code in hoofdletters, bijvoorbeeld DE.

format_commodity_code

advies

De goederencode voldoet niet aan het GS-, GN- of TARIC-formaat.

Zo lost u dit opStuur 6, 8 of 10 cijfers. U kunt het paspoort ook publiceren met de waarde zoals die is.

format_email

blokkeert publicatie

De waarde is geen geldig e-mailadres.

Zo lost u dit opStuur een volledig adres.

category_exists

blokkeert publicatie

Het paspoort noemt een productcategorie die deze API niet bedient.

Zo lost u dit opEen andere categorie sturen lost dit niet op: het opgeslagen paspoort noemt een categorie die wij niet meer bedienen. Maak het opnieuw aan onder een categorie die het endpoint met de categorielijst teruggeeft.

Drie andere dingen dragen een regelnaam. Een productcategorie voegt eigen regels toe die meerdere velden samen lezen — bijvoorbeeld materiaalpercentages die samen 100 moeten zijn. Een endpoint meldt op dezelfde manier een probleem met het verzoek zelf, onder namen als not_writable. En de publicatiecontrole hergebruikt required voor een waarde die publiceren nodig heeft, zoals een GTIN, op een veld dat de categorie zelf niet verplicht stelt. In elk geval legt het bericht in het antwoord de regel uit.

Grenzen voor paspoortgegevens

De gegevens van een paspoort hebben een beperkte omvang. Een verzoek dat de gegevens boven een van die grenzen zou brengen, wordt geweigerd met een 422 validation_failed. Dat geldt voor aanmaken, bijwerken en voorstellen. Het validatie-endpoint antwoordt met dezelfde 422 wanneer onze controle vaststelt dat de paspoortgegevens boven een grens uitkomen. Dicht bij de bytegrens kan de database de gegevens bij opslaan toch weigeren, ook als die controle ze heeft geaccepteerd. Precies één probleem onder error.details.issues noemt de regel. Een rij van een bulkimport waarvoor hetzelfde zou gelden, mislukt met field_wrong_shape. Hetzelfde probleem staat onder error.detail.issues van de rij. Elk probleem bevat source.pointer, rule, limit en received. Baseer uw code op de regel, nooit op het bericht.

source.pointer noemt het veld op het hoogste niveau dat het probleem bevat, zoals het paspoort er na uw wijziging uit zou zien. Bij een wijziging, een voorstel of een verzoek aan het validatie-endpoint kan dat een veld zijn dat u niet hebt gestuurd. De JSON Pointer begint bij /data bij aanmaken, bij wijzigen en bij een verzoek aan het validatie-endpoint, en bij /fields bij een voorstel. Bij een rij van een bulkimport begint hij bij /rows/<n>/data, waarbij n de index van de rij in de import is. Een regel die het hele paspoort betreft, zoals too_many_fields, wijst alleen naar dat begin.

received telt de items bij list_too_long en too_many_entries, en de velden op het hoogste niveau bij too_many_fields. Bij data_too_large is het een grootte in bytes. Als de database deze overschrijding vindt, telt zij de opgeslagen JSON-tekst, die iets groter kan zijn dan de JSON die u hebt gestuurd. Bij number_out_of_range zijn limit en received null, omdat het antwoord het getal nooit herhaalt.

list_too_long

Een lijst in de paspoortgegevens bevat meer dan 500 items. Een lijst telt overal mee, ook binnen een andere lijst of binnen een object.

Zo lost u dit opBeperk de langste lijst in het veld dat source.pointer noemt tot hoogstens 500 items. Een PATCH vervangt een lijst als geheel, dus stuur de ingekorte lijst.

API stuurt"limit": 500

too_many_entries

De lijsten in de paspoortgegevens bevatten samen meer dan 5.000 items. Elke lijst telt mee, ook lijsten binnen andere lijsten.

Zo lost u dit opVerwijder items tot de lijsten samen hoogstens 5.000 items bevatten. source.pointer noemt het veld met de meeste items.

API stuurt"limit": 5000

data_too_large

De paspoortgegevens zijn als JSON-tekst groter dan 262.144 bytes. Bytes worden in UTF-8 geteld, dus één teken kan tot vier bytes beslaan.

Zo lost u dit opKort de tekst in het grootste veld in, dat source.pointer noemt, of verwijder waarden die het paspoort niet nodig heeft.

API stuurt"limit": 262144

number_out_of_range

Een getal in de paspoortgegevens valt buiten het bereik dat het paspoort aanneemt. Nul wordt aangenomen. Elk ander getal moet, zonder rekening te houden met het teken, minstens 1e-30 en kleiner dan 1e30 zijn.

Zo lost u dit opZoek het getal in het veld dat source.pointer noemt en stuur een getal binnen dat bereik.

API stuurt"limit": null

too_many_fields

De paspoortgegevens hebben meer dan 1.000 velden op het hoogste niveau.

Zo lost u dit opVerwijder velden op het hoogste niveau die het paspoort niet nodig heeft. Het categorieschema somt de velden op die een categorie definieert.

API stuurt"limit": 1000

Waarschuwingen

Een waarschuwing is geen weigering. Ze komt binnen naast een 200, bij een aanroep die is geslaagd, en wijst op iets dat aandacht verdient.

environmental_claim_detected

200

Het paspoort bevat milieuclaims, aangetroffen in de formulering of in velden die het merk als milieu-informatie heeft gemarkeerd. Het publiceren is geslaagd en het paspoort staat online. Vanaf 27 september 2026 vereist Richtlijn (EU) 2024/825 dat de handelaar die het product op de markt brengt onderbouwing voor zulke claims heeft.