Submitting an offer with a price in the freight negotiation process.
The offers-id identification number in request can be taken from the response of Get freight offer details request for publisher’s side or from Get freight proposal by id request for participant’s side of negotiations.
PATCH
/ext/freights-api/v1/freights/offers/{offer-id}/negotiate
Request Authorization
Every request MUST include a valid access token obtained during the user authorization process, provided using the Bearer token scheme in the Authorization header.
Successful Response
Error Response
Request Header
PATCH /ext/freights-api/v1/freights/offers/{offer-id}/negotiate HTTP/1.1
Host: api.platform.trans.eu
Content-Type: application/json
Accept: application/json
Authorization: Bearer {access_token)
Api-key: {unique_app_api-key}Request Parameters
| Attribute | Type | Example | Mandatory | Description |
| payment | Object | No | Proposed payment conditions | |
| payment.price | Object | No | Proposed price | |
| payment.price.currency | String | eur | No | Price currency, default pln is set. See currency dictionary. |
| payment.price.type | String | route | No | Type of settlement. Available values: route, ton. Default is route.Ton value allowed for multi-freights only. |
| payment.price.value | Float | 150 | Yes | Price value (range: 1 – 9 999 999,99) |
| target_employee_id | String | 1013865–1 | No | User’s Trans ID. Designating an additional person to whom we send the offer — allows you to start independent negotiations with another user. |
| transports | Object | No | Terms of negotiating multi-freight transports | |
| transports.quantity | Int | 2 | No | Number of negotiated transports — must be not greater than the current number of transports available for negotiation |
| version | Int | 4 | Yes | Current negotiation asking version — the same as returned in Get freight offers list or Get freight offer details (for publisher’s side) or returned in Get freight proposal (for participant’s side) |
Example Request Body
{
"payment": {
"price": {
"currency": "eur",
"type": "route",
"value": 220
}
},
"target_employee_id": "1013865-1",
"transports": {
"quantity": 1
},
"version": 4
}Response Fields
| Attribute | Type | Example | Description |
| carrier | Object | Information about the carrier company participating in the negotiations | |
| carrier.company_id | Int | 1013865 | Office ID of carrier company |
| carrier.cooperation | Object | Cooperation status | |
| carrier.cooperation.is_suspended | Boolean | False | Determines whether cooperation with this carrier is suspended |
| carrier.legal_name | String | Logistix Exp | Name of carrier company |
| carrier.vat_id | String | PL4574663803 | Tax id of carrier company |
| created_at | String | 2026–03-04T11:17:18.289Z | Date and time of sending the current offer |
| id | String | 33f16f7a-3547–41cc-a82f-fb42a906d5c3 | Offer id |
| price | Object | Proposed price | |
| price.currency | String | eur | Price currency |
| price.type | String | ton | Type of settlement. Available values: route, ton. |
| price.value | Float | 126 | Price value |
| version | Int | 2 | Requested negotiation asking version |
| was_negotiated | Boolean | False | True - You are the initiator of the negotiationsFalse - The other participant in the negotiation is its initiator |
Response Body
{
"carrier": {
"company_id": 1013865,
"cooperation": {
"is_suspended": false
},
"legal_name": "Logistix Exp",
"vat_id": "PL4574663803"
},
"created_at": "2026-03-04T11:17:18.289Z",
"id": "33f16f7a-3547-41cc-a82f-fb42a906d5c3",
"price": {
"currency": "eur",
"type": "ton",
"value": 220
},
"version": 4,
"was_negotiated": false
}Client errors (code 400)
HTTP 4xx status codes indicate client errors, meaning that the request could not be processed due to an issue on the client side. Below is a list of request-specific errors.
Example error 1
Negotation is ended
{
"detail": "Auction winner was already chosen",
"status": 422,
"title": "Unprocessable Entity",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Example error 2
Transports allowed only for mult-freights
{
"detail": "Transports can not be negotiated for this offer",
"status": 422,
"title": "Unprocessable Entity",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}Example error 3
Inconsistent price type
{
"detail": "Offer price type is not valid",
"status": 422,
"title": "Unprocessable Entity",
"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}