> ## Documentation Index > Fetch the complete documentation index at: https://www.bloxs.io/llms.txt > Use this file to discover all available pages before exploring further. # Insert a supplier > Insert a new supplier. ## OpenAPI ````json POST /api/v1/relations/suppliers { "openapi": "3.0.4", "info": { "title": "Relations V1", "description": "# Relation API Documentation\n\nWelcome to the Relationship Management API documentation. This API allows you to perform CRUD operations on various relationship types, including Owners, Persons, Suppliers, Estate Agents, and Organisations. \n\n## Authentication \n\nTo access the API, include your API key in the headers. Refer to our authentication documentation for details on obtaining and using your API key. \n\n## CRUD Operations \n\nThe API supports CRUD operations for the following relationship types: \n\n- **Owners**\n- **Persons**\n- **Suppliers**\n- **Estate Agents**\n- **Organisations**\n\nFor each relationship type, you can: \n\n- **GET**: Retrieve a list or apply filters.\n- **POST**: Add a new entry.\n- **PUT**: Update existing details.\n- **PATCH**: Apply partial updates.\n- **DELETE**: Remove an entry.\n\nThank you for choosing our Relation API. If you have any questions or need assistance, please contact our support team. \n", "version": "v1" }, "security": [ {} ], "tags": [ { "name": "Common" }, { "name": "CommunicationFormAPI" }, { "name": "EstateAgentAPI" }, { "name": "Metadata" }, { "name": "OrganisationAPI" }, { "name": "OwnerAPI" }, { "name": "PersonAPI" }, { "name": "RelationTypeAPI" }, { "name": "SupplierAPI" }, { "name": "SupplierTypeAPI" } ], "paths": { "/api/v1/relations/suppliers": { "post": { "tags": [ "Relations" ], "summary": "Insert a supplier", "description": "Insert a new supplier.", "operationId": "InsertSupplier", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Supplier" } } } }, "responses": { "200": { "description": "The supplier was created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SupplierDetails" } } } }, "400": { "description": "The supplier data has validation issues", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIErrorMessageModel" } } } } }, "x-d360-narrative-url": "

Insert a Supplier

Creates a new supplier relation in Bloxs.

A developer calls this endpoint to register a new business from which purchase invoices will be received, rather than update an existing one. On success, Bloxs generates and returns the internal reference and display name for the new record, along with the full stored data.

The correspondence method determines whether an email address or a postal address must be supplied.


Request Fields

Field

Type

Required

Description

name

string, max 256

Required

The supplier's registered or trading name.

supplierTypeName

string, max 256, nullable

Optional

The supplier type to assign to this supplier. Valid values are managed by the user in the Bloxs admin section and can be retrieved from the Get all supplier types endpoint.

website

string, nullable

Optional

The supplier's website URL.

correspondenceMethod

integer (enum)

Required

How correspondence should be delivered to this supplier. Allowed values: 1 = Email, 2 = Post. When set to Email, primaryEmailAddresses is mandatory. When set to Post, address is mandatory.

languageISOCode

string, max 2, nullable

Optional

ISO 639-1 two-letter language code (for example \"nl\" or \"en\") determining the language used in correspondence.

externalIdentifier

string, max 100, nullable

Optional

An external API identifier to associate with this supplier, if the integrating system wants to track its own identifier for the record.

address.street

string, max 200

Conditionally required

Street name of the supplier's main address. Required when correspondenceMethod is set to Post (2).

address.houseNumber

string, max 40, nullable

Optional

House number of the supplier's main address, including any suffix (for example \"12A\").

address.postalCode

string, max 20

Conditionally required

Postal code of the supplier's main address. Required when correspondenceMethod is set to Post (2).

address.city

string, max 200

Conditionally required

City of the supplier's main address. Required when correspondenceMethod is set to Post (2).

address.countryISOCode

string, max 2

Conditionally required

ISO 3166-1 alpha-2 country code of the supplier's main address, for example \"NL\". Required when correspondenceMethod is set to Post (2).

invoiceAddress.street

string, max 200

Required (if invoiceAddress is set)

Street name of the address to use for invoicing this supplier, if different from the main address.

invoiceAddress.houseNumber

string, max 40, nullable

Optional

House number of the invoice address, including any suffix.

invoiceAddress.postalCode

string, max 20

Required (if invoiceAddress is set)

Postal code of the invoice address.

invoiceAddress.city

string, max 200

Required (if invoiceAddress is set)

City of the invoice address.

invoiceAddress.countryISOCode

string, max 2

Required (if invoiceAddress is set)

ISO 3166-1 alpha-2 country code of the invoice address.

postalAddress.street

string, max 200

Required (if postalAddress is set)

Street name of the postal correspondence address, if different from the main address.

postalAddress.houseNumber

string, max 40, nullable

Optional

House number of the postal address, including any suffix.

postalAddress.postalCode

string, max 20

Required (if postalAddress is set)

Postal code of the postal address.

postalAddress.city

string, max 200

Required (if postalAddress is set)

City of the postal address.

postalAddress.countryISOCode

string, max 2

Required (if postalAddress is set)

ISO 3166-1 alpha-2 country code of the postal address.

phoneNumber

string, nullable

Optional

The supplier's landline phone number.

mobileNumber

string, nullable

Optional

The supplier's mobile phone number.

primaryEmailAddresses

array of string, nullable

Conditionally required

The supplier's primary email address(es), used for general correspondence. Required when correspondenceMethod is set to Email (1).

invoicesEmailAddresses

array of string, nullable

Optional

Email address(es) that should receive invoices for this supplier.

paymentRemindersEmailAddresses

array of string, nullable

Optional

Email address(es) that should receive payment reminder correspondence.

indexationsEmailAddresses

array of string, nullable

Optional

Email address(es) that should receive rent or fee indexation notices.

serviceTicketsEmailAddresses

array of string, nullable

Optional

Email address(es) that should receive service or maintenance ticket correspondence.

purchaseOrdersEmailAddresses

array of string, nullable

Optional

Email address(es) that should receive purchase order correspondence.

portalsEmailAddresses

array of string, nullable

Optional

Email address(es) used for portal-related notifications.

otherEmailAddresses

array of string, nullable

Optional

Any additional email address(es) not covered by the categories above.

cocNumber

string, max 256, nullable

Optional

Chamber of Commerce (KVK-style) registration number for the supplier.

cocDescription

string, nullable

Optional

Free-text description associated with the Chamber of Commerce registration.

vatNumber

string, max 256, nullable

Optional

The supplier's VAT identification number, used for determining VAT/reverse-charge treatment on purchase invoices where applicable.

defaultPurchaseInvoiceSubject

string, max 512, nullable

Optional

The preferred subject line for purchase invoices from this supplier. When the relevant feature is activated in the application, this value is automatically filled in as the subject when a purchase invoice is created, and can be overridden. If Scan and Recognize is used, the subject it detects is overwritten by this preferred subject.

paymentMethod

integer (enum), nullable

Optional

The preferred payment method used to pay this supplier. Allowed values: 1 = DirectDebit, 2 = BankTransfer, 3 = Withdrawal, 4 = Cash, 5 = iDEAL. When the relevant feature is activated in the application, this value is automatically filled in as the payment method when a purchase invoice is created for this supplier, and can be overridden.

defaultPaymentTermName

string, nullable

Optional

The preferred payment term for this supplier. When the relevant feature is activated in the application, this value is automatically filled in as the payment term when a purchase invoice is created for this supplier, and can be overridden.

defaultLedgerAccountCode

string, nullable

Optional

The preferred general ledger account code for booking purchases from this supplier. When the relevant feature is activated in the application, this value is automatically filled in as the ledger account when a purchase invoice is created for this supplier, and can be overridden.

remarks

string, nullable

Optional

Free-text internal remarks about the supplier.


Response Fields

Field

Type

Required

Description

reference

string, max 100

Optional

The internal identifier (Reference/Code) generated by Bloxs for the newly created supplier.

externalIdentifier

string, max 100

Optional

The external API identifier for this supplier, if one was supplied on creation.

displayName

string

Optional

The formatted display name generated by Bloxs for the supplier.

name

string, max 256

Required

The supplier's registered or trading name.

supplierTypeName

string, max 256, nullable

Optional

The supplier type assigned to this supplier.

website

string, nullable

Optional

The supplier's website URL.

correspondenceMethod

integer (enum)

Required

How correspondence is delivered to this supplier. Allowed values: 1 = Email, 2 = Post.

languageISOCode

string, max 2, nullable

Optional

ISO 639-1 two-letter language code determining the correspondence language.

address.street

string, max 200

Conditionally required

Street name of the supplier's main address.

address.houseNumber

string, max 40, nullable

Optional

House number of the supplier's main address, including any suffix.

address.postalCode

string, max 20

Conditionally required

Postal code of the supplier's main address.

address.city

string, max 200

Conditionally required

City of the supplier's main address.

address.countryISOCode

string, max 2

Conditionally required

ISO 3166-1 alpha-2 country code of the supplier's main address.

invoiceAddress.street

string, max 200

Required (if invoiceAddress is set)

Street name of the invoice address.

invoiceAddress.houseNumber

string, max 40, nullable

Optional

House number of the invoice address.

invoiceAddress.postalCode

string, max 20

Required (if invoiceAddress is set)

Postal code of the invoice address.

invoiceAddress.city

string, max 200

Required (if invoiceAddress is set)

City of the invoice address.

invoiceAddress.countryISOCode

string, max 2

Required (if invoiceAddress is set)

ISO 3166-1 alpha-2 country code of the invoice address.

postalAddress.street

string, max 200

Required (if postalAddress is set)

Street name of the postal address.

postalAddress.houseNumber

string, max 40, nullable

Optional

House number of the postal address.

postalAddress.postalCode

string, max 20

Required (if postalAddress is set)

Postal code of the postal address.

postalAddress.city

string, max 200

Required (if postalAddress is set)

City of the postal address.

postalAddress.countryISOCode

string, max 2

Required (if postalAddress is set)

ISO 3166-1 alpha-2 country code of the postal address.

phoneNumber

string, nullable

Optional

The supplier's landline phone number.

mobileNumber

string, nullable

Optional

The supplier's mobile phone number.

primaryEmailAddresses

array of string, nullable

Conditionally required

The supplier's primary email address(es).

invoicesEmailAddresses

array of string, nullable

Optional

Email address(es) that receive invoices for this supplier.

paymentRemindersEmailAddresses

array of string, nullable

Optional

Email address(es) that receive payment reminder correspondence.

indexationsEmailAddresses

array of string, nullable

Optional

Email address(es) that receive rent or fee indexation notices.

serviceTicketsEmailAddresses

array of string, nullable

Optional

Email address(es) that receive service or maintenance ticket correspondence.

purchaseOrdersEmailAddresses

array of string, nullable

Optional

Email address(es) that receive purchase order correspondence.

portalsEmailAddresses

array of string, nullable

Optional

Email address(es) used for portal-related notifications.

otherEmailAddresses

array of string, nullable

Optional

Any additional email address(es) not covered by the categories above.

cocNumber

string, max 256, nullable

Optional

Chamber of Commerce (KVK-style) registration number, where applicable.

cocDescription

string, nullable

Optional

Free-text description associated with the Chamber of Commerce registration.

vatNumber

string, max 256, nullable

Optional

The supplier's VAT identification number.

defaultPurchaseInvoiceSubject

string, max 512, nullable

Optional

The preferred subject line for purchase invoices from this supplier.

paymentMethod

integer (enum), nullable

Optional

The preferred payment method used to pay this supplier. Allowed values: 1 = DirectDebit, 2 = BankTransfer, 3 = Withdrawal, 4 = Cash, 5 = iDEAL.

defaultPaymentTermName

string, nullable

Optional

The preferred payment term for this supplier.

defaultLedgerAccountCode

string, nullable

Optional

The preferred general ledger account code for booking purchases from this supplier.

remarks

string, nullable

Optional

Free-text internal remarks about the supplier.

archiveDate

string (date), nullable

Optional

The date from which the supplier is archived. Always null immediately after creation.

" } } }, "components": { "schemas": { "Supplier": { "required": [ "correspondenceMethod", "name" ], "type": "object", "properties": { "languageISOCode": { "maxLength": 2, "minLength": 0, "type": "string", "nullable": true }, "address": { "$ref": "#/components/schemas/Address" }, "invoiceAddress": { "$ref": "#/components/schemas/Address" }, "postalAddress": { "$ref": "#/components/schemas/Address" }, "primaryEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "invoicesEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "paymentRemindersEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "indexationsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "serviceTicketsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "purchaseOrdersEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "portalsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "otherEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "externalIdentifier": { "maxLength": 100, "minLength": 0, "type": "string", "nullable": true }, "phoneNumber": { "type": "string", "nullable": true }, "mobileNumber": { "type": "string", "nullable": true }, "cocNumber": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "cocDescription": { "type": "string", "nullable": true }, "vatNumber": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "correspondenceMethod": { "type": "integer", "description": "Email = 1\nPost = 2", "format": "int32", "x-enumNames": [ "Email", "Post" ] }, "remarks": { "type": "string", "nullable": true }, "supplierTypeName": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "name": { "maxLength": 256, "minLength": 0, "type": "string" }, "website": { "type": "string", "nullable": true }, "defaultPurchaseInvoiceSubject": { "maxLength": 512, "minLength": 0, "type": "string", "nullable": true }, "paymentMethod": { "type": "integer", "description": "DirectDebit = 1\nBankTransfer = 2\nWithdrawal = 3\nCash = 4\niDEAL = 5", "format": "int32", "nullable": true, "x-enumNames": [ "DirectDebit", "BankTransfer", "Withdrawal", "Cash", "iDEAL" ] }, "defaultPaymentTermName": { "type": "string", "nullable": true }, "defaultLedgerAccountCode": { "type": "string", "nullable": true } }, "additionalProperties": false }, "SupplierDetails": { "required": [ "correspondenceMethod", "name" ], "type": "object", "properties": { "languageISOCode": { "maxLength": 2, "minLength": 0, "type": "string", "nullable": true }, "address": { "$ref": "#/components/schemas/Address" }, "invoiceAddress": { "$ref": "#/components/schemas/Address" }, "postalAddress": { "$ref": "#/components/schemas/Address" }, "primaryEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "invoicesEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "paymentRemindersEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "indexationsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "serviceTicketsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "purchaseOrdersEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "portalsEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "otherEmailAddresses": { "type": "array", "items": { "type": "string" }, "nullable": true }, "externalIdentifier": { "maxLength": 100, "minLength": 0, "type": "string", "nullable": true }, "phoneNumber": { "type": "string", "nullable": true }, "mobileNumber": { "type": "string", "nullable": true }, "cocNumber": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "cocDescription": { "type": "string", "nullable": true }, "vatNumber": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "correspondenceMethod": { "type": "integer", "description": "Email = 1\nPost = 2", "format": "int32", "x-enumNames": [ "Email", "Post" ] }, "remarks": { "type": "string", "nullable": true }, "supplierTypeName": { "maxLength": 256, "minLength": 0, "type": "string", "nullable": true }, "name": { "maxLength": 256, "minLength": 0, "type": "string" }, "website": { "type": "string", "nullable": true }, "defaultPurchaseInvoiceSubject": { "maxLength": 512, "minLength": 0, "type": "string", "nullable": true }, "paymentMethod": { "type": "integer", "description": "DirectDebit = 1\nBankTransfer = 2\nWithdrawal = 3\nCash = 4\niDEAL = 5", "format": "int32", "nullable": true, "x-enumNames": [ "DirectDebit", "BankTransfer", "Withdrawal", "Cash", "iDEAL" ] }, "defaultPaymentTermName": { "type": "string", "nullable": true }, "defaultLedgerAccountCode": { "type": "string", "nullable": true }, "reference": { "maxLength": 100, "minLength": 0, "type": "string", "nullable": true }, "displayName": { "type": "string", "nullable": true }, "archiveDate": { "type": "string", "format": "date", "nullable": true } }, "additionalProperties": false }, "APIErrorMessageModel": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "traceId": { "type": "string", "nullable": true }, "status": { "type": "integer", "format": "int32" }, "errors": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" }, "nullable": true }, "nullable": true } }, "additionalProperties": false }, "Address": { "required": [ "city", "countryISOCode", "postalCode", "street" ], "type": "object", "properties": { "street": { "maxLength": 200, "minLength": 0, "type": "string" }, "houseNumber": { "maxLength": 40, "minLength": 0, "type": "string", "nullable": true }, "postalCode": { "maxLength": 20, "minLength": 0, "type": "string" }, "city": { "maxLength": 200, "minLength": 0, "type": "string" }, "countryISOCode": { "maxLength": 2, "minLength": 0, "type": "string" } }, "additionalProperties": false } } } } ````