Skip to main content
When to use this. A facility is a physical production location (factory, mill, warehouse, etc.) owned or operated by one of your sub-suppliers. You create facilities under a sub-supplier, assign production process types to them (e.g. Ginning Mill, Knitting Mill), and then reference them in supply-chain mappings and compliance certificates. Use these endpoints to build and maintain that location library.

The workflow

Facilities live under sub-suppliers. The usual path is to locate or create the relevant sub-supplier first, create facilities with their production process types, and then reference them from supply-chain mappings or style-level assignments.
1

Identify the sub-supplier

Facilities always belong to a sub-supplier. Retrieve the sub-supplier’s GUID from GET /api/sub-suppliers — you’ll need it as the subSupplierId path parameter.
2

Create facilities

POST /api/sub-suppliers/{subSupplierId}/facilities with facility name, address, country code, and at least one processTypeId. The endpoint accepts an array so multiple facilities can be created in a single all-or-nothing transaction.
3

List and search facilities

GET /api/facilities (cross-org view) or GET /api/sub-suppliers/{subSupplierId}/facilities to filter by country, process type, MID, or free-text search.
4

Archive or soft-delete

PATCH /api/facilities/{id} with [{ "op": "replace", "path": "/state", "value": "archived" }] to retire a facility without losing its history, or DELETE /api/facilities/{id} to soft-delete it (sets deletedAt; never returns in list queries).

Walkthrough

Create a facility for a sub-supplier and assign process types. The body is an array — one or many facilities are created in a single all-or-nothing transaction.
The response wraps the created facilities in the standard envelope. Hold onto each id — supply-chain mappings and certificate associations reference facilities by it.

Field reference

PUT /api/facilities/{id} is a full replace and requires all mandatory fields on every call. Use PATCH /api/facilities/{id} (RFC 6902 JSON Patch) for partial updates — only the fields you send change, the rest keep their current values.

Roles & permissions

Managing facilities requires the suppliers permission on either a designer (brand) account or a supplier portal account:
  • Brand users (CompanyAdmin, CompanyUser) can create and manage facilities for any sub-supplier within their organisation.
  • Supplier portal users (SupplierAdmin, SupplierUser) can manage facilities for their own sub-suppliers. Facility information is automatically shared with connected brand customers for supply-chain visibility.
Deleting a facility permanently removes it from supply-chain mappings — prefer archiving (state: archived) to preserve historical records.

When things go wrong

Errors use the standard envelope (status: "error", a code, and error.details[]). See Errors & responses for the full list of codes and how to resolve them. Common cases for Facilities:

What to call next

Size ranges

Define the size ranges that styles and items reference — another supply-chain building block.

Style categories

Organise styles into categories alongside their facility assignments.

Seasons

Create the seasons that styles are filed under — the top-level product structure.

Style supplier facilities

Link a style to the specific supplier facilities it is produced at.

API reference

Full parameter and response details for all Facilities endpoints.