Choose a price list’s deposit or rent on each gas type
const url = 'https://example.com/rate-sets/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/cylinder-charges';const options = { method: 'PUT', headers: { cookie: '__Host-bottle.session_token=<__Host-bottle.session_token>', 'Content-Type': 'application/json' }, body: '{"charges":[{"gasTypeId":null,"sizeId":null,"choice":"usual","amount":null}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://example.com/rate-sets/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/cylinder-charges \ --header 'Content-Type: application/json' \ --cookie __Host-bottle.session_token=<__Host-bottle.session_token> \ --data '{ "charges": [ { "gasTypeId": null, "sizeId": null, "choice": "usual", "amount": null } ] }'For each gas type (or size with a charge of its own) sent, what the list charges its members: usual (each pays the deposit or rent they are set to), deposit (the deposit, never rent), rent (the rent, never a deposit) or none. amount is the list’s own amount for the one chosen; null is the usual amount. One left out stays as it is. Saved as the list’s rows on those deposits and rents, which GET /rate-sets/{id} shows in prices and, read back per gas type, in cylinderCharges. A gas type or size with no charge, or a choice of a charge it does not have, is a 422 unknown_charge. Where a gas type (or a size) has both a deposit and rent, a list charges one of them or neither, never both: an amount on one needs the other notCharged (422 charges_both otherwise). The one chosen with no row of its own is charged at the usual amount, whoever usually pays it. A customer’s own deposit-or-rent choice, set on their record, still beats the list’s.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fUUID v7
Request Bodyrequired
Section titled “Request Bodyrequired”object
object
UUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fUUID v7
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fWhat a price list charges its members on one gas type (or size). usual: each member pays the deposit or rent they are set to, at the usual amount. deposit: the deposit and never rent. rent: the rent and never a deposit. none: neither.
The list’s amount for the charge chosen. Null: the usual amount. Only with deposit or rent.
object
Responses
Section titled “Responses”The list with its charges
object
UUID v7
object
UUID v7
object
UUID v7
UUID v7
UUID v7
UUID v7
What a price list charges its members on one gas type (or size). usual: each member pays the deposit or rent they are set to, at the usual amount. deposit: the deposit and never rent. rent: the rent and never a deposit. none: neither.
object
Example
{ "id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "prices": [ { "productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" } ], "cylinderCharges": [ { "gasTypeId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "sizeId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "depositId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "rentId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "choice": "usual" } ]}Not signed in
object
Example
{ "error": "not_found", "message": "Customer not found"}Not a member, or without the permission this needs
object
Example
{ "error": "not_found", "message": "Customer not found"}No such price list
object
Example
{ "error": "not_found", "message": "Customer not found"}Validation failed
object
object
Example
{ "error": "validation", "issues": [ { "path": "email", "message": "Invalid email" } ]}