Represents a company that supplies materials or other inputs, for example raw materials, components, or packaging. In the Excel templates, suppliers are registered on the Suppliers sheet.
Suppliers are a shared entity. They work the same way in every manufacturing domain model.
The Supplier object
{
"code": "SUP-001",
"name": "Central Metals Ltd.",
"taxNumber": "SI12345678",
"group": "SG-RAW"
}
Fields
| Field | Type | Description | Example |
|---|---|---|---|
code |
string | Unique business code used to identify the supplier in external systems and integrations. | "SUP-001" |
name |
string | Registered or human-readable name of the supplier. | "Central Metals Ltd." |
taxNumber |
string or null | Tax number used to identify the supplier across source systems. | "SI12345678" |
group |
string or null | Business code of the supplier group this supplier belongs to. | "SG-RAW" |
Important
code must be unique. Two suppliers cannot use the same code.
Supplier groups
A supplier group is registered as a supplier of its own, with a code and a name. Other suppliers refer to it through their group field.
For example, register the group first:
{
"code": "SG-RAW",
"name": "Raw material suppliers"
}
Then assign suppliers to it, as in the object above.
- The group must exist before a supplier refers to it. Otherwise the request is refused.
- A group can itself belong to a group. A chain of groups that leads back to itself is refused.
- A group cannot be deleted while suppliers belong to it.
API resource
| Resource | Base path |
|---|---|
Supplier |
/manufacturing/v1/suppliers |
For the operations shared by all shared entities, see Shared entities API.
API methods
Create a supplier
POST /manufacturing/v1/suppliers/insert
Creates a new supplier and returns its Pulse identifier.
Request
POST /manufacturing/v1/suppliers/insert
Content-Type: application/json
{
"code": "SUP-001",
"name": "Central Metals Ltd.",
"taxNumber": "SI12345678",
"group": "SG-RAW"
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
code |
string | yes | Unique business code of the supplier. |
name |
string | yes | Registered or human-readable name of the supplier. |
taxNumber |
string or null | no | Tax number of the supplier. |
group |
string or null | no | Business code of an existing supplier group. |
Update a supplier
PUT /manufacturing/v1/suppliers/update
Updates an existing supplier. The supplier must already exist.
An update replaces all fields. If you leave out taxNumber or group, the supplier's tax number or group is removed. To change only some fields, use patch.
Request
PUT /manufacturing/v1/suppliers/update
Content-Type: application/json
{
"code": "SUP-001",
"name": "Central Metals and Alloys Ltd.",
"taxNumber": "SI12345678",
"group": "SG-RAW"
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
code |
string | yes | Business code of the supplier to update. |
name |
string | yes | Registered or human-readable name of the supplier. |
taxNumber |
string or null | no | Tax number of the supplier. |
group |
string or null | no | Business code of an existing supplier group. |
Patch a supplier
PATCH /manufacturing/v1/suppliers/patch
Partially updates an existing supplier.
The fields to update are supplied in the properties object. The supplier is identified by its business code, which cannot be changed. Fields you leave out keep their current values. To remove the tax number or the group, send it as null.
Request
PATCH /manufacturing/v1/suppliers/patch
Content-Type: application/json
{
"properties": {
"code": "SUP-001",
"group": null
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
properties |
object | yes | Fields included in the partial update. |
properties.code |
string | yes | Business code of the supplier to update. |
properties.name |
string | no | New name of the supplier. |
properties.taxNumber |
string or null | no | New tax number, or null to remove it. |
properties.group |
string or null | no | Business code of an existing supplier group, or null to remove the group. |
Retrieve a supplier
GET /manufacturing/v1/suppliers/select
Returns the supplier identified by its business code. If no supplier has this code, the response is empty.
Request
GET /manufacturing/v1/suppliers/select?id=SUP-001
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Business code of the supplier to retrieve. |
Example response
{
"code": "SUP-001",
"name": "Central Metals Ltd.",
"taxNumber": "SI12345678",
"group": "SG-RAW"
}
List suppliers
GET /manufacturing/v1/suppliers/query
Returns suppliers matching the supplied filters.
Request
GET /manufacturing/v1/suppliers/query?groups=SG-RAW
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
codes |
string or array of strings | no | Limits results to suppliers with the specified business codes. |
names |
string or array of strings | no | Limits results to suppliers with the specified names. Upper and lower case are not distinguished. |
taxNumbers |
string or array of strings | no | Limits results to suppliers with the specified tax numbers. Upper and lower case are not distinguished. |
groups |
string or array of strings | no | Limits results to suppliers that belong directly to the specified groups. |
Example response
[
{
"code": "SUP-001",
"name": "Central Metals Ltd.",
"taxNumber": "SI12345678",
"group": "SG-RAW"
}
]
Delete a supplier
DELETE /manufacturing/v1/suppliers/delete
Deletes the supplier identified by its business code. If no supplier has this code, nothing happens. A supplier group cannot be deleted while suppliers belong to it.
Request
DELETE /manufacturing/v1/suppliers/delete?id=SUP-001
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Business code of the supplier to delete. |