Skip to content

Set what a supplier charges

PUT
/stock/suppliers/{id}/costs
curl --request PUT \
--url https://example.com/stock/suppliers/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/costs \
--header 'Content-Type: application/json' \
--cookie __Host-bottle.session_token=<__Host-bottle.session_token> \
--data '{ "costs": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "unitCostPence": 1, "breaks": [ { "fromQuantity": 1, "unitCostPence": 1 } ] } ] }'

What this supplier charges the business for some of the products they supply, before VAT, with any quantity prices. Products not named keep their costs. These costs stay on the supplier and are not shown on the product.

id
required

UUID v7

string format: uuid

Example

019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f

UUID v7

Media typeapplication/json
object
costs
required
Array<object>
>= 1 items <= 500 items

What a supplier charges the business for one product. Kept on the supplier only; not shown on the product.

object
productId
required

UUID v7

string format: uuid

Example

019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f
unitCostPence
required
integer | null
<= 100000000
breaks
required
Array<object>
<= 10 items

A cheaper cost from a quantity, before VAT (“10 or more at £22.00 each”).

object
fromQuantity
required
integer
>= 2 <= 100000
unitCostPence
required
integer
<= 100000000

The supplier, with its contacts

Media typeapplication/json
object
id
required

UUID v7

string format: uuid
name
required
string
address
required
string | null
addressLine1
required
string | null
addressLine2
required
string | null
town
required
string | null
postcode
required
string | null
accountNumber
required
string | null
note
required
string | null
howToOrder
required
string | null
archivedAt
required
string | null format: date-time
yardIds
required
Array<string>
productIds
required
Array<string>
costs
required
Array<object>

What a supplier charges the business for one product. Kept on the supplier only; not shown on the product.

object
productId
required

UUID v7

string format: uuid
unitCostPence
required
integer | null
<= 100000000
breaks
required
Array<object>
<= 10 items

A cheaper cost from a quantity, before VAT (“10 or more at £22.00 each”).

object
fromQuantity
required
integer
>= 2 <= 100000
unitCostPence
required
integer
<= 100000000
contacts
required
Array<object>
object
id
required

UUID v7

string format: uuid
name
required
string
jobTitle
required
string | null
phone
required
string | null
email
required
string | null
note
required
string | null
isMain
required
boolean
isBilling
required
boolean
forOrders
required
boolean
forDeliveries
required
boolean
openOrders
required
integer
lastOrderedAt
required
string | null format: date-time

Example

{
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"yardIds": [
"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f"
],
"productIds": [
"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f"
],
"costs": [
{
"productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f"
}
],
"contacts": [
{
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f"
}
]
}

Not signed in

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

Not a member, or without the permission this needs

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

No such supplier or contact in this business

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

Validation failed

Media typeapplication/json
object
error
required
string
Allowed values: validation
message
required
string
issues
required
Array<object>
object
path
required
string
message
required
string

Example

{
"error": "validation",
"issues": [
{
"path": "email",
"message": "Invalid email"
}
]
}