Finish the negotiations

Rejec­tion of the received offer and ter­mi­na­tion of nego­ti­a­tions with the user.

The par­tic­i­pan­t’s offer is defin­i­tive­ly reject­ed. The user will no longer be able to par­tic­i­pate in nego­ti­a­tions for this freight.

The ver­sion and user ID para­me­ters in the request body are option­al, but it is rec­om­mend­ed to pro­vide them with cor­rect val­ues to ensure that the user who fin­ish­es the offer sees its lat­est ver­sion.

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}/reject
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}/reject 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_idString1002334–1NoUser’s Trans ID.
Des­ig­nat­ing a per­son whose offer is being fin­ished.
ver­sionInt4NoCur­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_idInt1013865Office 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_idStringPL4574663803Tax 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.typeStringtonType 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

Own active offer

{
    "detail": "Active offer was not made by negotiation participant",
    "status": 422,
    "title": "Unprocessable Entity",
    "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Example error 2

Nego­ti­a­tion already reject­ed

{
    "detail": "Negotiation has already been rejected",
    "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"
}