Get freight offer details

Down­load details of select­ed nego­ti­a­tion offer for freight pub­li­ca­tion.

Once the car­ri­er has start­ed the nego­ti­a­tion with you, you can check the cur­rent nego­ti­a­tion sta­tus and its his­to­ry. Data is also avail­able for offers of accept­ed and archived freights.

The offers-id iden­ti­fi­ca­tion num­ber in request can be tak­en from the response of Get freight offer list request.

GET
/ext/freights-api/v1/freights/offers/{offers-id}
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
GET /ext/freights-api/v1/freights/offers/{offer-id} 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}
Response Fields
AttributeTypeExam­pleDescrip­tion
car­ri­erObjectThe car­ri­er’s com­pa­ny respond­ing to the offer
carrier.addressObjectCar­ri­er’s com­pa­ny address
carrier.address.countryString“de”Coun­try using ISO val­ues (see dic­tio­nary)
carrier.address.localityString“Berlin”City name
carrier.address.postal_codeString“09230”Postal code
carrier.address.streetString“Mag­a­zin­strasse”Street name
carrier.company_idInt1013454Car­ri­er’s com­pa­ny Trans.eu offi­ceId
carrier.emailStringmmiller@company.comCar­ri­er’s com­pa­ny e‑mail address
carrier.legal_nameString“Com­pa­ny GmbH”Car­ri­er’s com­pa­ny name
carrier.telephoneString“0049 301234567”Car­ri­er’s com­pa­ny tele­phone num­ber
carrier.vat_idString“DE999999999”Car­ri­er’s com­pa­ny vat id
contact_employeesArray of ObjectList of car­ri­er’s employ­ees assigned to freight nego­ti­a­tion
contact_employees.last_nameString“Miller”Sur­name of assigned employ­ee
contact_employees.nameString“Max”First name of assigned employ­ee
contact_employees.trans_idString1013454–2Tran­sId of assigned employ­ee
idStringe9db1379-b172-4506–8d5b-531b82a99703Freight offer iden­ti­fi­er
negotiations_logsArray of ObjectList of price changes with addi­tion­al details, chrono­log­i­cal­ly descend­ing.
negotiations_logs.actionString“NEGOTIATION_PARTICIPANT_OFFER”Nego­ti­a­tion action type — see list of val­ues.
negotiations_logs.carrier_offer_expiration_dateStringnullDate and time of offer expi­ra­tion
negotiations_logs.commentStringnullAddi­tion­al com­ment, post­ed as “require­ments” dur­ing offer cre­ation
negotiations_logs.created_atString“2026–03-04T07:51:46.181Z”Date and time the offer was cre­at­ed
negotiations_logs.created_byObjectDetails of user sub­mit­ting the offer
negotiations_logs.created_by.emailStringmaxmiller@company.comUser email address
negotiations_logs.created_by.family_nameString“Miller”User name
negotiations_logs.created_by.given_nameString“Max”User sur­name
negotiations_logs.created_by.idInt759284User account id
negotiations_logs.created_by.telephoneString“0049 301234567”User tele­phone num­ber
negotiations_logs.created_by.trans.idString“1013454–2”User Tran­sId
negotiations_logs.created_by_company_idInt1013454User’s com­pa­ny offi­ceId
negotiations_logs.idStringe9db1379-b172-4506–8d5b-531b82a99703Freight offer iden­ti­fi­er
negotiations_logs.is_shipperBooleanFalseVal­ue set to true if offer was sent by ship­per
negotiations_logs.priceObjectOffer price of nego­ta­tion action
negotiations_logs.price.currencyString“eur”Price cur­ren­cy
negotiations_logs.price.valueFloat“600”Price val­ue
negotiations_logs.proposal_request_idInt0Dep­re­cat­ed field. Always is 0.
offer_expiration_dateStringDate and time of pub­lish­er’s offer expi­ra­tion
priceObjectCur­rent offer price
price.currencyString“eur”Offer price cur­ren­cy
price.valueFloat450Offer price val­ue
sta­tusString“nego­ti­a­tion”Offer nego­ti­a­tion sta­tus.
ver­sionInt3Ver­sion of nego­ti­a­tion offer. The next call in this nego­ti­a­tion should have this num­ber.
Negotiations action types

The ship­per com­pa­ny is an own­er of freight pub­li­ca­tion.
The car­ri­er com­pa­ny is the par­tic­i­pant to the nego­ti­a­tions.

Response Body
{
    "carrier": {
        "address": {
            "country": "DE",
            "locality": "Berlin",
            "postal_code": "09230",
            "street": "Magazinstrasse"
        },
        "company_id": 1013454,
        "email": "mmiller@company.com",
        "legal_name": "Company GmbH",
        "telephone": "0049 301234567",
        "vat_id": "DE99999999"
    },
    "contact_employees": [
        {
            "last_name": "Miller",
            "name": "Max",
            "trans_id": "1013865-1"
        }
    ],
    "id": "e15d98f9-aebf-4812-b0c5-e441222ec833",
    "negotiations_logs": [
        {
            "action": "NEGOTIATION_OWNER_ACCEPT",
            "carrier_offer_expiration_date": null,
            "comment": null,
            "created_at": "2026-03-17T09:37:16.832Z",
            "created_by": {
                "email": "jkowalski@example.com",
                "family_name": "Kowalski",
                "given_name": "Jan",
                "id": 765361,
                "telephone": null,
                "trans_id": "1007374-5"
            },
            "created_by_company_id": 1007374,
            "id": "e15d98f9-aebf-4812-b0c5-e441222ec833",
            "is_shipper": true,
            "price": {
                "currency": "eur",
                "value": 230
            },
            "proposal_request_id": 0
        },
        {
            "action": "NEGOTIATION_PARTICIPANT_OFFER",
            "carrier_offer_expiration_date": null,
            "comment": null,
            "created_at": "2026-03-17T09:36:49.939Z",
            "created_by": {
                "email": "mmiller@company.com",
                "family_name": "Miller",
                "given_name": "Max",
                "id": 759284,
                "telephone": "0049 301234567",
                "trans_id": "1013454-2"
            },
            "created_by_company_id": 1013454,
            "id": "e15d98f9-aebf-4812-b0c5-e441222ec833",
            "is_shipper": false,
            "price": {
                "currency": "eur",
                "value": 230
            },
            "proposal_request_id": 0
        },
        {
            "action": "NEGOTIATION_CREATED",
            "carrier_offer_expiration_date": null,
            "comment": null,
            "created_at": "2026-03-17T09:36:49.939Z",
            "created_by": {
                "email": "jkowalski@example.com",
                "family_name": "Kowalski",
                "given_name": "Jan",
                "id": 765361,
                "telephone": null,
                "trans_id": "1007374-5"
            },
            "created_by_company_id": 1007374,
            "id": "e15d98f9-aebf-4812-b0c5-e441222ec833",
            "is_shipper": true,
            "price": {
                "currency": "pln",
                "value": null
            },
            "proposal_request_id": 0
        }
    ],
    "offer_expiration_date": null,
    "price": {
        "currency": "eur",
        "value": 230
    },
    "status": "acceptation",
    "version": 3
}

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

Offer does not exists or no access

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

The offer belongs to anoth­er employ­ee of your com­pa­ny

{
    "detail": "Access to freight forbidden (freight: 3824585, employee: 765361)",
    "status": 403,
    "title": "Forbidden",
    "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}