Approve a trade account request
POST
/trade-applications/{id}/approve
const url = 'https://example.com/trade-applications/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/approve';const options = { method: 'POST', headers: { cookie: 'bottle.session_token=<bottle.session_token>', 'Content-Type': 'application/json' }, body: '{"customerId":"019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f","create":true,"paymentTerms":"on_account","paymentTermsDays":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/trade-applications/019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f/approve \ --header 'Content-Type: application/json' \ --cookie bottle.session_token=<bottle.session_token> \ --data '{ "customerId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "create": true, "paymentTerms": "on_account", "paymentTermsDays": 1 }'CustomerId joins the shopper to an existing trade customer; create: true makes a trade customer from the request (its name, phone, email and address, with the company and VAT numbers and other contacts in its notes), on paymentTerms when given. The shopper joins as a manager, is emailed, and sees trade prices from then on. Each contact on the request is invited to their own sign-in with their role (invited lists them), skipping the shopper and anybody already on the customer.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
UUID v7
string format: uuid
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fUUID v7
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
customerId
UUID v7
string format: uuid
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8fcreate
boolean
paymentTerms
string
paymentTermsDays
integer
Responses
Section titled “Responses”Approved, with the colleagues invited
Media typeapplication/json
object
id
required
UUID v7
string format: uuid
status
required
string
businessName
required
string
phone
required
string
companyNumber
required
string | null
vatNumber
required
string | null
contacts
required
Array<object> | null
object
name
required
string
role
required
string
email
string
phone
string
address
required
object
line1
string
line2
string
city
string
postcode
string
notes
required
string | null
account
required
object
id
required
UUID v7
string format: uuid
email
required
string
name
required
string
customerId
required
UUID v7
string | null format: uuid
reason
required
string | null
decidedAt
required
string | null format: date-time
createdAt
required
string format: date-time
invited
required
Array<object>
object
email
required
string
role
required
string
Example
{ "id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "status": "pending", "contacts": [ { "role": "buyer" } ], "account": { "id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" }, "customerId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f", "invited": [ { "role": "buyer" } ]}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 request, customer or sign-in
Media typeapplication/json
object
error
required
string
message
required
string
Example
{ "error": "not_found", "message": "Customer not found"}Already answered, or the customer is a household
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
message
required
string
issues
required
Array<object>
object
path
required
string
message
required
string
Example
{ "error": "validation", "issues": [ { "path": "email", "message": "Invalid email" } ]}