Skip to main content
Use this endpoint to retrieve all change orders associated with a proposal. The response is an array of change order summary objects, each including the change order’s status, financial total, currency, customer contact information, and creation and modification timestamps. Use the id from this list to fetch full change order details with the Get Change Order endpoint.

Request

GET /public/proposals/{ProposalId}/changeorders

Headers

Accept
string
required
Must be application/json.
X-MSS-API-APPID
string
required
Your API Application Key.
X-MSS-API-USERKEY
string
required
Your User API Key.
X-MSS-CUSTOM-DATE
string
required
Current UTC timestamp in RFC 7231 format.
X-MSS-SIGNATURE
string
required
HMAC-SHA256 signature, Base64-encoded.

Path Parameters

ProposalId
integer
required
The unique ID of the proposal whose change orders you want to list.

Response

200 Success

Returns an array of change order objects. An empty array is returned if the proposal has no change orders.
id
integer
required
Unique numeric identifier of the change order.
number
integer
Sequential change order number within the proposal (e.g., 1, 2, 3).
name
string
Display name of the change order.
status
string
Current status of the change order (e.g., Draft, Sent, Approved).
total
object
Financial total information for the change order.
total.changeOrderTotal
number
The total monetary value of the change order.
total.currency
object
Currency details for the change order total.
total.currency.code
string
ISO 4217 currency code (e.g., USD).
total.currency.symbol
string
Currency symbol (e.g., $).
customer
object
Contact information for the customer associated with the change order.
customer.id
integer
Unique identifier of the customer contact.
customer.partyType
string
Party type of the contact.
customer.contactType
string
Contact classification type.
customer.firstName
string
Customer’s first name.
customer.lastName
string
Customer’s last name.
customer.companyName
string
Customer’s company name, if applicable.
customer.contactEmail
string
Primary email address of the customer.
customer.contactPhone
string
Customer’s phone number.
createdDate
string
ISO 8601 timestamp of when the change order was created.
lastModifiedDate
string
ISO 8601 timestamp of the most recent modification.
lastModifiedByUserDate
string
ISO 8601 timestamp of the last modification made by a user (excluding system changes).

Error Codes

CodeMeaning
401Not authorized. Invalid or missing HMAC authentication headers.
402Active subscription required.
403You do not have permission for this action.

Example

curl -i -X GET \
  'https://api.portal.io/public/proposals/123/changeorders' \
  -H 'Accept: application/json' \
  -H 'X-MSS-API-APPID: YOUR_APP_ID' \
  -H 'X-MSS-API-USERKEY: YOUR_USER_KEY' \
  -H 'X-MSS-CUSTOM-DATE: Mon, 06 Apr 2026 00:22:19 GMT' \
  -H 'X-MSS-SIGNATURE: BASE64_SIGNATURE'
[
  {
    "id": 42,
    "number": 1,
    "name": "Change Order 1",
    "status": "Draft",
    "total": {
      "changeOrderTotal": 1250.00,
      "currency": {
        "code": "USD",
        "symbol": "$"
      }
    },
    "customer": {
      "id": 101,
      "partyType": "Person",
      "contactType": "Client",
      "firstName": "Jane",
      "lastName": "Smith",
      "companyName": null,
      "contactEmail": "jane@example.com",
      "contactPhone": "555-867-5309"
    },
    "createdDate": "2026-04-01T10:00:00Z",
    "lastModifiedDate": "2026-04-05T14:30:00Z",
    "lastModifiedByUserDate": "2026-04-05T14:30:00Z"
  }
]