Accept freight offer

Accept­ing received offer with a price in the freight nego­ti­a­tion process.

The offers-id iden­ti­fi­ca­tion num­ber in request can be tak­en from the response of Get freight offer details request for pub­lish­er’s side or from Get freight pro­pos­al by id request for par­tic­i­pan­t’s side of nego­ti­a­tions.

POST
/ext/freights-api/v1/freights/offers/{offer-id}/accept
Request Authorization

Every request MUST include a valid access token obtained dur­ing the user autho­riza­tion process, pro­vid­ed using the Bear­er token scheme in the Autho­riza­tion head­er.

Successful Response
Request Header
POST /ext/freights-api/v1/freights/offers/{offer-id}/accept 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
AttributeTypeExam­pleManda­to­ryDescrip­tion
target_employee_idString
1013865–1
NoUser’s Trans ID.
Des­ig­nat­ing a per­son whose offer is being accept­ed.
ver­sionInt4YesCur­rent nego­ti­a­tion ask­ing ver­sion — the same as returned in Get freight offers list or Get freight offer details (for pub­lish­er’s side) or returned in Get freight pro­pos­al (for par­tic­i­pan­t’s side)
Example Request Body
{
"target_employee_id": "1013865-1",
"version": 4
}
Response Fields
AttributeTypeExam­pleDescrip­tion
car­ri­erObjectInfor­ma­tion about the car­ri­er com­pa­ny par­tic­i­pat­ing in the nego­ti­a­tions
carrier.company_idInt1013865–1Office ID of car­ri­er com­pa­ny
carrier.cooperationObjectCoop­er­a­tion sta­tus
carrier.cooperation.is_suspendedBooleanFalseDeter­mines whether coop­er­a­tion with this car­ri­er is sus­pend­ed
carrier.legal_nameStringLogis­tix ExpName of car­ri­er com­pa­ny
carrier.vat_idStringDE234543453Tax id of car­ri­er com­pa­ny
created_atString2026–03-04T11:17:18.289ZDate and time of send­ing the cur­rent offer
idString33f16f7a-3547–41cc-a82f-fb42a906d5c3Offer id
priceObjectPro­posed price
price.currencyString“eur”Price cur­ren­cy
price.typeStringrouteType of set­tle­ment. Avail­able val­ues: routeton.
price.valueFloat126Price val­ue
ver­sionInt2Request­ed nego­ti­a­tion ask­ing ver­sion
was_negotiatedBooleanFalseTrue - You are the ini­tia­tor of the nego­ti­a­tions
False - The oth­er par­tic­i­pant in the nego­ti­a­tion is its ini­tia­tor
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 sta­tus codes indi­cate client errors, mean­ing that the request could not be processed due to an issue on the client side. Below is a list of request-spe­cif­ic errors.

Example error 1

Incor­rect nego­ti­a­tion ver­sion

{
    "detail": "Negotiation version changed",
    "status": 422,
    "title": "Unprocessable Entity",
    "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Example error 2

Nego­ti­a­tion already accept­ed

{
    "detail": "Auction winner was already chosen",
    "status": 422,
    "title": "Unprocessable Entity",
    "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Example error 3

Incor­rect offer-id

{
    "detail": "Negotiation read model not found",
    "status": 404,
    "title": "Not Found",
    "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}