Skip to main content
Buyers are the starting point of every Novatrade24 transaction. A buyer in the API is a TradePartner entity acting in the buyer role — unique per (sellerId, vatNumber), so the same buyer across multiple orders is one record, not a new entry per deal.

Upsert a buyer

POST /partners/{sellerId}/buyers is an upsert keyed on (sellerId, vatNumber):
  • First call → buyer created, 201 Created + Location header.
  • Second call with identical body → existing buyer returned, 200 OK.
  • Second call with different body409 Conflict with current resource (use PATCH to explicitly modify fields).

Response

Save the returned uuid — it’s the buyer reference for every subsequent call (order creation, KYC documents, invitations). The version field is for optimistic concurrency.

Choose a KYC mode

See the full KYC modes guide. Short version: Mode is required on buyer create, can be upgraded A→B (not reversed) via PATCH /buyers/{id}. MARKETPLACE_LED is rejected with 403 if your organization’s allowMarketplaceLedKyc capability is false.

Upload KYC documents

Documents are typed via the platform DocumentType enum. For a KYC buyer workflow, the relevant types are COC_*, BANK_*, VAT_*, CONTACT_*, ADDRESS_*, TP_*, and AML_DECLARATION.
Documents are append-only — each upload is a new version. To supersede a bad upload, archive it:
The latest ACTIVE document of each type is what counts for compliance. Envers keeps the full history for audit.

Trigger a VIES check

Returns 202 Accepted. Result is written to KYC status shortly after (async). Check GET .../kyc:
Failing VIES checks (before or after pickup) also emit the kyc.vies_check_failed webhook — subscribe for real-time notification.

Optional: invite the buyer to complete their own KYC

If you don’t have all KYC data yourself, generate a self-service invitation — the buyer receives an email with a branded upload link.
Response:
When the buyer uses the link, the self_service_invitation.used webhook fires. The KYC status endpoint reflects their submissions identically to API-uploaded documents — your integration doesn’t need to branch on data source.

NT24-led verification (Mode B only)

If the buyer’s kycMode is NT24_LED, trigger iDenfy + AML:
Returns the iDenfy session URL. Send that URL to the buyer; they complete the verification in-browser. NT24 fires kyc.verification_completed with the outcome (VERIFIED or REJECTED). Once verified, download the signed KYC profile PDF:

Block or unblock a buyer

Used for risk-based interventions (fraud signal, regulatory hold):
Blocked buyers cannot have new orders created. Existing orders continue per their current state.

Next

KYC modes deep-dive

Differences between Marketplace-led and NT24-led.

Create an order

With a buyer in place, register your first transaction.