SalesOS

Orders

Order processing and fulfillment

List orders

GET
/v1/orders

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Query Parameters

statusstring
paymentStatusstring
fulfillmentStatusstring
accountIdstring
searchstring
pagestring
limitstring
sortBystring
sortOrderstring
curl -X GET "https://api.salesos.org/v1/orders?status=%3Cstring%3E&paymentStatus=%3Cstring%3E&fulfillmentStatus=%3Cstring%3E&accountId=%3Cstring%3E&search=%3Cstring%3E&page=%3Cstring%3E&limit=%3Cstring%3E&sortBy=%3Cstring%3E&sortOrder=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

OrderList

{
  "data": [
    {
      "id": "string",
      "ownerId": "string",
      "organizationId": "string",
      "accountId": "string",
      "quoteId": "string",
      "orderNumber": "string",
      "name": "string",
      "status": "DRAFT",
      "subtotal": 0,
      "discount": 0,
      "tax": 0,
      "shipping": 0,
      "taxMode": "string",
      "taxRate": 0,
      "taxDetails": null,
      "total": 0,
      "currency": "string",
      "paymentStatus": "UNPAID",
      "paymentMethod": "string",
      "paymentTerms": "string",
      "paidAmount": 0,
      "paidAt": "2019-08-24T14:15:22Z",
      "fulfillmentStatus": "UNFULFILLED",
      "shippingMethod": "string",
      "trackingNumber": "string",
      "trackingUrl": "string",
      "shippedAt": "2019-08-24T14:15:22Z",
      "deliveredAt": "2019-08-24T14:15:22Z",
      "orderDate": "2019-08-24T14:15:22Z",
      "expectedDeliveryDate": "2019-08-24T14:15:22Z",
      "billingStreet": "string",
      "billingCity": "string",
      "billingState": "string",
      "billingPostalCode": "string",
      "billingCountry": "string",
      "shippingStreet": "string",
      "shippingCity": "string",
      "shippingState": "string",
      "shippingPostalCode": "string",
      "shippingCountry": "string",
      "notes": "string",
      "internalNotes": "string",
      "metadata": null,
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "page": 1,
  "limit": 50,
  "total": 0,
  "totalPages": 0,
  "hasMore": true
}

Create order

POST
/v1/orders

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Convert quote to order

POST
/v1/orders/convert-from-quote

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders/convert-from-quote" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Get order stats

GET
/v1/orders/stats

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

curl -X GET "https://api.salesos.org/v1/orders/stats" \
  -H "Authorization: Bearer <token>"

Get order

GET
/v1/orders/{id}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/orders/<string>" \
  -H "Authorization: Bearer <token>"

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Update order

PATCH
/v1/orders/{id}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X PATCH "https://api.salesos.org/v1/orders/<string>" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Delete order

DELETE
/v1/orders/{id}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X DELETE "https://api.salesos.org/v1/orders/<string>" \
  -H "Authorization: Bearer <token>"

SuccessResponse

{
  "success": true
}

Add line item

POST
/v1/orders/{id}/line-items

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders/<string>/line-items" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

OrderLineItem

{
  "id": "string",
  "orderId": "string",
  "productId": "string",
  "productName": "string",
  "productCode": "string",
  "description": "string",
  "quantity": 0,
  "unitPrice": 0,
  "discount": 0,
  "discountPercent": 0,
  "tax": 0,
  "totalPrice": 0,
  "quantityShipped": 0,
  "quantityDelivered": 0,
  "quantityReturned": 0,
  "sortOrder": 0,
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Update line item

PATCH
/v1/orders/line-items/{lineItemId}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

lineItemIdRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X PATCH "https://api.salesos.org/v1/orders/line-items/<string>" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

OrderLineItem

{
  "id": "string",
  "orderId": "string",
  "productId": "string",
  "productName": "string",
  "productCode": "string",
  "description": "string",
  "quantity": 0,
  "unitPrice": 0,
  "discount": 0,
  "discountPercent": 0,
  "tax": 0,
  "totalPrice": 0,
  "quantityShipped": 0,
  "quantityDelivered": 0,
  "quantityReturned": 0,
  "sortOrder": 0,
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Remove line item

DELETE
/v1/orders/line-items/{lineItemId}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

lineItemIdRequiredstring
curl -X DELETE "https://api.salesos.org/v1/orders/line-items/<string>" \
  -H "Authorization: Bearer <token>"

SuccessResponse

{
  "success": true
}

Update fulfillment

PATCH
/v1/orders/{id}/fulfillment

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X PATCH "https://api.salesos.org/v1/orders/<string>/fulfillment" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Update payment

PATCH
/v1/orders/{id}/payment

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X PATCH "https://api.salesos.org/v1/orders/<string>/payment" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Cancel order

POST
/v1/orders/{id}/cancel

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders/<string>/cancel" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Get timeline

GET
/v1/orders/{id}/timeline

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/orders/<string>/timeline" \
  -H "Authorization: Bearer <token>"

[
  {}
]

Confirm order

POST
/v1/orders/{id}/confirm

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders/<string>/confirm" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Creates the order's invoice, or returns the one it already has.

POST
/v1/orders/{id}/invoice

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders/<string>/invoice" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Invoice

{
  "id": "string",
  "invoiceNumber": "string",
  "customerId": "string",
  "subscriptionId": "string",
  "organizationId": "string",
  "orderId": "string",
  "quoteId": "string",
  "accountId": "string",
  "stripeInvoiceId": "string",
  "razorpayInvoiceId": "string",
  "status": "DRAFT",
  "gateway": "STRIPE",
  "currency": "string",
  "subtotal": 0,
  "discountAmount": 0,
  "taxAmount": 0,
  "total": 0,
  "amountPaid": 0,
  "amountDue": 0,
  "invoiceDate": "2019-08-24T14:15:22Z",
  "dueDate": "2019-08-24T14:15:22Z",
  "paidAt": "2019-08-24T14:15:22Z",
  "billingReason": "string",
  "description": "string",
  "notes": "string",
  "footer": "string",
  "pdfUrl": "string",
  "hostedInvoiceUrl": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Ship order

POST
/v1/orders/{id}/ship

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders/<string>/ship" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Deliver order

POST
/v1/orders/{id}/deliver

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders/<string>/deliver" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Get confirmation defaults

GET
/v1/orders/{id}/send-confirmation

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/orders/<string>/send-confirmation" \
  -H "Authorization: Bearer <token>"

Send confirmation

POST
/v1/orders/{id}/send-confirmation

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired
kindstring
Value in: "confirmation" | "shipped" | "delivered"
recipientEmailstring
Format: "email"
ccEmailsarray<string>

Items: at most 10.

messagestring
Maximum length: 10000
attachPdfboolean

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders/<string>/send-confirmation" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "kind": "confirmation",
    "recipientEmail": "[email protected]",
    "ccEmails": [
      "[email protected]"
    ],
    "message": "string",
    "attachPdf": true
  }'

{}

Clone order

POST
/v1/orders/{id}/clone

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders/<string>/clone" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Recalculate order

POST
/v1/orders/{id}/recalculate

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders/<string>/recalculate" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}

Generate pdf

GET
/v1/orders/{id}/pdf

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring
curl -X GET "https://api.salesos.org/v1/orders/<string>/pdf" \
  -H "Authorization: Bearer <token>"

{}

Get by account id

GET
/v1/orders/account/{accountId}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

accountIdRequiredstring
curl -X GET "https://api.salesos.org/v1/orders/account/<string>" \
  -H "Authorization: Bearer <token>"

OrderArray

[
  {
    "id": "string",
    "ownerId": "string",
    "organizationId": "string",
    "accountId": "string",
    "quoteId": "string",
    "orderNumber": "string",
    "name": "string",
    "status": "DRAFT",
    "subtotal": 0,
    "discount": 0,
    "tax": 0,
    "shipping": 0,
    "taxMode": "string",
    "taxRate": 0,
    "taxDetails": null,
    "total": 0,
    "currency": "string",
    "paymentStatus": "UNPAID",
    "paymentMethod": "string",
    "paymentTerms": "string",
    "paidAmount": 0,
    "paidAt": "2019-08-24T14:15:22Z",
    "fulfillmentStatus": "UNFULFILLED",
    "shippingMethod": "string",
    "trackingNumber": "string",
    "trackingUrl": "string",
    "shippedAt": "2019-08-24T14:15:22Z",
    "deliveredAt": "2019-08-24T14:15:22Z",
    "orderDate": "2019-08-24T14:15:22Z",
    "expectedDeliveryDate": "2019-08-24T14:15:22Z",
    "billingStreet": "string",
    "billingCity": "string",
    "billingState": "string",
    "billingPostalCode": "string",
    "billingCountry": "string",
    "shippingStreet": "string",
    "shippingCity": "string",
    "shippingState": "string",
    "shippingPostalCode": "string",
    "shippingCountry": "string",
    "notes": "string",
    "internalNotes": "string",
    "metadata": null,
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  }
]

Restore order

POST
/v1/orders/{id}/restore

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/orders/<string>/restore" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Order

{
  "id": "string",
  "ownerId": "string",
  "organizationId": "string",
  "accountId": "string",
  "quoteId": "string",
  "orderNumber": "string",
  "name": "string",
  "status": "DRAFT",
  "subtotal": 0,
  "discount": 0,
  "tax": 0,
  "shipping": 0,
  "taxMode": "string",
  "taxRate": 0,
  "taxDetails": null,
  "total": 0,
  "currency": "string",
  "paymentStatus": "UNPAID",
  "paymentMethod": "string",
  "paymentTerms": "string",
  "paidAmount": 0,
  "paidAt": "2019-08-24T14:15:22Z",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingMethod": "string",
  "trackingNumber": "string",
  "trackingUrl": "string",
  "shippedAt": "2019-08-24T14:15:22Z",
  "deliveredAt": "2019-08-24T14:15:22Z",
  "orderDate": "2019-08-24T14:15:22Z",
  "expectedDeliveryDate": "2019-08-24T14:15:22Z",
  "billingStreet": "string",
  "billingCity": "string",
  "billingState": "string",
  "billingPostalCode": "string",
  "billingCountry": "string",
  "shippingStreet": "string",
  "shippingCity": "string",
  "shippingState": "string",
  "shippingPostalCode": "string",
  "shippingCountry": "string",
  "notes": "string",
  "internalNotes": "string",
  "metadata": null,
  "createdAt": "2019-08-24T14:15:22Z",
  "updatedAt": "2019-08-24T14:15:22Z"
}