Hoppa till innehållet

Suppliers

Suppliers with their contact persons and supplier-specific prices, minimum order quantities and lead times. Addressed by supplierNumber.

6 calls GET POST PATCH Base URL https://api.erp.fluit.cloud/preview

Authentication, error codes, rate limits, idempotency and pagination apply to every call and are documented once under Getting started.

GET /suppliers

List suppliers

Returns a paginated list of suppliers for the authenticated tenant. ?modifiedSince= (ISO 8601 UTC datetime) returns records created or changed at or after that instant, and is the intended way to run an incremental sync.

Show the full description

A change anywhere inside the record counts: editing a line moves the parent's modifiedDate too, so no change can hide below the resource level. Deletions are not visible here: a deleted record is really gone, so it simply stops appearing, which is indistinguishable from "unchanged". Poll GET /preview/deletions?deletedSince= alongside this endpoint to learn what was removed. Sorted by supplierNumber ascending.

Query parameters

Field Type Description
search string Matches supplier number, name, organisation number and city, case-insensitively and on partial words.
isActive boolean Filters on whether the supplier is active.
modifiedSince string(date-time) Returns only records created or changed at or after this instant (ISO 8601 UTC datetime). A change anywhere inside the record counts, including on its lines.
page integer Page to return, 1-based. Default 1.
pageSize integer Number of records per page. Default 50, max 200.

Responses

200 PagedResult_PublicSupplierResponse

Paginated response: the fields below sit in items[], wrapped in totalCount, page, pageSize, totalPages, hasPreviousPage and hasNextPage. Paginated

Field Type Description
city string · nullable City name. Null if not set.
contactPerson string · nullable Primary contact person at the supplier. Null if not set.
countryCode string · nullable ISO 3166-1 alpha-2 country code, e.g. `SE`, `DE`. Null if not set.
createdDate string(date-time) UTC timestamp when the supplier record was created.
currencyCode string · nullable ISO 4217 currency code purchase orders to this supplier are placed in.
deliveryTermCode string · nullable Code of the supplier's default delivery term / Incoterm. Null if not set.
deliveryTermName string · nullable Display name of the delivery term. Null if not set.
id string(uuid) Internal unique identifier (UUID v7).
isActive boolean Whether the supplier is active. Inactive suppliers cannot be used on new purchase orders.
languageCode string · nullable ISO 639-1 language code used for purchase order documents, e.g. `sv`, `en`. Null if not set.
leadTimeDays integer · nullable Default lead time in calendar days from order to delivery. Null if not set.
links Links Hypermedia links for a public API resource. Exposed as a computed `links` property on the public response DTOs so that create and read responses carry the same self-reference — the canonical URL is derived from the business key already present on the DTO and can never drift from the route it points at.
modifiedDate string(date-time) · nullable UTC timestamp of the last modification. Null if never modified after creation.
name string · nullable Full company name.
notes string · nullable Free-text internal notes (not visible to the supplier). Null if not set.
organizationNumber string · nullable Company registration number / org.nr. Null if not set.
ourCustomerNumber string · nullable Our customer number at the supplier — quoted on purchase orders. Null if not set.
paymentTermCode string · nullable Code of the supplier's default payment term — usable as `paymentTermCode`. Null if not set.
paymentTermName string · nullable Display name of the payment term. Null if not set.
phone string · nullable Primary phone number. Null if not set.
postalCode string · nullable Postal / ZIP code. Null if not set.
purchaseOrderEmail string · nullable Email address purchase orders are sent to. Null if not set.
street1 string · nullable Street address line 1. Null if not set.
street2 string · nullable Street address line 2 (suite, c/o, etc.). Null if not set.
supplierNumber string · nullable Unique supplier number — business key used in all URL references.
website string · nullable Supplier website URL. Null if not set.

Standard errors: 401 403 Errors

Examples

curl
curl "https://api.erp.fluit.cloud/preview/suppliers" \
  -H "X-Api-Key: fluit_live_sk_..."
Response 200
{
  "hasNextPage": true,
  "hasPreviousPage": true,
  "items": [
    {
      "city": "Stockholm",
      "contactPerson": "string",
      "countryCode": "SE",
      "createdDate": "2026-06-11T09:24:13.418",
      "currencyCode": "SEK",
      "deliveryTermCode": "STD",
      "deliveryTermName": "DAP Stockholm",
      "id": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
      "isActive": true,
      "languageCode": "STD",
      "leadTimeDays": 42,
      "links": {
        "self": "string"
      },
      "modifiedDate": "2026-06-11T09:24:13.418",
      "name": "Nordic Components AB",
      "notes": "string",
      "organizationNumber": "ABC-001",
      "ourCustomerNumber": "ABC-001",
      "paymentTermCode": "STD",
      "paymentTermName": "30 days net",
      "phone": "+46 8 123 45 67",
      "postalCode": "11122",
      "purchaseOrderEmail": "order@acme.se",
      "street1": "Storgatan 1",
      "street2": "string",
      "supplierNumber": "SUP-001",
      "website": "string"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "totalCount": 137,
  "totalPages": 3
}

Base URL https://api.erp.fluit.cloud/preview. The response example is generated from the schema: the shape is right, the values are made up.

POST /suppliers

Create a supplier

Creates a new supplier for the authenticated tenant.

Show the full description

Only name is required. supplierNumber: if omitted a number is auto-generated from the tenant number sequence. currencyCode defaults to the tenant base currency and determines the currency of purchase orders and supplier prices. paymentTermCode and deliveryTermCode must match existing reference data (400 if unknown) and become the defaults on purchase orders to this supplier. The response body is the same representation as GET /preview/suppliers/{supplierNumber}; the canonical URL is returned in the Location header and in links.self.

Body required

Field Type Description
city string · nullable City name.
contactPerson string · nullable Primary contact person at the supplier.
countryCode string · nullable ISO 3166-1 alpha-2 country code, e.g. `SE`, `DE`.
currencyCode string · nullable ISO 4217 currency code purchase orders are placed in, e.g. `SEK`, `EUR`. Defaults to the tenant base currency.
deliveryTermCode string · nullable Delivery term / Incoterm code — see GET /preview/reference/delivery-terms.
leadTimeDays integer · nullable Default lead time in calendar days from order to delivery.
name Required string Full company name.
notes string · nullable Free-text internal notes (not visible to the supplier).
organizationNumber string · nullable Company registration number / org.nr.
paymentTermCode string · nullable Payment term code — see GET /preview/reference/payment-terms.
phone string · nullable Primary phone number.
postalCode string · nullable Postal / ZIP code.
purchaseOrderEmail string(email) · nullable Email address purchase orders are sent to.
street1 string · nullable Street address line 1.
street2 string · nullable Street address line 2 — c/o, suite, etc.
supplierNumber string · nullable Custom supplier number. Auto-generated from the tenant number sequence if omitted.

Responses

201 PublicSupplierResponse
  • Location — URL of the newly created resource.
Field Type Description
city string · nullable City name. Null if not set.
contactPerson string · nullable Primary contact person at the supplier. Null if not set.
countryCode string · nullable ISO 3166-1 alpha-2 country code, e.g. `SE`, `DE`. Null if not set.
createdDate string(date-time) UTC timestamp when the supplier record was created.
currencyCode string · nullable ISO 4217 currency code purchase orders to this supplier are placed in.
deliveryTermCode string · nullable Code of the supplier's default delivery term / Incoterm. Null if not set.
deliveryTermName string · nullable Display name of the delivery term. Null if not set.
id string(uuid) Internal unique identifier (UUID v7).
isActive boolean Whether the supplier is active. Inactive suppliers cannot be used on new purchase orders.
languageCode string · nullable ISO 639-1 language code used for purchase order documents, e.g. `sv`, `en`. Null if not set.
leadTimeDays integer · nullable Default lead time in calendar days from order to delivery. Null if not set.
links Links Hypermedia links for a public API resource. Exposed as a computed `links` property on the public response DTOs so that create and read responses carry the same self-reference — the canonical URL is derived from the business key already present on the DTO and can never drift from the route it points at.
modifiedDate string(date-time) · nullable UTC timestamp of the last modification. Null if never modified after creation.
name string · nullable Full company name.
notes string · nullable Free-text internal notes (not visible to the supplier). Null if not set.
organizationNumber string · nullable Company registration number / org.nr. Null if not set.
ourCustomerNumber string · nullable Our customer number at the supplier — quoted on purchase orders. Null if not set.
paymentTermCode string · nullable Code of the supplier's default payment term — usable as `paymentTermCode`. Null if not set.
paymentTermName string · nullable Display name of the payment term. Null if not set.
phone string · nullable Primary phone number. Null if not set.
postalCode string · nullable Postal / ZIP code. Null if not set.
purchaseOrderEmail string · nullable Email address purchase orders are sent to. Null if not set.
street1 string · nullable Street address line 1. Null if not set.
street2 string · nullable Street address line 2 (suite, c/o, etc.). Null if not set.
supplierNumber string · nullable Unique supplier number — business key used in all URL references.
website string · nullable Supplier website URL. Null if not set.
400 ProblemDetails A field failed validation, or the payment term or delivery term code does not exist.
Field Type
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
409 ProblemDetails The supplier number is already in use.
Field Type
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standard errors: 401 403 Errors

Examples

curl
curl -X POST "https://api.erp.fluit.cloud/preview/suppliers" \
  -H "X-Api-Key: fluit_live_sk_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d @body.json
Full supplier
{
  "city": "Göteborg",
  "countryCode": "SE",
  "currencyCode": "SEK",
  "deliveryTermCode": "DAP",
  "leadTimeDays": 14,
  "name": "Nordic Components AB",
  "organizationNumber": "5560001234",
  "paymentTermCode": "NET30",
  "phone": "+46812345678",
  "postalCode": "41250",
  "purchaseOrderEmail": "order@nordic-components.se",
  "street1": "Industrigatan 5",
  "supplierNumber": "SUP-001"
}
Minimal — name only
{
  "name": "Nordic Components AB"
}
Response 201
{
  "city": "Stockholm",
  "contactPerson": "string",
  "countryCode": "SE",
  "createdDate": "2026-06-11T09:24:13.418",
  "currencyCode": "SEK",
  "deliveryTermCode": "STD",
  "deliveryTermName": "DAP Stockholm",
  "id": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
  "isActive": true,
  "languageCode": "STD",
  "leadTimeDays": 42,
  "links": {
    "self": "string"
  },
  "modifiedDate": "2026-06-11T09:24:13.418",
  "name": "Nordic Components AB",
  "notes": "string",
  "organizationNumber": "ABC-001",
  "ourCustomerNumber": "ABC-001",
  "paymentTermCode": "STD",
  "paymentTermName": "30 days net",
  "phone": "+46 8 123 45 67",
  "postalCode": "11122",
  "purchaseOrderEmail": "order@acme.se",
  "street1": "Storgatan 1",
  "street2": "string",
  "supplierNumber": "SUP-001",
  "website": "string"
}

Base URL https://api.erp.fluit.cloud/preview. The response example is generated from the schema: the shape is right, the values are made up.

GET /suppliers/{supplierNumber}

Get a supplier

Returns a single supplier identified by its supplier number (exact match, case-sensitive). Returns 404 Supplier.NotFound if no supplier has that number. paymentTermCode and deliveryTermCode can be passed straight back when creating a purchase order.

Show the full description

Responses carry a weak ETag; pass it back in If-None-Match to get 304 Not Modified while the record is unchanged. The validator follows the whole record, so a change to a nested part invalidates it too.

suppliers:read Supports ETag

Path parameters

Field Type Description
supplierNumber Required string Supplier number of the supplier to read.

Responses

200 PublicSupplierResponse
  • ETag — Weak validator for this representation. Pass it back in If-None-Match to get 304 Not Modified while the record is unchanged.
Field Type Description
city string · nullable City name. Null if not set.
contactPerson string · nullable Primary contact person at the supplier. Null if not set.
countryCode string · nullable ISO 3166-1 alpha-2 country code, e.g. `SE`, `DE`. Null if not set.
createdDate string(date-time) UTC timestamp when the supplier record was created.
currencyCode string · nullable ISO 4217 currency code purchase orders to this supplier are placed in.
deliveryTermCode string · nullable Code of the supplier's default delivery term / Incoterm. Null if not set.
deliveryTermName string · nullable Display name of the delivery term. Null if not set.
id string(uuid) Internal unique identifier (UUID v7).
isActive boolean Whether the supplier is active. Inactive suppliers cannot be used on new purchase orders.
languageCode string · nullable ISO 639-1 language code used for purchase order documents, e.g. `sv`, `en`. Null if not set.
leadTimeDays integer · nullable Default lead time in calendar days from order to delivery. Null if not set.
links Links Hypermedia links for a public API resource. Exposed as a computed `links` property on the public response DTOs so that create and read responses carry the same self-reference — the canonical URL is derived from the business key already present on the DTO and can never drift from the route it points at.
modifiedDate string(date-time) · nullable UTC timestamp of the last modification. Null if never modified after creation.
name string · nullable Full company name.
notes string · nullable Free-text internal notes (not visible to the supplier). Null if not set.
organizationNumber string · nullable Company registration number / org.nr. Null if not set.
ourCustomerNumber string · nullable Our customer number at the supplier — quoted on purchase orders. Null if not set.
paymentTermCode string · nullable Code of the supplier's default payment term — usable as `paymentTermCode`. Null if not set.
paymentTermName string · nullable Display name of the payment term. Null if not set.
phone string · nullable Primary phone number. Null if not set.
postalCode string · nullable Postal / ZIP code. Null if not set.
purchaseOrderEmail string · nullable Email address purchase orders are sent to. Null if not set.
street1 string · nullable Street address line 1. Null if not set.
street2 string · nullable Street address line 2 (suite, c/o, etc.). Null if not set.
supplierNumber string · nullable Unique supplier number — business key used in all URL references.
website string · nullable Supplier website URL. Null if not set.
304 Empty body.
  • ETag — Weak validator for this representation. Pass it back in If-None-Match to get 304 Not Modified while the record is unchanged.
404 ProblemDetails No supplier with that supplier number.
Field Type
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standard errors: 401 403 Errors

Examples

curl
curl "https://api.erp.fluit.cloud/preview/suppliers/{supplierNumber}" \
  -H "X-Api-Key: fluit_live_sk_..."
Response 200
{
  "city": "Stockholm",
  "contactPerson": "string",
  "countryCode": "SE",
  "createdDate": "2026-06-11T09:24:13.418",
  "currencyCode": "SEK",
  "deliveryTermCode": "STD",
  "deliveryTermName": "DAP Stockholm",
  "id": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
  "isActive": true,
  "languageCode": "STD",
  "leadTimeDays": 42,
  "links": {
    "self": "string"
  },
  "modifiedDate": "2026-06-11T09:24:13.418",
  "name": "Nordic Components AB",
  "notes": "string",
  "organizationNumber": "ABC-001",
  "ourCustomerNumber": "ABC-001",
  "paymentTermCode": "STD",
  "paymentTermName": "30 days net",
  "phone": "+46 8 123 45 67",
  "postalCode": "11122",
  "purchaseOrderEmail": "order@acme.se",
  "street1": "Storgatan 1",
  "street2": "string",
  "supplierNumber": "SUP-001",
  "website": "string"
}

Base URL https://api.erp.fluit.cloud/preview. The response example is generated from the schema: the shape is right, the values are made up.

PATCH /suppliers/{supplierNumber}

Update a supplier

Partially updates a supplier. Only provided fields are updated (JSON Merge Patch semantics). Omitted fields are left unchanged. Pass null to clear a nullable field.

Show the full description

Unknown fields are rejected with 400, naming the field and listing the ones this endpoint accepts. supplierNumber cannot be changed — it is the resource's address. name and currencyCode cannot be set to null.

suppliers:write

Path parameters

Field Type Description
supplierNumber Required string Supplier number of the supplier to update.

Body required

Field Type Description
city string · nullable City name. Pass `null` to clear.
contactPerson string · nullable Primary contact person at the supplier. Pass `null` to clear.
countryCode string · nullable ISO 3166-1 alpha-2 country code, e.g. `SE`, `DE`. Pass `null` to clear.
currencyCode string · nullable ISO 4217 currency code, e.g. `SEK`, `EUR`. Cannot be null.
isActive boolean · nullable Whether the supplier is active. Inactive suppliers cannot be used on new purchase orders.
languageCode string · nullable ISO 639-1 language code for purchase order documents. Pass `null` to clear.
leadTimeDays integer · nullable Default lead time in calendar days. Pass `null` to clear.
name string · nullable Full company name.
notes string · nullable Free-text internal notes. Pass `null` to clear.
organizationNumber string · nullable Company registration number / org.nr. Pass `null` to clear.
ourCustomerNumber string · nullable Our customer number at the supplier. Pass `null` to clear.
phone string · nullable Primary phone number. Pass `null` to clear.
postalCode string · nullable Postal / ZIP code. Pass `null` to clear.
purchaseOrderEmail string(email) · nullable Email address purchase orders are sent to. Pass `null` to clear.
street1 string · nullable Street address line 1. Pass `null` to clear.
street2 string · nullable Street address line 2 — c/o, suite, etc. Pass `null` to clear.
website string · nullable Supplier website URL. Pass `null` to clear.

Responses

204 Empty body.
400 ProblemDetails The body is not a JSON object, contains a field this endpoint does not have, a reference code does not exist, or name or currencyCode was sent as null.
Field Type
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable
404 ProblemDetails No supplier with that supplier number.
Field Type
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standard errors: 401 403 Errors

Examples

curl
curl -X PATCH "https://api.erp.fluit.cloud/preview/suppliers/{supplierNumber}" \
  -H "X-Api-Key: fluit_live_sk_..." \
  -H "Content-Type: application/json" \
  -d @body.json
Response 400
{
  "detail": "string",
  "instance": "string",
  "status": 42,
  "title": "string",
  "type": "string"
}

Base URL https://api.erp.fluit.cloud/preview. The response example is generated from the schema: the shape is right, the values are made up.

GET /suppliers/{supplierNumber}/contacts

List supplier contacts

Returns the contact persons registered on a supplier, default contact first, then by name.

suppliers:read Paginated

Path parameters

Field Type Description
supplierNumber Required string Supplier number of the supplier whose contacts to list.

Query parameters

Field Type Description
page integer Page to return, 1-based. Default 1.
pageSize integer Number of records per page. Default 50, max 200.

Responses

200 PagedResult_PublicSupplierContactResponse

Paginated response: the fields below sit in items[], wrapped in totalCount, page, pageSize, totalPages, hasPreviousPage and hasNextPage. Paginated

Field Type Description
department string · nullable Department. Null if not set.
email string · nullable Email address. Null if not set.
id string(uuid) Internal unique identifier (UUID v7).
isDefault boolean Whether this is the supplier's default contact.
languageCode string · nullable ISO 639-1 language code for communication with this contact. Null if not set.
mobile string · nullable Mobile phone number. Null if not set.
name string · nullable Contact person's full name.
phone string · nullable Phone number. Null if not set.
title string · nullable Job title. Null if not set.
404 ProblemDetails No supplier with that supplier number.
Field Type
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standard errors: 401 403 Errors

Examples

curl
curl "https://api.erp.fluit.cloud/preview/suppliers/{supplierNumber}/contacts" \
  -H "X-Api-Key: fluit_live_sk_..."
Response 200
{
  "hasNextPage": true,
  "hasPreviousPage": true,
  "items": [
    {
      "department": "string",
      "email": "order@acme.se",
      "id": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
      "isDefault": true,
      "languageCode": "STD",
      "mobile": "string",
      "name": "Anna Svensson",
      "phone": "+46 8 123 45 67",
      "title": "string"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "totalCount": 137,
  "totalPages": 3
}

Base URL https://api.erp.fluit.cloud/preview. The response example is generated from the schema: the shape is right, the values are made up.

GET /suppliers/{supplierNumber}/items

List supplier prices

Returns the supplier-specific purchase price, minimum order quantity, order multiple and lead time for each item this supplier can deliver. Prices are expressed in the supplier's currency (see currencyCode on the supplier). validFrom/validTo bound the price period; a row with both null is always valid. Sorted by itemNumber ascending.

suppliers:read Paginated

Path parameters

Field Type Description
supplierNumber Required string Supplier number of the supplier whose prices to list.

Query parameters

Field Type Description
itemNumber string Looks up the price for one item, matched exactly.
isActive boolean Filters on whether the price row is still active, so retired rows can be excluded.
page integer Page to return, 1-based. Default 1.
pageSize integer Number of records per page. Default 50, max 200.

Responses

200 PagedResult_PublicSupplierItemResponse

Paginated response: the fields below sit in items[], wrapped in totalCount, page, pageSize, totalPages, hasPreviousPage and hasNextPage. Paginated

Field Type Description
conversionFactor decimal Factor converting the supplier's unit to ours. Serialised as a decimal string.
id string(uuid) Internal unique identifier (UUID v7).
isActive boolean Whether the price row is active.
isPrimary boolean Whether this supplier is the primary source for the item.
itemName string · nullable Display name of the item in Fluit.
itemNumber string · nullable Item number in Fluit — the business key used in item and order endpoints.
leadTimeDays integer · nullable Lead time in calendar days for this specific item. Null to fall back to the supplier default.
minOrderQuantity decimal · nullable Minimum order quantity. Null if the supplier has no minimum. Serialised as a decimal string.
orderMultiple decimal · nullable Order quantities must be a multiple of this value. Null if unrestricted. Serialised as a decimal string.
supplierDescription string · nullable The supplier's own description of the item. Null if not set.
supplierItemNumber string · nullable The supplier's own article number for this item. Null if not set.
supplierUnit string · nullable The supplier's unit of measure, if it differs from ours. Null if the same.
unitPrice decimal Purchase price per unit, in the supplier's currency. Serialised as a decimal string.
validFrom string(date) · nullable First date this price is valid. Null if valid from the beginning.
validTo string(date) · nullable Last date this price is valid. Null if it does not expire.
404 ProblemDetails No supplier with that supplier number.
Field Type
detail string · nullable
instance string · nullable
status integer · nullable
title string · nullable
type string · nullable

Standard errors: 401 403 Errors

Examples

curl
curl "https://api.erp.fluit.cloud/preview/suppliers/{supplierNumber}/items" \
  -H "X-Api-Key: fluit_live_sk_..."
Response 200
{
  "hasNextPage": true,
  "hasPreviousPage": true,
  "items": [
    {
      "conversionFactor": "299.00",
      "id": "0f8b2c1e-4d3a-4b7e-9f10-2a6c5d8e1b44",
      "isActive": true,
      "isPrimary": true,
      "itemName": "Widget A",
      "itemNumber": "WIDGET-A",
      "leadTimeDays": 42,
      "minOrderQuantity": "10",
      "orderMultiple": "299.00",
      "supplierDescription": "string",
      "supplierItemNumber": "ABC-001",
      "supplierUnit": "string",
      "unitPrice": "299.00",
      "validFrom": "2026-06-11",
      "validTo": "2026-06-11"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "totalCount": 137,
  "totalPages": 3
}

Base URL https://api.erp.fluit.cloud/preview. The response example is generated from the schema: the shape is right, the values are made up.

Schemas

The objects this group's calls refer to. The field tables above go one level deep and link here rather than repeating the same schema on every endpoint.