---
title: "Offer API"
url: "https://stage-api-docs.centraldispatch.com/apis/stage-offer-api-1-0-0/versions/43981ece-e7be-4c4b-a45e-0f4da174a60c"
---

# Offer API

OpenAPI specification document.

```json
{"openapi":"3.0.1","info":{"title":"Offer API","description":"Central Dispatch's Offer API allows shippers and brokers to manage offers made to carriers for listings. This API provides functionalities for creating, updating, and retrieving offers, ensuring that shippers and brokers can efficiently handle the negotiation and acceptance processes.\n 🔑 Scope: offers_api","contact":{"email":"datasyndicationsupport@centraldispatch.com"},"version":"1.0.0"},"servers":[{"url":"https://prod-offers-api.awscal2.manheim.com","description":"Production server"}],"paths":{"/negotiations":{"post":{"tags":["Negotiations"],"summary":"Start Negotiation","description":"\nInitiate an offer negotiation on a listing.\n\n#### 📝 Important Notes\n- The response will contain a `Location` header that contains the fully qualified URL of the newly created resource. The final segment of the URL will be the ID of the resource.\n- The response will include an `ETag` header, which should be used for the `If-Match` header in subsequent updates.","operationId":"postNegotiation","parameters":[{"name":"Content-Type","in":"header","description":"The major version of the API to make a request against. This is a custom MIME type that contains `vnd.coxauto.v[#]+`. For example, to request a resource from version 1.x.x of an API, the Content-Type header should be set to `application/vnd.coxauto.v1+json`.","required":true,"schema":{"type":"string"},"example":"application/vnd.coxauto.v1+json"}],"requestBody":{"description":"`InitiateNegotiationModel`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateNegotiationModel"},"examples":{"ex.":{"value":{"amount":300,"carrierId":"0ca91a43-fbee-4c05-9a6c-aa5c63888f5c","deliveryDate":"2025-10-04T00:00:00.000Z","expirationDateTime":"2025-11-20T00:00:00.000Z","listingId":"42220470","marketplaceId":10000,"pickupDate":"2025-09-27T00:00:00.000Z"}}}}}},"responses":{"201":{"description":"Created. Successful request.","headers":{"Location":{"description":"Contains the fully qualified URL of the newly created or updated resource. The final segment of the URL will equal the ID of the resource.","schema":{"type":"string"},"example":"8675309"}}},"400":{"description":"Bad Request. Check the request payload.\n\n**Scenarios:**\n\n - Missing or empty `listingId`.\n - Missing or empty `customerId` (cannot be Guid.Empty).\n - Missing or empty `receiverCustomerId` (cannot be Guid.Empty).\n - `requestedPrice` must be greater than 0.\n - `requestedPrice` must be less than or equal to 99999999.\n - `amount` must be greater than 0.\n - `amount` must be less than or equal to 99999999.\n - Missing or empty `pickupDate`.\n - Missing or empty `deliveryDate`.\n - `deliveryDate` must not be before `pickupDate`.\n - `notes` must not exceed 250 characters.\n - Missing or empty `expirationDateUtc`.\n - `expirationDateUtc` must not be in the past (must be >= DateTime.UtcNow).\n - Listing not found (no offer listing exists for the specified `listingId`).\n - Listing status not ACTIVE (attempting to initiate negotiation on listing that's PENDING, EXPIRED, or CANCELLED).\n - `customerId` equals `receiverCustomerId` (they must be different parties).\n - Neither `customerId` nor `receiverCustomerId` equals the listing's `shipperId` (one party must be the shipper/listing owner).\n - For auto-accept negotiations: `amount` must exactly match the listing's `originalAsk` price.\n - Invalid `marketplaceId`.\n - Non-archived negotiation already exists for this carrier and listing.\n - `pickupDate` is null when SLA rules require it.\n - `deliveryDate` is null when SLA rules require it.\n - `pickupDate` falls outside allowed SLA date range.\n - `deliveryDate` falls outside allowed SLA date range.\n - Negotiation for this carrier has already been created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"401":{"description":"Unauthorized. Authentication failed or missing."},"403":{"description":"Forbidden. The attempted action is not permitted."},"429":{"description":"Too Many Requests. Rate limit exceeded."},"500":{"description":"Error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"503":{"description":"Service Unavailable. Temporary service interruption."}},"security":[{"Bearer":[]}]}},"/negotiations/id/{negotiationId}":{"get":{"tags":["Negotiations"],"summary":"Get Negotiation","description":"\nGet offer negotiation details.\n\n#### 📝 Important Notes\n- The ID of the resource is returned in resource's create endpoint. The response will contain a `Location` header that contains the fully qualified URL of the newly created resource. The final segment of the URL will be the ID of the resource.\n- The response will include an `ETag` header, which should be used for the `If-Match` header in subsequent updates.","operationId":"getNegotiation","parameters":[{"name":"negotiationId","in":"path","description":"The ID of the offer negotiation record.","required":true,"schema":{"type":"string","format":"uuid"},"example":"7e0a1107-bf75-4e09-a8db-9c3b73b4674b"},{"name":"Accept","in":"header","description":"The major version of the API to make a request against. This is a custom MIME type that contains `vnd.coxauto.v[#]+`. For example, to request a resource from version 1.x.x of an API, the Accept header should be set to `application/vnd.coxauto.v1+json`.","required":true,"schema":{"type":"string"},"example":"application/vnd.coxauto.v1+json"}],"responses":{"200":{"description":"OK. Successful request.","headers":{"Etag":{"description":"Contains the current version of the resource and should be used for the `If-Match` header on updates.","schema":{"type":"string"},"example":"8675300"},"X-CoxAuto-Media-Type":{"description":"Contains the major version and format information.","schema":{"type":"string"},"example":"coxauto.v1; format=json"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NegotiationResponse"}}}},"401":{"description":"Unauthorized. Authentication failed or missing."},"403":{"description":"Forbidden. The attempted action is not permitted."},"404":{"description":"Not Found.\n\n**Scenarios:**\n\n - No negotiation exists with the specified `negotiationId`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"429":{"description":"Too Many Requests. Rate limit exceeded."},"500":{"description":"Error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"503":{"description":"Service Unavailable. Temporary service interruption."}},"security":[{"Bearer":[]}]}},"/negotiations/id/{negotiationId}/acceptOffer":{"post":{"tags":["Negotiations"],"summary":"Accept Offer","description":"\nAccept an offer.\n\n#### 📝 Important Notes\nAcceptance of an offer can only be done by the party who was not the last one to transact on the offer.\n","operationId":"postAcceptOffer","parameters":[{"name":"negotiationId","in":"path","description":"The ID of the offer negotiation record.","required":true,"schema":{"type":"string","format":"uuid"},"example":"7e0a1107-bf75-4e09-a8db-9c3b73b4674b"},{"name":"If-Match","in":"header","description":"This is a required field to ensure the update is being completed on an item that has not changed since it was last read. The value of this field will be the value of the `ETag` header that was received on the preceding get call.","required":true,"schema":{"type":"integer"},"example":8675309},{"name":"Content-Type","in":"header","description":"The major version of the API to make a request against. This is a custom MIME type that contains `vnd.coxauto.v[#]+`. For example, to request a resource from version 1.x.x of an API, the Content-Type header should be set to `application/vnd.coxauto.v1+json`.","required":true,"schema":{"type":"string"},"example":"application/vnd.coxauto.v1+json"}],"requestBody":{"description":"`AcceptOfferRequest`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptOfferRequest"},"examples":{"ex.":{"value":{"pickupDate":"2025-09-27T00:00:00.000Z","deliveryDate":"2025-10-04T00:00:00.000Z"}}}}}},"responses":{"202":{"description":"Accepted. Successful request.","headers":{"Etag":{"description":"Contains the current version of the resource and should be used for the `If-Match` header on updates.","schema":{"type":"string"},"example":"8675300"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NegotiationResponse"}}}},"400":{"description":"Bad Request. Check the request payload.\n\n**Scenarios:**\n\n - Invalid request body structure.\n - Missing or empty `customerId` (cannot be Guid.Empty).\n - Missing or empty `negotiationId` (cannot be Guid.Empty).\n - Missing or empty `recordVersion` (If-Match header is 0 or not provided).\n - Missing or empty `pickupDate`.\n - Missing or empty `deliveryDate`.\n - `deliveryDate` must not be before `pickupDate`.\n - Negotiation status not AWAITING_CARRIER or AWAITING_SHIPPER (attempting to accept a negotiation that's already ACCEPTED, DECLINED, or ARCHIVED).\n - Listing status not ACTIVE (attempting to accept on a listing that's PENDING, EXPIRED, or CANCELLED).\n - No transactions exist for this negotiation.\n - `pickupDate` is null when SLA rules require it.\n - `deliveryDate` is null when SLA rules require it.\n - `pickupDate` falls outside allowed SLA date range.\n - `deliveryDate` falls outside allowed SLA date range.\n - Missing or empty 'If-Match' header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"401":{"description":"Unauthorized. Authentication failed or missing."},"403":{"description":"Forbidden. The attempted action is not permitted.\n\n**Scenarios:**\n\n - The customerId doesn't match the expected party based on negotiation status."},"404":{"description":"Not Found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"409":{"description":"Conflict. Update not allowed based on the current resource state.\n\n**Scenarios:**\n\n - The customer accepting was the last person to make an offer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"412":{"description":"Precondition Failed\n\n**Scenarios:**\n\n - `If-Match` header doesn't match current record version.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"429":{"description":"Too Many Requests. Rate limit exceeded."},"500":{"description":"Error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"503":{"description":"Service Unavailable. Temporary service interruption."}},"security":[{"Bearer":[]}]}},"/negotiations/id/{negotiationId}/appendAdjustment":{"post":{"tags":["Negotiations"],"summary":"Adjust Offer","description":"\nAdjusts an offer on a listing.\n\n#### 📝 Important Notes\nAdjustments of an offer can only be done by the party who was not the last one to transact on the offer.","operationId":"postAppendAdjustment","parameters":[{"name":"negotiationId","in":"path","description":"The ID of the offer negotiation record.","required":true,"schema":{"type":"string","format":"uuid"},"example":"7e0a1107-bf75-4e09-a8db-9c3b73b4674b"},{"name":"If-Match","in":"header","description":"This is a required field to ensure the update is being completed on an item that has not changed since it was last read. The value of this field will be the value of the `ETag` header that was received on the preceding get call.","required":true,"schema":{"type":"integer"},"example":8675309},{"name":"Content-Type","in":"header","description":"The major version of the API to make a request against. This is a custom MIME type that contains `vnd.coxauto.v[#]+`. For example, to request a resource from version 1.x.x of an API, the Content-Type header should be set to `application/vnd.coxauto.v1+json`.","required":true,"schema":{"type":"string"},"example":"application/vnd.coxauto.v1+json"}],"requestBody":{"description":"`AdjustOfferRequest`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdjustOfferRequest"},"examples":{"ex.":{"value":{"amount":300,"deliveryDate":"2025-10-04T00:00:00.000Z","pickupDate":"2025-09-27T00:00:00.000Z","expirationDateTime":"2025-11-20T00:00:00.000Z"}}}}}},"responses":{"202":{"description":"Accepted. Successful request.","headers":{"Etag":{"description":"Contains the current version of the resource and should be used for the `If-Match` header on updates.","schema":{"type":"string"},"example":"8675300"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NegotiationResponse"}}}},"400":{"description":"Bad Request. Check the request payload.\n\n**Scenarios:**\n\n - Invalid request body structure.\n - Missing or empty `customerId` (cannot be Guid.Empty).\n - Missing or empty `negotiationId` (cannot be Guid.Empty).\n - Missing or empty `recordVersion` (If-Match header is 0 or not provided).\n - Missing or empty `expirationDateUtc`.\n - `expirationDateUtc` must not be in the past (must be >= DateTime.UtcNow).\n - `amount` must be greater than 0.\n - `amount` must be less than or equal to 99999999.\n - `notes` must not exceed 250 characters.\n - If `pickupDate` is provided, `deliveryDate` must also be provided (and vice versa).\n - If dates are provided: `pickupDate` must not be empty/default.\n - If dates are provided: `deliveryDate` must not be empty/default.\n - If dates are provided: `deliveryDate` must not be before `pickupDate`.\n - Negotiation status not AWAITING_CARRIER or AWAITING_SHIPPER (attempting to modify a negotiation that's ACCEPTED, DECLINED, or ARCHIVED).\n - Listing status not ACTIVE (attempting to modify on a listing that's PENDING, EXPIRED, or CANCELLED).\n - Last transaction type not acceptable (last transaction must be INITIAL_OFFER, MODIFICATION, or REACTIVATION, not ACCEPTANCE, REJECTION, etc.).\n - `pickupDate` is null when SLA rules require it.\n - `deliveryDate` is null when SLA rules require it.\n - `pickupDate` falls outside allowed SLA date range.\n - `deliveryDate` falls outside allowed SLA date range.\n - Missing or empty 'If-Match' header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"401":{"description":"Unauthorized. Authentication failed or missing."},"403":{"description":"Forbidden. The attempted action is not permitted.\n\n**Scenarios:**\n\n - Current user is not a participant in this negotiation (customerId must be either the shipper or the carrier)."},"404":{"description":"Not Found.\n\n**Scenarios:**\n\n - No negotiation exists with the specified `negotiationId`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"409":{"description":"Conflict. Update not allowed based on the current resource state.\n\n**Scenarios:**\n\n - The last transaction was made by a different user (cannot modify another user's offer).\n - Transaction details are identical to the previous transaction (amount, dates, and expiration are all the same).\n - `If-Match` header doesn't match current record version.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"429":{"description":"Too Many Requests. Rate limit exceeded."},"500":{"description":"Error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"503":{"description":"Service Unavailable. Temporary service interruption."}},"security":[{"Bearer":[]}]}},"/negotiations/id/{negotiationId}/declineOffer":{"post":{"tags":["Negotiations"],"summary":"Decline an Offer","description":"\nDeclines an offer on a listing.\n\n#### 📝 Important Notes\nAn offer can be declined only by the party who was not the last one to transact on the offer.\n","operationId":"postDeclineOffer","parameters":[{"name":"negotiationId","in":"path","description":"The ID of the offer negotiation record.","required":true,"schema":{"type":"string","format":"uuid"},"example":"7e0a1107-bf75-4e09-a8db-9c3b73b4674b"},{"name":"If-Match","in":"header","description":"This is a required field to ensure the update is being completed on an item that has not changed since it was last read. The value of this field will be the value of the `ETag` header that was received on the preceding get call.","required":true,"schema":{"type":"integer"},"example":8675309},{"name":"Content-Type","in":"header","description":"The major version of the API to make a request against. This is a custom MIME type that contains `vnd.coxauto.v[#]+`. For example, to request a resource from version 1.x.x of an API, the Content-Type header should be set to `application/vnd.coxauto.v1+json`.","required":true,"schema":{"type":"string"},"example":"application/vnd.coxauto.v1+json"}],"responses":{"202":{"description":"Accepted. Successful request."},"400":{"description":"Bad Request. Check the request payload.\n\n**Scenarios:**\n\n - Invalid request body structure.\n - Missing or empty `customerId` (cannot be Guid.Empty).\n - Missing or empty `negotiationId` (cannot be Guid.Empty).\n - Negotiation status not AWAITING_CARRIER or AWAITING_SHIPPER (attempting to decline a negotiation that's already ACCEPTED, DECLINED, or ARCHIVED).\n - Listing status not ACTIVE (attempting to decline on a listing that's PENDING, EXPIRED, or CANCELLED).\n - No transactions exist for this negotiation.\n - Missing or empty 'If-Match' header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"401":{"description":"Unauthorized. Authentication failed or missing."},"403":{"description":"Forbidden. The attempted action is not permitted.\n\n**Scenarios:**\n\n - Current user is not a participant in this negotiation (customerId must be either the shipper or the carrier)."},"404":{"description":"Not Found.\n\n**Scenarios:**\n\n - No negotiation exists with the specified `negotiationId`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"412":{"description":"Precondition Failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"429":{"description":"Too Many Requests. Rate limit exceeded."},"500":{"description":"Error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"503":{"description":"Service Unavailable. Temporary service interruption."}},"security":[{"Bearer":[]}]}},"/negotiations/id/{negotiationId}/revoke":{"post":{"tags":["Negotiations"],"summary":"Revoke an Offer","description":"\nRevokes an offer on a listing.\n\n#### 📝 Important Notes\nAn offer can be revoked only by the party who was the last one to transact on the offer.\n","operationId":"postRevokeOffer","parameters":[{"name":"negotiationId","in":"path","description":"The ID of the offer negotiation record.","required":true,"schema":{"type":"string","format":"uuid"},"example":"7e0a1107-bf75-4e09-a8db-9c3b73b4674b"},{"name":"If-Match","in":"header","description":"This is a required field to ensure the update is being completed on an item that has not changed since it was last read. The value of this field will be the value of the `ETag` header that was received on the preceding get call.","required":true,"schema":{"type":"integer"},"example":8675309},{"name":"Content-Type","in":"header","description":"The major version of the API to make a request against. This is a custom MIME type that contains `vnd.coxauto.v[#]+`. For example, to request a resource from version 1.x.x of an API, the Content-Type header should be set to `application/vnd.coxauto.v1+json`.","required":true,"schema":{"type":"string"},"example":"application/vnd.coxauto.v1+json"}],"responses":{"202":{"description":"Accepted. Successful request."},"400":{"description":"Bad Request. Check the request payload.\n\n**Scenarios:**\n\n - Invalid request body structure.\n - Missing or empty `customerId` (cannot be Guid.Empty).\n - Missing or empty `negotiationId` (cannot be Guid.Empty).\n - Negotiation status not AWAITING_CARRIER or AWAITING_SHIPPER (attempting to decline a negotiation that's already ACCEPTED, DECLINED, or ARCHIVED).\n - Listing status not ACTIVE (attempting to revoke on a listing that's PENDING, EXPIRED, or CANCELLED).\n - No transactions exist for this negotiation.\n - Missing or empty 'If-Match' header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"401":{"description":"Unauthorized. Authentication failed or missing."},"403":{"description":"Forbidden. The attempted action is not permitted.\n\n**Scenarios:**\n\n - Current user is not a participant in this negotiation (customerId must be either the shipper or the carrier).\n - Shipper cannot revoke a carrier initiated offer.\n - Carrier cannot revoke a shipper initiated offer."},"404":{"description":"Not Found.\n\n**Scenarios:**\n\n - No negotiation exists with the specified `negotiationId`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"409":{"description":"Conflict. Update not allowed based on the current resource state.\n\n**Scenarios:**\n\n - `If-Match` header doesn't match current record version.\n - The offer has already been revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"429":{"description":"Too Many Requests. Rate limit exceeded."},"500":{"description":"Error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"503":{"description":"Service Unavailable. Temporary service interruption."}},"security":[{"Bearer":[]}]}},"/negotiations/mine":{"get":{"tags":["Negotiations"],"summary":"Get My Negotiations","description":"\nRetrieve negotiations of current user.\n\n#### 📝 Important Notes\nTo simply query a single listingId or carrierId use standard parameters e.g., listingId=1234 or carrierId=5678.\nThe `eq` parameters can retrieve multiple and may be combined with `and` and `or`.\n Example:\n - eq(carrierId,123214)and(eq(listingId,1234,2345)))\n - eq(carrierId,123214)or(eq(listingId,1234)))\n - eq(carrierId,123214)or(eq(carrierId,9999)))\n","operationId":"getNegotiationsMine","parameters":[{"name":"listingId","in":"query","description":"Search for events with listing ID equal to value.","schema":{"type":"string"},"example":"42220470"},{"name":"eq(listingId,<listingId1>,<listingId2>)","in":"query","description":"Search for events with listing ID equal to values.","schema":{"type":"string"},"example":"eq(listingId,42220470,43000470)"},{"name":"carrierId","in":"query","description":"Search for events with carrier ID equal to value.","schema":{"type":"string"},"example":"0ca91a43-fbee-4c05-9a6c-aa5c63888f5c"},{"name":"eq(carrierId,<carrierId1>,<carrierId2>)","in":"query","description":"Search for events with carrier ID equal to values.","schema":{"type":"string"},"example":"eq(carrierId,0ca91a43-fbee-4c05-9a6c-aa5c63888f5c,d4efb4d9-2418-4070-b2f9-46317d578a31)"},{"name":"limit(startingPoint,numberOfResults)","in":"query","description":"The maximum number of items to be returned in the response.\n - `startingPoint` is 1-based integer, default 1.\n - `numberOfResults` is an integer, default 100, maximum 500.","schema":{"type":"string"},"example":"limit(1,10)"},{"name":"Accept","in":"header","description":"The major version of the API to make a request against. This is a custom MIME type that contains `vnd.coxauto.v[#]+`. For example, to request a resource from version 1.x.x of an API, the Accept header should be set to `application/vnd.coxauto.v1+json`.","required":true,"schema":{"type":"string"},"example":"application/vnd.coxauto.v1+json"}],"responses":{"200":{"description":"OK. Successful request.","headers":{"X-CoxAuto-Media-Type":{"description":"Contains the major version and format information.","schema":{"type":"string"},"example":"coxauto.v1; format=json"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NegotiationCollection"}}}},"400":{"description":"Bad Request. Check the request payload.\n\n**Scenarios:**\n\n - Invalid query string paramater or format.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"401":{"description":"Unauthorized. Authentication failed or missing."},"403":{"description":"Forbidden. The attempted action is not permitted."},"429":{"description":"Too Many Requests. Rate limit exceeded."},"500":{"description":"Error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"503":{"description":"Service Unavailable. Temporary service interruption."}},"security":[{"Bearer":[]}]}}},"components":{"schemas":{"AcceptOfferRequest":{"required":["pickupDate","deliveryDate"],"type":"object","properties":{"pickupDate":{"type":"string","description":"The accepted date of the pick up, in UTC/ISO 8601 format.","format":"date-time","example":"2025-09-27T00:00:00.000Z"},"deliveryDate":{"type":"string","description":"The accepted date of the delivery, in UTC/ISO 8601 format.","format":"date-time","example":"2025-10-04T00:00:00.000Z"}},"description":"Details of an offer accept request."},"AdjustOfferRequest":{"type":"object","properties":{"amount":{"minimum":0,"type":"number","description":"The updated amount for the offer.","format":"double","example":300},"pickupDate":{"type":"string","description":"The offered date of the pick up, in UTC/ISO 8601 format.","format":"date-time","nullable":true,"example":"2025-09-27T00:00:00.000Z"},"deliveryDate":{"type":"string","description":"The offered date of the delivery, in UTC/ISO 8601 format.","format":"date-time","nullable":true,"example":"2025-10-04T00:00:00.000Z"},"expirationDateTime":{"type":"string","description":"The date the offer will expire, in UTC/ISO 8601 format.","format":"date-time","example":"2025-11-20T00:00:00.000Z"}},"description":"Details of an offer adjustment request."},"Error":{"type":"object","properties":{"code":{"type":"string","description":"The code used for the issue.","nullable":true,"example":"resource.issue_type"},"message":{"type":"string","description":"A detailed message.","nullable":true,"example":"The issue happened because something is wrong."},"property":{"type":"string","description":"The property to which the issue is associated.","nullable":true,"example":"person"},"properties":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional properties related to the issue.","nullable":true,"example":{"firstName":"D0nn@","lastName":"Sm!th"}}},"description":"Details of an error or issue."},"Errors":{"type":"object","properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/Error"},"description":"A collection of errors.","nullable":true}},"description":"An error occurred, and the request could not be completed."},"InitiateNegotiationModel":{"type":"object","properties":{"listingId":{"type":"string","description":"The ID of the listing.","example":"42220470"},"carrierId":{"type":"string","description":"The ID of the Central Dispatch customer the shipper wants to move cars in the dispatch. If a shipper is making the offer this is required.","format":"uuid","nullable":true,"example":"0ca91a43-fbee-4c05-9a6c-aa5c63888f5c"},"amount":{"minimum":0,"type":"number","description":"The balance amount that will be due after the COD/COP payment is applied.","format":"double","example":300},"pickupDate":{"type":"string","description":"The date the pick up is scheduled, in UTC/ISO 8601 format. Will default to the listing pick up date if not specified.","format":"date-time","nullable":true,"example":"2025-09-27T00:00:00.000Z"},"deliveryDate":{"type":"string","description":"The desired delivery date of the listing, in UTC/ISO 8601 format. Will default to the listing delivery date if not specified.","format":"date-time","nullable":true,"example":"2025-10-04T00:00:00.000Z"},"marketplaceId":{"type":"integer","description":"The ID of the Central Dispatch Marketplace. There are three types of Marketplaces:\r\n\r\n- **Public**: The public Marketplace ID is `10000`.\r\n- **Test**: Test Marketplace IDs will be provided to you by Central Dispatch.\r\n- **Private**: Private Marketplace IDs will be provided to you by Central Dispatch, if necessary.","format":"int32","example":10000},"expirationDateTime":{"type":"string","description":"The expiration date of the listing, in UTC/ISO 8601 format.","format":"date-time","example":"2025-11-20T00:00:00.000Z"}},"description":"Details of a negotiation."},"Negotiation":{"type":"object","properties":{"href":{"type":"string","description":"The fully qualified URL of the listing.","example":"https://example.server/examples/id/12345"},"createdOn":{"type":"string","description":"The creation date and time of the item, in UTC/ISO 8601 format.","format":"date-time","example":"2024-10-31T00:00:00Z"},"negotiationId":{"type":"string","description":"The ID of the offer negotiation record.","format":"uuid","example":"157a16f0-503d-4256-ba60-a4876e8eb9bb"},"shipperId":{"type":"string","description":"The ID of the Central Dispatch customer who is the shipper.","format":"uuid","example":"afd2fb59-b89d-4572-8f9a-e57f82a61c68"},"carrierId":{"type":"string","description":"The ID of the Central Dispatch customer chosen by the shipper to move cars in the dispatch.","format":"uuid","example":"0ca91a43-fbee-4c05-9a6c-aa5c63888f5c"},"listingId":{"type":"string","description":"The ID of the listing.","nullable":true,"example":"42220470"},"expirationUtc":{"type":"string","description":"The expiration date of the listing, in UTC/ISO 8601 format.","format":"date-time","example":"2025-09-30T00:00:00.000Z"},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/NegotiationTransaction"},"description":"A collection of negotiation transactions."}},"description":"Details of a negotiation including its transactions."},"NegotiationCollection":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Negotiation"},"description":"A collection of records."},"count":{"type":"integer","description":"The total count of resources in the collection.","format":"int32","example":23},"href":{"type":"string","description":"The URL used to query the current collection of the resource.","example":"https://prod-offers-api.awscal2.manheim.com/negotiations/mine"}},"description":"A collection of negotiations."},"NegotiationResponse":{"type":"object","properties":{"href":{"type":"string","description":"The URL used to query the current collection of the resource.","example":"https://prod-offers-api.awscal2.manheim.com/negotiations/7e0a1107-bf75-4e09-a8db-9c3b73b4674b"},"createdOn":{"type":"string","description":"The creation date and time of the item, in UTC/ISO 8601 format.","format":"date-time","example":"2024-10-31T00:00:00Z"},"negotiationId":{"type":"string","description":"The ID of the offer negotiation record.","format":"uuid","example":"7e0a1107-bf75-4e09-a8db-9c3b73b4674b"},"shipperId":{"type":"string","description":"The ID of the Central Dispatch customer who is the shipper.","format":"uuid","example":"afd2fb59-b89d-4572-8f9a-e57f82a61c68"},"carrierId":{"type":"string","description":"The ID of the Central Dispatch customer chosen by the shipper to move cars in the dispatch.","format":"uuid","example":"0ca91a43-fbee-4c05-9a6c-aa5c63888f5c"},"listingId":{"type":"string","description":"The ID of the listing.","example":"42220470"},"expirationUtc":{"type":"string","description":"The expiration date of the listing, in UTC/ISO 8601 format.","format":"date-time","example":"2025-09-30T00:00:00.000Z"},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/NegotiationTransactionResponse"},"description":"A collection of negotiation transactions."}},"description":"Details of a negotiation including its transactions."},"NegotiationTransaction":{"type":"object","properties":{"offerTransactionId":{"type":"string","description":"The ID of the offer negotiation record.","format":"uuid","example":"3fde6068-5fa2-4ae4-af16-06d65fc87dc9"},"amount":{"type":"number","description":"The balance amount that will be due after the COD/COP payment is applied.","format":"double","example":300},"deliveryDate":{"type":"string","description":"The desired delivery date of the listing, in UTC/ISO 8601 format.","format":"date-time","example":"2025-10-04T00:00:00.000Z"},"pickupDate":{"type":"string","description":"The date the pick up is scheduled, in UTC/ISO 8601 format.","format":"date-time","example":"2025-09-27T00:00:00.000Z"},"transactionType":{"$ref":"#/components/schemas/TransactionType"},"userId":{"type":"string","description":"The Central Dispatch user ID.","format":"uuid","example":"d71b5750-e89b-12d3-a456-426614174000"},"createdOn":{"type":"string","description":"The creation date and time of the item, in UTC/ISO 8601 format.","format":"date-time","example":"2024-10-31T00:00:00Z"}},"description":"Details of a transaction within a negotiation."},"NegotiationTransactionResponse":{"type":"object","properties":{"offerTransactionId":{"type":"string","description":"The ID of the offer negotiation record.","format":"uuid","example":"3fde6068-5fa2-4ae4-af16-06d65fc87dc9"},"amount":{"type":"number","description":"The balance amount that will be due after the COD/COP payment is applied.","format":"double","example":300},"deliveryDate":{"type":"string","description":"The desired delivery date of the listing, in UTC/ISO 8601 format.","format":"date-time","example":"2025-10-04T00:00:00.000Z"},"pickupDate":{"type":"string","description":"The date the pick up is scheduled, in UTC/ISO 8601 format.","format":"date-time","example":"2025-09-27T00:00:00.000Z"},"transactionType":{"$ref":"#/components/schemas/TransactionType"},"userId":{"type":"string","description":"The Central Dispatch user ID.","format":"uuid","example":"157a16f0-503d-4256-ba60-a4876e8eb9bb"},"createdOn":{"type":"string","description":"The creation date and time of the item, in UTC/ISO 8601 format.","format":"date-time","example":"2024-10-31T00:00:00Z"},"customerId":{"type":"string","description":"The Central Dispatch customer ID of the customer.","format":"uuid","example":"d5c62b14-cbd1-11ee-9a0e-0242ac110002"}},"description":"Details of a transaction within a negotiation."},"TransactionType":{"enum":["ORIGINAL_ASK","INITIAL_OFFER","MODIFICATION","REJECTION","ACCEPTANCE","REACTIVATION","ARCHIVAL","SYSTEM_REJECTION","EXPIRATION","AUTO_ACCEPTANCE","REVOKED"],"type":"string","description":"Different types of transactions that can occur within a negotiation. This list is not exhaustive and additional values may be added at any time.","example":"INITIAL_OFFER"}},"securitySchemes":{"Bearer":{"type":"http","scheme":"Bearer"}}},"tags":[{"name":"Negotiations"}]}
```
