openapi: 3.2.0
info:
title: Infusionsoft Orders API
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: '1.0'
description: 'Operations tagged Orders across 4 of this provider''s published API definitions: infusionsoft-keap-sdk-v2-swagger-original.yml, infusionsoft-rest-v2-2025-11-05-openapi-original.json, infusionsoft-rest-v2-openapi-original.json, infusionsoft-rest-v2-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.keap.com/crm
- url: https://api.infusionsoft.com/crm/rest
- url: https://api.infusionsoft.com/crm
tags:
- name: Orders
paths:
/rest/v2/orders:
get:
tags:
- Orders
summary: List orders
description: Retrieves a list of orders
operationId: listOrders
parameters:
- name: filter
in: query
description: "Filter to apply, allowed fields are:\n- (String) `id` - Allowable operators: \"==\",\"<=\", \"<\", \">=\", \">\", \"!=\"\n- (List[String]) `ids`\n- (String) `product_id`\n- (String) `contact_id`\n- (String) `invoice_id`\n- (String) `invoice_xid`\n- (Boolean) `paid`\n- (String) `created_since_time`\n- (String) `created_until_time`\n- (String) `modified_since_time`\n- (String) `modified_until_time`\n- (String) `title` - Wildcard matching allowed\n- (String) `order_type` (Allowed values: `ONLINE`, `OFFLINE`)\n- (String) `shipping_locality`\n- (String) `shipping_region_code`\n- (String) `shipping_postal_code`\n- (String) `shipping_country_code`\n\nCustom fields can be filtered by their field_name (case-insensitive, as returned\nby GET /v2/orders/model). A standard field above takes precedence over a custom\nfield with the same name. The supported operators depend on the custom field's type:\n- Text-like fields (text, text area, name, email, phone, website, social security\n number) and single-value choice fields with text options (dropdown, radio,\n state): `==` only, with optional trailing wildcard (e.g. `_OrderTitle0%3D%3DValue%2A`)\n- Yes/No and drilldown fields: `==` only\n- Numeric fields (whole number, decimal, currency, percent, year, month, day of\n week, user): `==`, `>`, `<`, `>=`, `<=`\n- Date fields: `==`, `>`, `<`, `>=`, `<=` using full ISO 8601 (same as `created_since_time`/`created_until_time`)\n- Multi-select fields: `==` matches records that contain the given option\nCustom field filtering on non-indexed fields is supported but may be slower.\n\nYou will need to apply the `==` operator (or other supported operators), to check the equality\nof one of the filters with your searched word, in the encoded form `%3D%3D`. For the filters listed above,\nhere are some examples:\n- `filter=product_id%3D%3D123`\n- `filter=id%3C123`\n- `filter=ids%3D%3D1,10,4,24`\n- `filter=invoice_xid%3D%3Df411a79c-9a92-4960-91d9-656f910a25e8`\n- `filter=product_id%3D%3D123%3Bcontact_id%3D%3D567`\n- `filter=shipping_locality%3D%3DPhoenix`\n- `filter=shipping_region_code%3D%3DIN-MH`\n- `filter=shipping_postal_code%3D%3D85001`\n- `filter=shipping_country_code%3D%3DIND`\n\nCustom field examples (for custom fields with field_name `_OrderTitle0` and `_OrderValue1`):\n- `filter=_OrderTitle0%3D%3DTest` (custom field exact match)\n- `filter=_OrderTitle0%3D%3DTest%2A` (custom field prefix wildcard)\n- `filter=_OrderValue1%3E100` (custom field numeric comparison)\n- `filter=product_id%3D%3D123%3B_OrderStatus0%3D%3DActive` (combined standard + custom field filter)\n\nFor fields which allow wildcard matching, you may use the * wildcard character (or its encoded form %2A)\nfor case-insensitive partial matching on text fields. Example of a valid pattern of wildcard usage:\n- `field==foo*` finds anything in `field` that begins with `foo`\n"
required: false
schema:
type: string
- name: order_by
in: query
description: 'Attribute and direction to order items.
One of the following fields:
- `id`
- `order_time`
- `modification_time`
One of the following directions:
- `asc`
- `desc`'
required: false
schema:
type: string
- name: page_size
in: query
description: Total number of items to return per page
required: false
schema:
type: integer
format: int32
maximum: 1000
minimum: 0
example: 0
- name: page_token
in: query
description: Page token
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrders'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
post:
tags:
- Orders
summary: Create an Order
description: Creates a one time Order with Order items
operationId: createOrder
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RestCreateOrderRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/OrderV2'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/{order_id}:detachFile:
post:
tags:
- Orders
summary: Detach a File from an Order Invoice
description: Detaches a File from an Order Invoice
operationId: detachFileFromOrder
parameters:
- name: order_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FileOperationRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderV2'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/{order_id}:attachFile:
post:
tags:
- Orders
summary: Attach a File to an Order Invoice
description: Attaches an uploaded File to an Order Invoice
operationId: attachFileToOrder
parameters:
- name: order_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FileOperationRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderV2'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/{order_id}:applyTax:
post:
tags:
- Orders
summary: Apply Taxes on an Order
description: Calculate taxes for a single Order for a given order id
operationId: applyTax
parameters:
- name: order_id
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderV2'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/{order_id}/payments:
get:
tags:
- Orders
summary: Retrieve Order Payments
description: Retrieves a list of payments made against a given order, including historical or external payments of cash or credit card
operationId: listOrderPayments
parameters:
- name: filter
in: query
description: "Filter to apply, allowed fields are:\n- (String) `invoice_id`\n- (String) `payment_id`\n- (String) `amount`\n- (String) `pay_status`\n- (Boolean) `skip_commission`\n\nYou will need to apply the `==` operator to check the equality of one of the filters with your searched\n word, in the encoded form `%3D%3D`. For the filters listed above, here are some examples:\n- `filter=payment_id%3D%3D123`\n- `filter=pay_status%3D%3DAPPROVED`\n- `filter=invoice_id%3D%3D456%3Bskip_commission=true`\n"
required: false
schema:
type: string
- name: order_by
in: query
description: 'Attribute and direction to order items.
One of the following fields:
- `invoice_id`
- `payment_id`
- `amount`
- `pay_time`
- `pay_status`
- `skip_commission`
- `last_updated_time`
One of the following directions:
- `asc`
- `desc`'
required: false
schema:
type: string
- name: order_id
in: path
required: true
schema:
type: string
- name: page_size
in: query
description: Total number of items to return per page
required: false
schema:
type: integer
format: int32
maximum: 1000
minimum: 0
example: 0
- name: page_token
in: query
description: Page token
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrderPaymentsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
post:
tags:
- Orders
summary: Create a Payment
description: Creates a payment record. Alternatively, adds a record of historical or external payment of cash or credit card
operationId: createPaymentForAnOrder
parameters:
- name: order_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RestCreatePaymentRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentResult'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/{order_id}/items:
post:
tags:
- Orders
summary: Create an Order Item
description: Creates an order item on an existing order
operationId: createOrderItem
parameters:
- name: order_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrderItemRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/OrderItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/{order_id}/items/{order_item_id}:applyCommission:
post:
tags:
- Orders
summary: Apply Commission to an Order Item
description: Applies commission to an order item on an existing order.
operationId: applyCommissionOnOrderItems
parameters:
- name: order_id
in: path
required: true
schema:
type: string
- name: order_item_id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplyCommissionRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/model/customFields:
post:
tags:
- Orders
summary: Create an Order Custom Field
description: Creates a custom field of the specified type and options to the Order object
operationId: createOrderCustomField
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCustomFieldRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFieldMetaData'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/model/customFields/tabs:
get:
tags:
- Orders
summary: List Order Custom Field Tabs
description: Retrieves a list of custom field tabs for the Order record type.
operationId: listOrderCustomFieldTabs
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListCustomFieldTabsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
post:
tags:
- Orders
summary: Create an Order Custom Field Tab
description: Creates a new custom field tab for the Order record type.
operationId: createOrderCustomFieldTab
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCustomFieldTabRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFieldTab'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/model/customFields/groups:
get:
tags:
- Orders
summary: List Order Custom Field Groups
description: Retrieves a list of custom field groups for the Order record type. Optionally filter by tab_id to scope to a specific tab.
operationId: listOrderCustomFieldGroups
parameters:
- name: tab_id
in: query
description: Optional tab id to scope groups to a single tab
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListCustomFieldGroupsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
post:
tags:
- Orders
summary: Create an Order Custom Field Group
description: Creates a new custom field group for the Order record type. If `tab_id` is omitted, the group is added to the default 'Custom Fields' tab.
operationId: createOrderCustomFieldGroup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCustomFieldGroupRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFieldGroup'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/{order_id}:
get:
tags:
- Orders
summary: Retrieve an Order
description: Retrieves a single Order for a given order id
operationId: getOrder
parameters:
- name: order_id
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderV2'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
delete:
tags:
- Orders
summary: Delete an Order
description: 'Deletes an Order
Note: The Order must not have any transactions recorded to be available for deletion.
'
operationId: deleteOrder
parameters:
- name: order_id
in: path
required: true
schema:
type: string
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
patch:
tags:
- Orders
summary: Update an Order
description: Updates an Order
operationId: updateOrder
parameters:
- name: order_id
in: path
required: true
schema:
type: string
- name: update_mask
in: query
description: An optional list of properties to be updated. If set, only the provided properties will be updated and others will be skipped.
required: false
schema:
type: array
items:
type: string
enum:
- contact_id
- order_items
- order_title
- order_time
- order_type
- promo_codes
- lead_affiliate_id
- sales_affiliate_id
- shipping_address
- notes
- terms
- payment_plan
- custom_fields
- sent_time
- title
- due_time
- invoice_number
- external_create_user
- external_create_time
- external_update_time
uniqueItems: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrderRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderV2'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/{order_id}/items/{order_item_id}:
get:
tags:
- Orders
summary: Retrieve an Order Item
description: Retrieves a single order item from an existing order
operationId: getOrderItem
parameters:
- name: order_id
in: path
required: true
schema:
type: string
- name: order_item_id
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
delete:
tags:
- Orders
summary: Delete an Order Item
description: Deletes an order item on an existing order
operationId: deleteOrderItem
parameters:
- name: order_id
in: path
required: true
schema:
type: string
- name: order_item_id
in: path
required: true
schema:
type: string
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
patch:
tags:
- Orders
summary: Update an Order Item
description: Updates an Order Item
operationId: updateOrderItem
parameters:
- name: order_id
in: path
required: true
schema:
type: string
- name: order_item_id
in: path
required: true
schema:
type: string
- name: update_mask
in: query
description: An optional list of properties to be updated. If set, only the provided properties will be updated and others will be skipped.
required: false
schema:
type: array
items:
type: string
enum:
- name
- description
- notes
- quantity
- price_per_unit
- cost_per_unit
- product_id
- subscription_plan_id
- subscription_plan_description
uniqueItems: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrderItemRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderItem'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/model/customFields/{custom_field_id}:
delete:
tags:
- Orders
summary: Delete an Order Custom Field
description: Deletes a Custom Field from the Order object
operationId: deleteOrderCustomField
parameters:
- name: custom_field_id
in: path
required: true
schema:
type: string
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
patch:
tags:
- Orders
summary: Update an Order Custom Field
description: Updates a custom field of the specified type and options to the Order object
operationId: updateOrderCustomField
parameters:
- name: custom_field_id
in: path
required: true
schema:
type: string
- name: update_mask
in: query
description: An optional list of properties to be updated. If set, only the provided properties will be updated and others will be skipped.
required: false
schema:
type: array
items:
type: string
enum:
- group_id
- label
- options
uniqueItems: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCustomFieldMetaDataRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFieldMetaData'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/model/customFields/tabs/{tab_id}:
get:
tags:
- Orders
summary: Retrieve an Order Custom Field Tab
description: Retrieves a single custom field tab by id for the Order record type.
operationId: getOrderCustomFieldTab
parameters:
- name: tab_id
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFieldTab'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
delete:
tags:
- Orders
summary: Delete an Order Custom Field Tab
description: Deletes a custom field tab. Returns 409 Conflict if the tab still contains groups.
operationId: deleteOrderCustomFieldTab
parameters:
- name: tab_id
in: path
required: true
schema:
type: string
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
patch:
tags:
- Orders
summary: Update an Order Custom Field Tab
description: Updates an existing custom field tab. Only fields listed in `update_mask` are applied.
operationId: updateOrderCustomFieldTab
parameters:
- name: tab_id
in: path
required: true
schema:
type: string
- name: update_mask
in: query
description: Comma-separated list of fields to update
required: true
schema:
type: array
items:
type: string
enum:
- name
- order
uniqueItems: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCustomFieldTabRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFieldTab'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/model/customFields/groups/{group_id}:
get:
tags:
- Orders
summary: Retrieve an Order Custom Field Group
description: Retrieves a single custom field group by id for the Order record type.
operationId: getOrderCustomFieldGroup
parameters:
- name: group_id
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFieldGroup'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
delete:
tags:
- Orders
summary: Delete an Order Custom Field Group
description: Deletes a custom field group. Returns 409 Conflict if the group still contains custom fields.
operationId: deleteOrderCustomFieldGroup
parameters:
- name: group_id
in: path
required: true
schema:
type: string
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
patch:
tags:
- Orders
summary: Update an Order Custom Field Group
description: Updates an existing custom field group. Only fields listed in `update_mask` are applied.
operationId: updateOrderCustomFieldGroup
parameters:
- name: group_id
in: path
required: true
schema:
type: string
- name: update_mask
in: query
description: Comma-separated list of fields to update
required: true
schema:
type: array
items:
type: string
enum:
- name
- tab_id
- order
uniqueItems: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCustomFieldGroupRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFieldGroup'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/rest/v2/orders/model:
get:
tags:
- Orders
summary: Retrieve Order Custom Field Model
description: Gets the custom fields for the Order object
operationId: retrieveOrderCustomFieldModel
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ObjectModel'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'501':
description: Method Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- oauth2: []
servers:
- url: https://api.keap.com/crm
/v2/orders:
get:
tags:
- Orders
summary: List orders
description: Retrieves a list of orders
operationId: listOrdersUsingGET_1
parameters:
- name: filter
in: query
description: 'Filter to apply, allowed fields are:
- (String) `product_id`
- (String) `contact_id`
- (Boolean) `paid`
- (String) `created_since_time`
- (String) `created_until_time`
You will need to apply the `==` operator to check the equality of one of the filters with your searched
word, in the encoded form `%3D%3D`. For the filters listed above, here are some examples:
- `filter=product_id%3D%3D123`
- `filter=contact_id%3D%3D567`
- `filter=product_id%3D%3D123%3Bcontact_id%3D%3D567`'
schema:
type: string
- name: order_by
in: query
description: 'Attribute and direction to order items.
One of the following fields:
- `id`
- `order_time`
One of the following directions:
- `asc`
- `desc`'
schema:
type: string
- name: page_size
in: query
description: Total number of items to return per page
schema:
maximum: 1000
minimum: 1
type: integer
format: int32
example: 0
- name: page_token
in: query
description: Page token
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
title: ListOrders
type: object
properties:
next_page_token:
type: string
orders:
type: array
items:
title: Order
type: object
properties:
allow_payment:
type: boolean
description: Whether or not card-related payments should be allowed on this order. Applies only to Keap Pro/Max edition.
allow_paypal:
type: boolean
description: Whether or not PayPal payments should be allowed on this order. Applies only to Keap Pro/Max edition.
contact:
title: BasicContact
type: object
properties:
applied_time:
type: string
description: The time the tag was applied to the contact, in ISO 8601 format.
example: '2023-10-01T12:00:00Z'
email:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
creation_time:
type: string
description: When this order was originally created. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
files:
type: array
description: A list of attached files to this order. Applies only to Keap Pro/Max edition.
items:
title: InvoiceFile
type: object
properties:
file_id:
type: string
id:
type: string
invoice_number:
type: string
description: The associated invoice identifier. Applies only to Keap Pro/Max edition. Feature not yet supported.
lead_affiliate_id:
type: string
modification_time:
type: string
description: When this order was changed. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
notes:
type: string
order_items:
type: array
items:
title: OrderItem
type: object
properties:
cost_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
description:
type: string
discount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
id:
type: string
item_type:
type: string
description: 'The order item type. Valid values are: PRODUCT, SHIPPING, TAX, SERVICE, PRODUCT, UPSELL, FINANCE_CHARGE, DISCOUNT, PROGRAM, SUBSCRIPTION, DISCOUNT_FREE_TRIAL, DISCOUNT_ORDER_TOTAL, DISCOUNT_PRODUCT, DISCOUNT_PRODUCT_CATEGORY, DISCOUNT_SHIPPING, TIP, OTHER.'
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
notes:
type: string
price_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product:
title: OrderItemProduct
type: object
properties:
description:
type: string
id:
type: string
name:
type: string
shippable:
type: boolean
sku:
type: string
taxable:
type: boolean
quantity:
type: integer
format: int32
special:
title: Discount
type: object
properties:
amount:
type: number
format: double
discount_method:
type: string
enum:
- AMOUNT
- PERCENT
special_item_id:
type: string
subscription_id:
type: string
description: If the order item is a subscription type, this refers to the subscription id that generated the order.
subscription_plan:
title: SubscriptionPlan
type: object
properties:
active:
type: boolean
description: If the subscription plan is active or not.
allow_prorating:
type: boolean
description: Whether or not the plan will allow prorating.
cycle_type:
type: string
description: 'The cycle type of the subscription plan. Possible values: YEARLY, MONTHLY, WEEKLY, DAILY'
enum:
- DAILY
- WEEKLY
- MONTHLY
- YEARLY
display_order_index:
type: integer
description: The order index where this plan will be displayed on a page against other plans. Smaller number indicates plan will be displayed higher in the list.
format: int32
frequency:
type: integer
description: Total number of times of a cycle type which constitutes a plan cycle. Minimum value is 1.
format: int32
id:
type: string
description: Id of the subscription plan.
plan_price:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product_id:
type: string
total_cycles:
type: integer
description: Total number of cycles the plan will run before ending. Value of 0 indicates plan will never end.
format: int32
order_time:
type: string
description: A user-defined date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
order_type:
type: string
description: 'The order type. Valid values are: ONLINE, OFFLINE.'
enum:
- OFFLINE
- ONLINE
- UNKNOWN
payment_plan:
title: PaymentPlan
required:
- days_between_payments
- number_of_payments
- plan_start_date
type: object
properties:
auto_charge:
type: boolean
days_between_payments:
type: integer
format: int64
days_between_retries:
type: integer
format: int64
initial_payment_amount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
initial_payment_date:
type: string
initial_payment_percent:
type: number
format: double
max_charge_attempts:
type: integer
format: int64
number_of_payments:
type: integer
format: int64
payment_method_id:
type: string
plan_start_date:
type: string
refund_total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
sales_affiliate_id:
type: string
shipping_information:
title: ShippingInformation
type: object
properties:
address:
title: Address
type: object
properties:
country:
type: string
description: The long-name descriptive version of the Country Code
example: United States of America
country_code:
type: string
description: An ISO 3166-2 Country Code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
example: USA
field:
type: string
enum:
- ADDRESS_FIELD_UNSPECIFIED
- BILLING
- SHIPPING
- OTHER
line1:
type: string
line2:
type: string
locality:
type: string
description: The municipality to which the address belongs
example: Phoenix
postal_code:
type: string
region:
type: string
description: The long-name descriptive version of the Region Code
example: Arizona
region_code:
type: string
description: An ISO 3166-2 Province Code, such as one of the US States (https://en.wikipedia.org/wiki/ISO_3166-2:US)
example: US-AZ
zip_code:
type: string
zip_four:
type: string
company:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
invoice_to_company:
type: boolean
phone_number:
type: string
source_type:
type: string
description: 'The source where the order was created. Valid values include: API, CHECKOUT_FORM, INVOICE, MANUAL_PAYMENT, QUICKBOOKS, UNKNOWN.'
enum:
- INVOICE
- API
- CHECKOUT_FORM
- MANUAL_PAYMENT
- QUICKBOOKS
- UNKNOWN
status:
type: string
description: 'The order status. Valid values are: DRAFT, SENT, VIEWED, PAID.'
enum:
- DRAFT
- PAID
- SENT
- VIEWED
terms:
type: string
title:
type: string
total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_due:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_paid:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'404':
description: Not Found
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
post:
tags:
- Orders
summary: Create an Order
description: Creates a one time Order with Order items
operationId: createOrderUsingPOST_1
requestBody:
description: request
content:
application/json:
schema:
title: RestCreateOrderRequest
required:
- contact_id
- order_title
type: object
properties:
contact_id:
type: string
lead_affiliate_id:
type: string
notes:
type: string
order_items:
type: array
items:
title: CreateOrderItemRequest
required:
- product_id
- quantity
type: object
properties:
cost_per_unit:
type: number
description: The cost per unit. Must be greater than or equal to 0. If not specified, the product cost will be used.
format: double
description:
type: string
description: The description of the order item. Must not be whitespace.
item_type:
type: string
description: The type of this order item. For now only [PRODUCT] is supported. Will default to [PRODUCT] if omitted.
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
description: The name of the order item. Must not be whitespace. If not specified, the product name will be used.
notes:
type: string
description: The notes for the order item. Must not be whitespace.
price_per_unit:
type: number
description: The price per unit. Must be greater than or equal to 0. If not specified, the product price will be used.
format: double
product_id:
type: string
description: The id of the product to be added to the order. Must be a valid product id.
quantity:
type: integer
description: The quantity. Must be greater than or equal to 1.
format: int32
order_time:
type: string
description: The date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
order_title:
type: string
order_type:
type: string
description: 'The order type. Valid values are: ONLINE, OFFLINE.'
enum:
- OFFLINE
- ONLINE
promo_codes:
type: array
description: Uses multiple strings as promo codes. The corresponding discount will be applied to the order.
items:
type: string
sales_affiliate_id:
type: string
shipping_address:
title: AddressInformation
type: object
properties:
company:
type: string
country_code:
type: string
first_name:
type: string
is_invoice_to_company:
type: boolean
last_name:
type: string
line1:
type: string
line2:
type: string
locality:
type: string
middle_name:
type: string
phone:
type: string
region:
type: string
zip_code:
type: string
zip_four:
type: string
terms:
type: string
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
title: Order
type: object
properties:
allow_payment:
type: boolean
description: Whether or not card-related payments should be allowed on this order. Applies only to Keap Pro/Max edition.
allow_paypal:
type: boolean
description: Whether or not PayPal payments should be allowed on this order. Applies only to Keap Pro/Max edition.
contact:
title: BasicContact
type: object
properties:
applied_time:
type: string
description: The time the tag was applied to the contact, in ISO 8601 format.
example: '2023-10-01T12:00:00Z'
email:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
creation_time:
type: string
description: When this order was originally created. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
files:
type: array
description: A list of attached files to this order. Applies only to Keap Pro/Max edition.
items:
title: InvoiceFile
type: object
properties:
file_id:
type: string
id:
type: string
invoice_number:
type: string
description: The associated invoice identifier. Applies only to Keap Pro/Max edition. Feature not yet supported.
lead_affiliate_id:
type: string
modification_time:
type: string
description: When this order was changed. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
notes:
type: string
order_items:
type: array
items:
title: OrderItem
type: object
properties:
cost_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
description:
type: string
discount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
id:
type: string
item_type:
type: string
description: 'The order item type. Valid values are: PRODUCT, SHIPPING, TAX, SERVICE, PRODUCT, UPSELL, FINANCE_CHARGE, DISCOUNT, PROGRAM, SUBSCRIPTION, DISCOUNT_FREE_TRIAL, DISCOUNT_ORDER_TOTAL, DISCOUNT_PRODUCT, DISCOUNT_PRODUCT_CATEGORY, DISCOUNT_SHIPPING, TIP, OTHER.'
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
notes:
type: string
price_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product:
title: OrderItemProduct
type: object
properties:
description:
type: string
id:
type: string
name:
type: string
shippable:
type: boolean
sku:
type: string
taxable:
type: boolean
quantity:
type: integer
format: int32
special:
title: Discount
type: object
properties:
amount:
type: number
format: double
discount_method:
type: string
enum:
- AMOUNT
- PERCENT
special_item_id:
type: string
subscription_id:
type: string
description: If the order item is a subscription type, this refers to the subscription id that generated the order.
subscription_plan:
title: SubscriptionPlan
type: object
properties:
active:
type: boolean
description: If the subscription plan is active or not.
allow_prorating:
type: boolean
description: Whether or not the plan will allow prorating.
cycle_type:
type: string
description: 'The cycle type of the subscription plan. Possible values: YEARLY, MONTHLY, WEEKLY, DAILY'
enum:
- DAILY
- WEEKLY
- MONTHLY
- YEARLY
display_order_index:
type: integer
description: The order index where this plan will be displayed on a page against other plans. Smaller number indicates plan will be displayed higher in the list.
format: int32
frequency:
type: integer
description: Total number of times of a cycle type which constitutes a plan cycle. Minimum value is 1.
format: int32
id:
type: string
description: Id of the subscription plan.
plan_price:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product_id:
type: string
total_cycles:
type: integer
description: Total number of cycles the plan will run before ending. Value of 0 indicates plan will never end.
format: int32
order_time:
type: string
description: A user-defined date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
order_type:
type: string
description: 'The order type. Valid values are: ONLINE, OFFLINE.'
enum:
- OFFLINE
- ONLINE
- UNKNOWN
payment_plan:
title: PaymentPlan
required:
- days_between_payments
- number_of_payments
- plan_start_date
type: object
properties:
auto_charge:
type: boolean
days_between_payments:
type: integer
format: int64
days_between_retries:
type: integer
format: int64
initial_payment_amount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
initial_payment_date:
type: string
initial_payment_percent:
type: number
format: double
max_charge_attempts:
type: integer
format: int64
number_of_payments:
type: integer
format: int64
payment_method_id:
type: string
plan_start_date:
type: string
refund_total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
sales_affiliate_id:
type: string
shipping_information:
title: ShippingInformation
type: object
properties:
address:
title: Address
type: object
properties:
country:
type: string
description: The long-name descriptive version of the Country Code
example: United States of America
country_code:
type: string
description: An ISO 3166-2 Country Code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
example: USA
field:
type: string
enum:
- ADDRESS_FIELD_UNSPECIFIED
- BILLING
- SHIPPING
- OTHER
line1:
type: string
line2:
type: string
locality:
type: string
description: The municipality to which the address belongs
example: Phoenix
postal_code:
type: string
region:
type: string
description: The long-name descriptive version of the Region Code
example: Arizona
region_code:
type: string
description: An ISO 3166-2 Province Code, such as one of the US States (https://en.wikipedia.org/wiki/ISO_3166-2:US)
example: US-AZ
zip_code:
type: string
zip_four:
type: string
company:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
invoice_to_company:
type: boolean
phone_number:
type: string
source_type:
type: string
description: 'The source where the order was created. Valid values include: API, CHECKOUT_FORM, INVOICE, MANUAL_PAYMENT, QUICKBOOKS, UNKNOWN.'
enum:
- INVOICE
- API
- CHECKOUT_FORM
- MANUAL_PAYMENT
- QUICKBOOKS
- UNKNOWN
status:
type: string
description: 'The order status. Valid values are: DRAFT, SENT, VIEWED, PAID.'
enum:
- DRAFT
- PAID
- SENT
- VIEWED
terms:
type: string
title:
type: string
total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_due:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_paid:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
x-codegen-request-body-name: request
servers:
- url: https://api.infusionsoft.com/crm/rest
/v2/orders/model:
get:
tags:
- Orders
summary: Retrieve Order Custom Field Model
description: Gets the custom fields for the Order object
operationId: retrieveOrderCustomFieldModelUsingGET
responses:
'200':
description: OK
content:
application/json:
schema:
title: ObjectModel
type: object
properties:
custom_fields:
type: array
items:
title: CustomFieldMetaData
type: object
properties:
default_value:
type: string
field_name:
type: string
field_type:
type: string
enum:
- CURRENCY
- DATE
- DATE_TIME
- DAY_OF_WEEK
- DECIMAL_NUMBER
- DRILLDOWN
- DROPDOWN
- EMAIL
- LIST_BOX
- MONTH
- NAME
- PERCENT
- PHONE_NUMBER
- RADIO
- SOCIAL_SECURITY_NUMBER
- STATE
- TEXT
- TEXT_AREA
- USER
- USER_LIST_BOX
- WEBSITE
- WHOLE_NUMBER
- YEAR
- YES_NO
group_id:
type: string
id:
type: string
label:
type: string
options:
type: array
items:
title: CustomFieldOption
type: object
properties:
id:
type: string
label:
type: string
options:
type: array
items:
$ref: '#/components/schemas/CustomFieldOption_2'
record_type:
type: string
enum:
- CONTACT
- REFERRAL_PARTNER
- OPPORTUNITY
- TASK_NOTE_APPOINTMENT
- COMPANY
- ORDER
- SUBSCRIPTION
optional_properties:
type: array
description: These fields are not transmitted by default on this model, but can be requested by specifying them in a comma-separated list in the optional_properties query parameter.
items:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'404':
description: Not Found
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
servers:
- url: https://api.infusionsoft.com/crm/rest
/v2/orders/model/customFields:
post:
tags:
- Orders
summary: Create an Order Custom Field
description: Creates a custom field of the specified type and options to the Order object
operationId: createOrderCustomFieldUsingPOST
requestBody:
description: customField
content:
application/json:
schema:
title: CreateCustomFieldRequest
required:
- field_type
- label
type: object
properties:
field_type:
type: string
enum:
- CURRENCY
- DATE
- DATE_TIME
- DAY_OF_WEEK
- DECIMAL_NUMBER
- DRILLDOWN
- DROPDOWN
- EMAIL
- LIST_BOX
- MONTH
- NAME
- PERCENT
- PHONE_NUMBER
- RADIO
- SOCIAL_SECURITY_NUMBER
- STATE
- TEXT
- TEXT_AREA
- USER
- USER_LIST_BOX
- WEBSITE
- WHOLE_NUMBER
- YEAR
- YES_NO
group_id:
type: string
description: An optional tab group to place the field under in the interface. If not specified, will default to the 'Custom Fields' tab.
label:
type: string
options:
type: array
items:
title: CreateCustomFieldOptionRequest
type: object
properties:
label:
type: string
options:
type: array
items:
$ref: '#/components/schemas/CreateCustomFieldOptionRequest_2'
user_group_id:
type: string
description: An optional user group to choose from when selecting values for User or UserListBox fields.
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
title: CustomFieldMetaData
type: object
properties:
default_value:
type: string
field_name:
type: string
field_type:
type: string
enum:
- CURRENCY
- DATE
- DATE_TIME
- DAY_OF_WEEK
- DECIMAL_NUMBER
- DRILLDOWN
- DROPDOWN
- EMAIL
- LIST_BOX
- MONTH
- NAME
- PERCENT
- PHONE_NUMBER
- RADIO
- SOCIAL_SECURITY_NUMBER
- STATE
- TEXT
- TEXT_AREA
- USER
- USER_LIST_BOX
- WEBSITE
- WHOLE_NUMBER
- YEAR
- YES_NO
group_id:
type: string
id:
type: string
label:
type: string
options:
type: array
items:
title: CustomFieldOption
type: object
properties:
id:
type: string
label:
type: string
options:
type: array
items:
$ref: '#/components/schemas/CustomFieldOption_2'
record_type:
type: string
enum:
- CONTACT
- REFERRAL_PARTNER
- OPPORTUNITY
- TASK_NOTE_APPOINTMENT
- COMPANY
- ORDER
- SUBSCRIPTION
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
x-codegen-request-body-name: customField
servers:
- url: https://api.infusionsoft.com/crm/rest
/v2/orders/model/customFields/{custom_field_id}:
delete:
tags:
- Orders
summary: Delete an Order Custom Field
description: Deletes a Custom Field from the Order object
operationId: deleteOrderCustomFieldUsingDELETE
parameters:
- name: custom_field_id
in: path
description: custom_field_id
required: true
schema:
type: string
responses:
'204':
description: No Content
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'404':
description: Not Found
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
patch:
tags:
- Orders
summary: Update an Order Custom Field
description: Updates a custom field of the specified type and options to the Order object
operationId: updateOrderCustomFieldUsingPATCH
parameters:
- name: custom_field_id
in: path
description: custom_field_id
required: true
schema:
type: string
- name: update_mask
in: query
description: An optional list of properties to be updated. If set, only the provided properties will be updated and others will be skipped.
allowEmptyValue: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- group_id
- label
- options
requestBody:
description: request
content:
application/json:
schema:
title: UpdateCustomFieldMetaDataRequest
required:
- group_id
type: object
properties:
group_id:
type: string
label:
type: string
options:
type: array
items:
title: CustomFieldOption
type: object
properties:
id:
type: string
label:
type: string
options:
type: array
items:
$ref: '#/components/schemas/CustomFieldOption_2'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
title: CustomFieldMetaData
type: object
properties:
default_value:
type: string
field_name:
type: string
field_type:
type: string
enum:
- CURRENCY
- DATE
- DATE_TIME
- DAY_OF_WEEK
- DECIMAL_NUMBER
- DRILLDOWN
- DROPDOWN
- EMAIL
- LIST_BOX
- MONTH
- NAME
- PERCENT
- PHONE_NUMBER
- RADIO
- SOCIAL_SECURITY_NUMBER
- STATE
- TEXT
- TEXT_AREA
- USER
- USER_LIST_BOX
- WEBSITE
- WHOLE_NUMBER
- YEAR
- YES_NO
group_id:
type: string
id:
type: string
label:
type: string
options:
type: array
items:
title: CustomFieldOption
type: object
properties:
id:
type: string
label:
type: string
options:
type: array
items:
$ref: '#/components/schemas/CustomFieldOption_2'
record_type:
type: string
enum:
- CONTACT
- REFERRAL_PARTNER
- OPPORTUNITY
- TASK_NOTE_APPOINTMENT
- COMPANY
- ORDER
- SUBSCRIPTION
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'404':
description: Not Found
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
x-codegen-request-body-name: request
servers:
- url: https://api.infusionsoft.com/crm/rest
/v2/orders/{order_id}:
get:
tags:
- Orders
summary: Retrieve an Order
description: Retrieves a single Order for a given order id
operationId: getOrderUsingGET_1
parameters:
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
title: Order
type: object
properties:
allow_payment:
type: boolean
description: Whether or not card-related payments should be allowed on this order. Applies only to Keap Pro/Max edition.
allow_paypal:
type: boolean
description: Whether or not PayPal payments should be allowed on this order. Applies only to Keap Pro/Max edition.
contact:
title: BasicContact
type: object
properties:
applied_time:
type: string
description: The time the tag was applied to the contact, in ISO 8601 format.
example: '2023-10-01T12:00:00Z'
email:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
creation_time:
type: string
description: When this order was originally created. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
files:
type: array
description: A list of attached files to this order. Applies only to Keap Pro/Max edition.
items:
title: InvoiceFile
type: object
properties:
file_id:
type: string
id:
type: string
invoice_number:
type: string
description: The associated invoice identifier. Applies only to Keap Pro/Max edition. Feature not yet supported.
lead_affiliate_id:
type: string
modification_time:
type: string
description: When this order was changed. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
notes:
type: string
order_items:
type: array
items:
title: OrderItem
type: object
properties:
cost_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
description:
type: string
discount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
id:
type: string
item_type:
type: string
description: 'The order item type. Valid values are: PRODUCT, SHIPPING, TAX, SERVICE, PRODUCT, UPSELL, FINANCE_CHARGE, DISCOUNT, PROGRAM, SUBSCRIPTION, DISCOUNT_FREE_TRIAL, DISCOUNT_ORDER_TOTAL, DISCOUNT_PRODUCT, DISCOUNT_PRODUCT_CATEGORY, DISCOUNT_SHIPPING, TIP, OTHER.'
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
notes:
type: string
price_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product:
title: OrderItemProduct
type: object
properties:
description:
type: string
id:
type: string
name:
type: string
shippable:
type: boolean
sku:
type: string
taxable:
type: boolean
quantity:
type: integer
format: int32
special:
title: Discount
type: object
properties:
amount:
type: number
format: double
discount_method:
type: string
enum:
- AMOUNT
- PERCENT
special_item_id:
type: string
subscription_id:
type: string
description: If the order item is a subscription type, this refers to the subscription id that generated the order.
subscription_plan:
title: SubscriptionPlan
type: object
properties:
active:
type: boolean
description: If the subscription plan is active or not.
allow_prorating:
type: boolean
description: Whether or not the plan will allow prorating.
cycle_type:
type: string
description: 'The cycle type of the subscription plan. Possible values: YEARLY, MONTHLY, WEEKLY, DAILY'
enum:
- DAILY
- WEEKLY
- MONTHLY
- YEARLY
display_order_index:
type: integer
description: The order index where this plan will be displayed on a page against other plans. Smaller number indicates plan will be displayed higher in the list.
format: int32
frequency:
type: integer
description: Total number of times of a cycle type which constitutes a plan cycle. Minimum value is 1.
format: int32
id:
type: string
description: Id of the subscription plan.
plan_price:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product_id:
type: string
total_cycles:
type: integer
description: Total number of cycles the plan will run before ending. Value of 0 indicates plan will never end.
format: int32
order_time:
type: string
description: A user-defined date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
order_type:
type: string
description: 'The order type. Valid values are: ONLINE, OFFLINE.'
enum:
- OFFLINE
- ONLINE
- UNKNOWN
payment_plan:
title: PaymentPlan
required:
- days_between_payments
- number_of_payments
- plan_start_date
type: object
properties:
auto_charge:
type: boolean
days_between_payments:
type: integer
format: int64
days_between_retries:
type: integer
format: int64
initial_payment_amount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
initial_payment_date:
type: string
initial_payment_percent:
type: number
format: double
max_charge_attempts:
type: integer
format: int64
number_of_payments:
type: integer
format: int64
payment_method_id:
type: string
plan_start_date:
type: string
refund_total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
sales_affiliate_id:
type: string
shipping_information:
title: ShippingInformation
type: object
properties:
address:
title: Address
type: object
properties:
country:
type: string
description: The long-name descriptive version of the Country Code
example: United States of America
country_code:
type: string
description: An ISO 3166-2 Country Code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
example: USA
field:
type: string
enum:
- ADDRESS_FIELD_UNSPECIFIED
- BILLING
- SHIPPING
- OTHER
line1:
type: string
line2:
type: string
locality:
type: string
description: The municipality to which the address belongs
example: Phoenix
postal_code:
type: string
region:
type: string
description: The long-name descriptive version of the Region Code
example: Arizona
region_code:
type: string
description: An ISO 3166-2 Province Code, such as one of the US States (https://en.wikipedia.org/wiki/ISO_3166-2:US)
example: US-AZ
zip_code:
type: string
zip_four:
type: string
company:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
invoice_to_company:
type: boolean
phone_number:
type: string
source_type:
type: string
description: 'The source where the order was created. Valid values include: API, CHECKOUT_FORM, INVOICE, MANUAL_PAYMENT, QUICKBOOKS, UNKNOWN.'
enum:
- INVOICE
- API
- CHECKOUT_FORM
- MANUAL_PAYMENT
- QUICKBOOKS
- UNKNOWN
status:
type: string
description: 'The order status. Valid values are: DRAFT, SENT, VIEWED, PAID.'
enum:
- DRAFT
- PAID
- SENT
- VIEWED
terms:
type: string
title:
type: string
total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_due:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_paid:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'404':
description: Not Found
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
delete:
tags:
- Orders
summary: Delete an Order
description: 'Deletes an Order
Note: The Order must not have any transactions recorded to be available for deletion.
'
operationId: deleteOrderUsingDELETE_1
parameters:
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
responses:
'204':
description: No Content
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'404':
description: Not Found
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
patch:
tags:
- Orders
summary: Update an Order
description: Updates an Order
operationId: updateOrderUsingPATCH
parameters:
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
- name: update_mask
in: query
description: An optional list of properties to be updated. If set, only the provided properties will be updated and others will be skipped.
allowEmptyValue: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- contact_id
- order_items
- order_title
- order_time
- order_type
- promo_codes
- lead_affiliate_id
- sales_affiliate_id
- shipping_address
- notes
- terms
- payment_plan
requestBody:
description: order
content:
application/json:
schema:
title: UpdateOrderRequest
type: object
properties:
contact_id:
type: string
lead_affiliate_id:
type: string
notes:
type: string
order_time:
type: string
description: The date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
order_title:
type: string
order_type:
type: string
description: 'The order type. Valid values are: ONLINE, OFFLINE.'
enum:
- OFFLINE
- ONLINE
payment_plan:
title: UpdatedPaymentPlan
type: object
properties:
auto_charge:
type: boolean
days_between_payments:
type: integer
format: int64
days_between_retries:
type: integer
format: int64
initial_payment_amount:
type: number
format: double
initial_payment_date:
type: string
description: ISO date of the initial payment in pay plan. e.g 2024-04-28
max_charge_attempts:
type: integer
format: int64
number_of_payments:
type: integer
format: int64
payment_method_id:
type: string
plan_start_date:
type: string
description: ISO date of the start of pay plan. e.g 2024-04-28
promo_codes:
type: array
description: Uses multiple strings as promo codes. The corresponding discount will be applied to the order.
items:
type: string
sales_affiliate_id:
type: string
shipping_address:
title: AddressInformation
type: object
properties:
company:
type: string
country_code:
type: string
first_name:
type: string
is_invoice_to_company:
type: boolean
last_name:
type: string
line1:
type: string
line2:
type: string
locality:
type: string
middle_name:
type: string
phone:
type: string
region:
type: string
zip_code:
type: string
zip_four:
type: string
terms:
type: string
required: false
responses:
'200':
description: OK
content:
application/json:
schema:
title: Order
type: object
properties:
allow_payment:
type: boolean
description: Whether or not card-related payments should be allowed on this order. Applies only to Keap Pro/Max edition.
allow_paypal:
type: boolean
description: Whether or not PayPal payments should be allowed on this order. Applies only to Keap Pro/Max edition.
contact:
title: BasicContact
type: object
properties:
applied_time:
type: string
description: The time the tag was applied to the contact, in ISO 8601 format.
example: '2023-10-01T12:00:00Z'
email:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
creation_time:
type: string
description: When this order was originally created. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
files:
type: array
description: A list of attached files to this order. Applies only to Keap Pro/Max edition.
items:
title: InvoiceFile
type: object
properties:
file_id:
type: string
id:
type: string
invoice_number:
type: string
description: The associated invoice identifier. Applies only to Keap Pro/Max edition. Feature not yet supported.
lead_affiliate_id:
type: string
modification_time:
type: string
description: When this order was changed. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
notes:
type: string
order_items:
type: array
items:
title: OrderItem
type: object
properties:
cost_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
description:
type: string
discount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
id:
type: string
item_type:
type: string
description: 'The order item type. Valid values are: PRODUCT, SHIPPING, TAX, SERVICE, PRODUCT, UPSELL, FINANCE_CHARGE, DISCOUNT, PROGRAM, SUBSCRIPTION, DISCOUNT_FREE_TRIAL, DISCOUNT_ORDER_TOTAL, DISCOUNT_PRODUCT, DISCOUNT_PRODUCT_CATEGORY, DISCOUNT_SHIPPING, TIP, OTHER.'
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
notes:
type: string
price_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product:
title: OrderItemProduct
type: object
properties:
description:
type: string
id:
type: string
name:
type: string
shippable:
type: boolean
sku:
type: string
taxable:
type: boolean
quantity:
type: integer
format: int32
special:
title: Discount
type: object
properties:
amount:
type: number
format: double
discount_method:
type: string
enum:
- AMOUNT
- PERCENT
special_item_id:
type: string
subscription_id:
type: string
description: If the order item is a subscription type, this refers to the subscription id that generated the order.
subscription_plan:
title: SubscriptionPlan
type: object
properties:
active:
type: boolean
description: If the subscription plan is active or not.
allow_prorating:
type: boolean
description: Whether or not the plan will allow prorating.
cycle_type:
type: string
description: 'The cycle type of the subscription plan. Possible values: YEARLY, MONTHLY, WEEKLY, DAILY'
enum:
- DAILY
- WEEKLY
- MONTHLY
- YEARLY
display_order_index:
type: integer
description: The order index where this plan will be displayed on a page against other plans. Smaller number indicates plan will be displayed higher in the list.
format: int32
frequency:
type: integer
description: Total number of times of a cycle type which constitutes a plan cycle. Minimum value is 1.
format: int32
id:
type: string
description: Id of the subscription plan.
plan_price:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product_id:
type: string
total_cycles:
type: integer
description: Total number of cycles the plan will run before ending. Value of 0 indicates plan will never end.
format: int32
order_time:
type: string
description: A user-defined date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
order_type:
type: string
description: 'The order type. Valid values are: ONLINE, OFFLINE.'
enum:
- OFFLINE
- ONLINE
- UNKNOWN
payment_plan:
title: PaymentPlan
required:
- days_between_payments
- number_of_payments
- plan_start_date
type: object
properties:
auto_charge:
type: boolean
days_between_payments:
type: integer
format: int64
days_between_retries:
type: integer
format: int64
initial_payment_amount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
initial_payment_date:
type: string
initial_payment_percent:
type: number
format: double
max_charge_attempts:
type: integer
format: int64
number_of_payments:
type: integer
format: int64
payment_method_id:
type: string
plan_start_date:
type: string
refund_total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
sales_affiliate_id:
type: string
shipping_information:
title: ShippingInformation
type: object
properties:
address:
title: Address
type: object
properties:
country:
type: string
description: The long-name descriptive version of the Country Code
example: United States of America
country_code:
type: string
description: An ISO 3166-2 Country Code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
example: USA
field:
type: string
enum:
- ADDRESS_FIELD_UNSPECIFIED
- BILLING
- SHIPPING
- OTHER
line1:
type: string
line2:
type: string
locality:
type: string
description: The municipality to which the address belongs
example: Phoenix
postal_code:
type: string
region:
type: string
description: The long-name descriptive version of the Region Code
example: Arizona
region_code:
type: string
description: An ISO 3166-2 Province Code, such as one of the US States (https://en.wikipedia.org/wiki/ISO_3166-2:US)
example: US-AZ
zip_code:
type: string
zip_four:
type: string
company:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
invoice_to_company:
type: boolean
phone_number:
type: string
source_type:
type: string
description: 'The source where the order was created. Valid values include: API, CHECKOUT_FORM, INVOICE, MANUAL_PAYMENT, QUICKBOOKS, UNKNOWN.'
enum:
- INVOICE
- API
- CHECKOUT_FORM
- MANUAL_PAYMENT
- QUICKBOOKS
- UNKNOWN
status:
type: string
description: 'The order status. Valid values are: DRAFT, SENT, VIEWED, PAID.'
enum:
- DRAFT
- PAID
- SENT
- VIEWED
terms:
type: string
title:
type: string
total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_due:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_paid:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'404':
description: Not Found
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
x-codegen-request-body-name: order
servers:
- url: https://api.infusionsoft.com/crm/rest
/v2/orders/{order_id}/items:
post:
tags:
- Orders
summary: Create an Order Item
description: Creates an order item on an existing order
operationId: createOrderItemUsingPOST
parameters:
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
requestBody:
description: request
content:
application/json:
schema:
title: CreateOrderItemRequest
required:
- product_id
- quantity
type: object
properties:
cost_per_unit:
type: number
description: The cost per unit. Must be greater than or equal to 0. If not specified, the product cost will be used.
format: double
description:
type: string
description: The description of the order item. Must not be whitespace.
item_type:
type: string
description: The type of this order item. For now only [PRODUCT] is supported. Will default to [PRODUCT] if omitted.
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
description: The name of the order item. Must not be whitespace. If not specified, the product name will be used.
notes:
type: string
description: The notes for the order item. Must not be whitespace.
price_per_unit:
type: number
description: The price per unit. Must be greater than or equal to 0. If not specified, the product price will be used.
format: double
product_id:
type: string
description: The id of the product to be added to the order. Must be a valid product id.
quantity:
type: integer
description: The quantity. Must be greater than or equal to 1.
format: int32
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
title: OrderItem
type: object
properties:
cost_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
description:
type: string
discount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
id:
type: string
item_type:
type: string
description: 'The order item type. Valid values are: PRODUCT, SHIPPING, TAX, SERVICE, PRODUCT, UPSELL, FINANCE_CHARGE, DISCOUNT, PROGRAM, SUBSCRIPTION, DISCOUNT_FREE_TRIAL, DISCOUNT_ORDER_TOTAL, DISCOUNT_PRODUCT, DISCOUNT_PRODUCT_CATEGORY, DISCOUNT_SHIPPING, TIP, OTHER.'
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
notes:
type: string
price_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product:
title: OrderItemProduct
type: object
properties:
description:
type: string
id:
type: string
name:
type: string
shippable:
type: boolean
sku:
type: string
taxable:
type: boolean
quantity:
type: integer
format: int32
special:
title: Discount
type: object
properties:
amount:
type: number
format: double
discount_method:
type: string
enum:
- AMOUNT
- PERCENT
special_item_id:
type: string
subscription_id:
type: string
description: If the order item is a subscription type, this refers to the subscription id that generated the order.
subscription_plan:
title: SubscriptionPlan
type: object
properties:
active:
type: boolean
description: If the subscription plan is active or not.
allow_prorating:
type: boolean
description: Whether or not the plan will allow prorating.
cycle_type:
type: string
description: 'The cycle type of the subscription plan. Possible values: YEARLY, MONTHLY, WEEKLY, DAILY'
enum:
- DAILY
- WEEKLY
- MONTHLY
- YEARLY
display_order_index:
type: integer
description: The order index where this plan will be displayed on a page against other plans. Smaller number indicates plan will be displayed higher in the list.
format: int32
frequency:
type: integer
description: Total number of times of a cycle type which constitutes a plan cycle. Minimum value is 1.
format: int32
id:
type: string
description: Id of the subscription plan.
plan_price:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product_id:
type: string
total_cycles:
type: integer
description: Total number of cycles the plan will run before ending. Value of 0 indicates plan will never end.
format: int32
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
x-codegen-request-body-name: request
servers:
- url: https://api.infusionsoft.com/crm/rest
/v2/orders/{order_id}/items/{order_item_id}:
delete:
tags:
- Orders
summary: Delete an Order Item
description: Deletes an order item on an existing order
operationId: deleteOrderItemUsingDELETE
parameters:
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
- name: order_item_id
in: path
description: order_item_id
required: true
schema:
type: string
responses:
'204':
description: No Content
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'404':
description: Not Found
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
patch:
tags:
- Orders
summary: Update an Order Item
description: Updates an Order Item
operationId: updateOrderItemUsingPATCH
parameters:
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
- name: order_item_id
in: path
description: order_item_id
required: true
schema:
type: string
- name: update_mask
in: query
description: An optional list of properties to be updated. If set, only the provided properties will be updated and others will be skipped.
allowEmptyValue: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- contact_id
- order_items
- order_title
- order_time
- order_type
- promo_codes
- lead_affiliate_id
- sales_affiliate_id
- shipping_address
- notes
- terms
- payment_plan
requestBody:
description: order
content:
application/json:
schema:
title: UpdateOrderItemRequest
type: object
properties:
cost_per_unit:
type: number
description: The cost per unit. Must be greater than or equal to 0.
format: double
description:
type: string
description: The description of the order item. Must not be whitespace.
item_type:
type: string
description: The type of this order item. For now only [PRODUCT] is supported. Will default to [PRODUCT] if omitted.
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
description: The name of the order item. Must not be whitespace.
notes:
type: string
description: The notes for the order item. Must not be whitespace.
price_per_unit:
type: number
description: The price per unit. Must be greater than or equal to 0.
format: double
quantity:
type: integer
description: The quantity. Must be greater than or equal to 1.
format: int32
required: false
responses:
'200':
description: OK
content:
application/json:
schema:
title: OrderItem
type: object
properties:
cost_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
description:
type: string
discount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
id:
type: string
item_type:
type: string
description: 'The order item type. Valid values are: PRODUCT, SHIPPING, TAX, SERVICE, PRODUCT, UPSELL, FINANCE_CHARGE, DISCOUNT, PROGRAM, SUBSCRIPTION, DISCOUNT_FREE_TRIAL, DISCOUNT_ORDER_TOTAL, DISCOUNT_PRODUCT, DISCOUNT_PRODUCT_CATEGORY, DISCOUNT_SHIPPING, TIP, OTHER.'
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
notes:
type: string
price_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product:
title: OrderItemProduct
type: object
properties:
description:
type: string
id:
type: string
name:
type: string
shippable:
type: boolean
sku:
type: string
taxable:
type: boolean
quantity:
type: integer
format: int32
special:
title: Discount
type: object
properties:
amount:
type: number
format: double
discount_method:
type: string
enum:
- AMOUNT
- PERCENT
special_item_id:
type: string
subscription_id:
type: string
description: If the order item is a subscription type, this refers to the subscription id that generated the order.
subscription_plan:
title: SubscriptionPlan
type: object
properties:
active:
type: boolean
description: If the subscription plan is active or not.
allow_prorating:
type: boolean
description: Whether or not the plan will allow prorating.
cycle_type:
type: string
description: 'The cycle type of the subscription plan. Possible values: YEARLY, MONTHLY, WEEKLY, DAILY'
enum:
- DAILY
- WEEKLY
- MONTHLY
- YEARLY
display_order_index:
type: integer
description: The order index where this plan will be displayed on a page against other plans. Smaller number indicates plan will be displayed higher in the list.
format: int32
frequency:
type: integer
description: Total number of times of a cycle type which constitutes a plan cycle. Minimum value is 1.
format: int32
id:
type: string
description: Id of the subscription plan.
plan_price:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product_id:
type: string
total_cycles:
type: integer
description: Total number of cycles the plan will run before ending. Value of 0 indicates plan will never end.
format: int32
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'404':
description: Not Found
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
x-codegen-request-body-name: order
servers:
- url: https://api.infusionsoft.com/crm/rest
/v2/orders/{order_id}/items/{order_item_id}:applyCommission:
post:
tags:
- Orders
summary: Apply Commission to an Order Item
description: Applies commission to an order item on an existing order.
operationId: applyCommissionOnOrderItemsUsingPOST
parameters:
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
- name: order_item_id
in: path
description: order_item_id
required: true
schema:
type: string
requestBody:
description: request
content:
application/json:
schema:
title: RestApplyCommissionRequest
required:
- affiliate_id
- payout_type
type: object
properties:
affiliate_id:
type: string
description: The affiliate id
commission_amount:
type: number
format: double
commission_date:
type: string
description:
type: string
pay_percent:
type: number
format: double
payout_type:
type: string
description: The payout type
enum:
- UPFRONT
- PAYMENT_RECEIVED
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
title: OrderItem
type: object
properties:
cost_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
description:
type: string
discount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
id:
type: string
item_type:
type: string
description: 'The order item type. Valid values are: PRODUCT, SHIPPING, TAX, SERVICE, PRODUCT, UPSELL, FINANCE_CHARGE, DISCOUNT, PROGRAM, SUBSCRIPTION, DISCOUNT_FREE_TRIAL, DISCOUNT_ORDER_TOTAL, DISCOUNT_PRODUCT, DISCOUNT_PRODUCT_CATEGORY, DISCOUNT_SHIPPING, TIP, OTHER.'
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
notes:
type: string
price_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product:
title: OrderItemProduct
type: object
properties:
description:
type: string
id:
type: string
name:
type: string
shippable:
type: boolean
sku:
type: string
taxable:
type: boolean
quantity:
type: integer
format: int32
special:
title: Discount
type: object
properties:
amount:
type: number
format: double
discount_method:
type: string
enum:
- AMOUNT
- PERCENT
special_item_id:
type: string
subscription_id:
type: string
description: If the order item is a subscription type, this refers to the subscription id that generated the order.
subscription_plan:
title: SubscriptionPlan
type: object
properties:
active:
type: boolean
description: If the subscription plan is active or not.
allow_prorating:
type: boolean
description: Whether or not the plan will allow prorating.
cycle_type:
type: string
description: 'The cycle type of the subscription plan. Possible values: YEARLY, MONTHLY, WEEKLY, DAILY'
enum:
- DAILY
- WEEKLY
- MONTHLY
- YEARLY
display_order_index:
type: integer
description: The order index where this plan will be displayed on a page against other plans. Smaller number indicates plan will be displayed higher in the list.
format: int32
frequency:
type: integer
description: Total number of times of a cycle type which constitutes a plan cycle. Minimum value is 1.
format: int32
id:
type: string
description: Id of the subscription plan.
plan_price:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product_id:
type: string
total_cycles:
type: integer
description: Total number of cycles the plan will run before ending. Value of 0 indicates plan will never end.
format: int32
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
x-codegen-request-body-name: request
servers:
- url: https://api.infusionsoft.com/crm/rest
/v2/orders/{order_id}/payments:
get:
tags:
- Orders
summary: Retrieve Order Payments
description: Retrieves a list of payments made against a given order, including historical or external payments of cash or credit card
operationId: listOrderPaymentsUsingGET_1
parameters:
- name: filter
in: query
description: "Filter to apply, allowed fields are:\n- (String) `invoice_id`\n- (String) `payment_id`\n- (String) `amount`\n- (String) `pay_status`\n- (Boolean) `skip_commission`\n\nYou will need to apply the `==` operator to check the equality of one of the filters with your searched\n word, in the encoded form `%3D%3D`. For the filters listed above, here are some examples:\n- `filter=payment_id%3D%3D123`\n- `filter=pay_status%3D%3DAPPROVED`\n- `filter=invoice_id%3D%3D456%3Bskip_commission=true`\n"
schema:
type: string
- name: order_by
in: query
description: 'Attribute and direction to order items.
One of the following fields:
- `invoice_id`
- `payment_id`
- `amount`
- `pay_time`
- `pay_status`
- `skip_commission`
- `last_updated_time`
One of the following directions:
- `asc`
- `desc`'
schema:
type: string
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
- name: page_size
in: query
description: Total number of items to return per page
schema:
maximum: 1000
minimum: 1
type: integer
format: int32
example: 0
- name: page_token
in: query
description: Page token
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
title: ListOrderPaymentsResponse
type: object
properties:
invoice_order_payments:
type: array
items:
title: InvoiceOrderPayment
type: object
properties:
amount:
type: number
id:
type: string
invoice_id:
type: string
last_updated_time:
type: string
note:
type: string
pay_status:
type: string
enum:
- MANUAL_PAID
- REFUNDED
- VOIDED
- PAYPAL_PAID
- APPROVED
- FAILED
- ERROR
- PENDING
pay_time:
type: string
payment_id:
type: string
refund_invoice_payment_id:
type: string
skip_commission:
type: boolean
next_page_token:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'404':
description: Not Found
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
post:
tags:
- Orders
summary: Create a Payment
description: Creates a payment record. Alternatively, adds a record of historical or external payment of cash or credit card
operationId: createPaymentForAnOrderUsingPOST
parameters:
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
requestBody:
description: request
content:
application/json:
schema:
title: CreatePaymentRequest
type: object
properties:
apply_to_commissions:
type: boolean
description: Whether to apply this payment to commissions.
notes:
type: string
description: The notes for this payment.
payment_amount:
type: number
description: The amount to pay. Must not exceed the current balance of the order. Must be greater than 0 if charging with a payment_method_id
format: double
payment_method_id:
type: string
description: The payment method id to charge immediately against this order. Omit if you want to add a payment record instead.
payment_method_type:
type: string
description: The manual payment method type for manually recording a payment. Value must match against the list of types defined under your application's Order Settings. Ignored if payment_method_id is provided.
payment_time:
type: string
description: The date and time of payment. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
title: PaymentResult
type: object
properties:
id:
type: string
invoice_id:
type: string
payment_amount:
type: number
format: double
payment_status_message:
type: string
transaction_id:
type: string
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
x-codegen-request-body-name: request
servers:
- url: https://api.infusionsoft.com/crm/rest
/v2/orders/{order_id}:applyTax:
post:
tags:
- Orders
summary: Apply Taxes on an Order
description: Calculate taxes for a single Order for a given order id
operationId: applyTaxUsingPOST
parameters:
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
title: Order
type: object
properties:
allow_payment:
type: boolean
description: Whether or not card-related payments should be allowed on this order. Applies only to Keap Pro/Max edition.
allow_paypal:
type: boolean
description: Whether or not PayPal payments should be allowed on this order. Applies only to Keap Pro/Max edition.
contact:
title: BasicContact
type: object
properties:
applied_time:
type: string
description: The time the tag was applied to the contact, in ISO 8601 format.
example: '2023-10-01T12:00:00Z'
email:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
creation_time:
type: string
description: When this order was originally created. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
files:
type: array
description: A list of attached files to this order. Applies only to Keap Pro/Max edition.
items:
title: InvoiceFile
type: object
properties:
file_id:
type: string
id:
type: string
invoice_number:
type: string
description: The associated invoice identifier. Applies only to Keap Pro/Max edition. Feature not yet supported.
lead_affiliate_id:
type: string
modification_time:
type: string
description: When this order was changed. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
notes:
type: string
order_items:
type: array
items:
title: OrderItem
type: object
properties:
cost_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
description:
type: string
discount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
id:
type: string
item_type:
type: string
description: 'The order item type. Valid values are: PRODUCT, SHIPPING, TAX, SERVICE, PRODUCT, UPSELL, FINANCE_CHARGE, DISCOUNT, PROGRAM, SUBSCRIPTION, DISCOUNT_FREE_TRIAL, DISCOUNT_ORDER_TOTAL, DISCOUNT_PRODUCT, DISCOUNT_PRODUCT_CATEGORY, DISCOUNT_SHIPPING, TIP, OTHER.'
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
notes:
type: string
price_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product:
title: OrderItemProduct
type: object
properties:
description:
type: string
id:
type: string
name:
type: string
shippable:
type: boolean
sku:
type: string
taxable:
type: boolean
quantity:
type: integer
format: int32
special:
title: Discount
type: object
properties:
amount:
type: number
format: double
discount_method:
type: string
enum:
- AMOUNT
- PERCENT
special_item_id:
type: string
subscription_id:
type: string
description: If the order item is a subscription type, this refers to the subscription id that generated the order.
subscription_plan:
title: SubscriptionPlan
type: object
properties:
active:
type: boolean
description: If the subscription plan is active or not.
allow_prorating:
type: boolean
description: Whether or not the plan will allow prorating.
cycle_type:
type: string
description: 'The cycle type of the subscription plan. Possible values: YEARLY, MONTHLY, WEEKLY, DAILY'
enum:
- DAILY
- WEEKLY
- MONTHLY
- YEARLY
display_order_index:
type: integer
description: The order index where this plan will be displayed on a page against other plans. Smaller number indicates plan will be displayed higher in the list.
format: int32
frequency:
type: integer
description: Total number of times of a cycle type which constitutes a plan cycle. Minimum value is 1.
format: int32
id:
type: string
description: Id of the subscription plan.
plan_price:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product_id:
type: string
total_cycles:
type: integer
description: Total number of cycles the plan will run before ending. Value of 0 indicates plan will never end.
format: int32
order_time:
type: string
description: A user-defined date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
order_type:
type: string
description: 'The order type. Valid values are: ONLINE, OFFLINE.'
enum:
- OFFLINE
- ONLINE
- UNKNOWN
payment_plan:
title: PaymentPlan
required:
- days_between_payments
- number_of_payments
- plan_start_date
type: object
properties:
auto_charge:
type: boolean
days_between_payments:
type: integer
format: int64
days_between_retries:
type: integer
format: int64
initial_payment_amount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
initial_payment_date:
type: string
initial_payment_percent:
type: number
format: double
max_charge_attempts:
type: integer
format: int64
number_of_payments:
type: integer
format: int64
payment_method_id:
type: string
plan_start_date:
type: string
refund_total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
sales_affiliate_id:
type: string
shipping_information:
title: ShippingInformation
type: object
properties:
address:
title: Address
type: object
properties:
country:
type: string
description: The long-name descriptive version of the Country Code
example: United States of America
country_code:
type: string
description: An ISO 3166-2 Country Code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
example: USA
field:
type: string
enum:
- ADDRESS_FIELD_UNSPECIFIED
- BILLING
- SHIPPING
- OTHER
line1:
type: string
line2:
type: string
locality:
type: string
description: The municipality to which the address belongs
example: Phoenix
postal_code:
type: string
region:
type: string
description: The long-name descriptive version of the Region Code
example: Arizona
region_code:
type: string
description: An ISO 3166-2 Province Code, such as one of the US States (https://en.wikipedia.org/wiki/ISO_3166-2:US)
example: US-AZ
zip_code:
type: string
zip_four:
type: string
company:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
invoice_to_company:
type: boolean
phone_number:
type: string
source_type:
type: string
description: 'The source where the order was created. Valid values include: API, CHECKOUT_FORM, INVOICE, MANUAL_PAYMENT, QUICKBOOKS, UNKNOWN.'
enum:
- INVOICE
- API
- CHECKOUT_FORM
- MANUAL_PAYMENT
- QUICKBOOKS
- UNKNOWN
status:
type: string
description: 'The order status. Valid values are: DRAFT, SENT, VIEWED, PAID.'
enum:
- DRAFT
- PAID
- SENT
- VIEWED
terms:
type: string
title:
type: string
total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_due:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_paid:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
servers:
- url: https://api.infusionsoft.com/crm/rest
/v2/orders/{order_id}:attachFile:
post:
tags:
- Orders
summary: Attach a File to an Order Invoice
description: Attaches an uploaded File to an Order Invoice
operationId: attachFileToOrderUsingPOST
parameters:
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
requestBody:
description: File name
content:
application/json:
schema:
title: FileOperationRequest
required:
- file_id
type: object
properties:
file_id:
type: string
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
title: Order
type: object
properties:
allow_payment:
type: boolean
description: Whether or not card-related payments should be allowed on this order. Applies only to Keap Pro/Max edition.
allow_paypal:
type: boolean
description: Whether or not PayPal payments should be allowed on this order. Applies only to Keap Pro/Max edition.
contact:
title: BasicContact
type: object
properties:
applied_time:
type: string
description: The time the tag was applied to the contact, in ISO 8601 format.
example: '2023-10-01T12:00:00Z'
email:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
creation_time:
type: string
description: When this order was originally created. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
files:
type: array
description: A list of attached files to this order. Applies only to Keap Pro/Max edition.
items:
title: InvoiceFile
type: object
properties:
file_id:
type: string
id:
type: string
invoice_number:
type: string
description: The associated invoice identifier. Applies only to Keap Pro/Max edition. Feature not yet supported.
lead_affiliate_id:
type: string
modification_time:
type: string
description: When this order was changed. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
notes:
type: string
order_items:
type: array
items:
title: OrderItem
type: object
properties:
cost_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
description:
type: string
discount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
id:
type: string
item_type:
type: string
description: 'The order item type. Valid values are: PRODUCT, SHIPPING, TAX, SERVICE, PRODUCT, UPSELL, FINANCE_CHARGE, DISCOUNT, PROGRAM, SUBSCRIPTION, DISCOUNT_FREE_TRIAL, DISCOUNT_ORDER_TOTAL, DISCOUNT_PRODUCT, DISCOUNT_PRODUCT_CATEGORY, DISCOUNT_SHIPPING, TIP, OTHER.'
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
notes:
type: string
price_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product:
title: OrderItemProduct
type: object
properties:
description:
type: string
id:
type: string
name:
type: string
shippable:
type: boolean
sku:
type: string
taxable:
type: boolean
quantity:
type: integer
format: int32
special:
title: Discount
type: object
properties:
amount:
type: number
format: double
discount_method:
type: string
enum:
- AMOUNT
- PERCENT
special_item_id:
type: string
subscription_id:
type: string
description: If the order item is a subscription type, this refers to the subscription id that generated the order.
subscription_plan:
title: SubscriptionPlan
type: object
properties:
active:
type: boolean
description: If the subscription plan is active or not.
allow_prorating:
type: boolean
description: Whether or not the plan will allow prorating.
cycle_type:
type: string
description: 'The cycle type of the subscription plan. Possible values: YEARLY, MONTHLY, WEEKLY, DAILY'
enum:
- DAILY
- WEEKLY
- MONTHLY
- YEARLY
display_order_index:
type: integer
description: The order index where this plan will be displayed on a page against other plans. Smaller number indicates plan will be displayed higher in the list.
format: int32
frequency:
type: integer
description: Total number of times of a cycle type which constitutes a plan cycle. Minimum value is 1.
format: int32
id:
type: string
description: Id of the subscription plan.
plan_price:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product_id:
type: string
total_cycles:
type: integer
description: Total number of cycles the plan will run before ending. Value of 0 indicates plan will never end.
format: int32
order_time:
type: string
description: A user-defined date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
order_type:
type: string
description: 'The order type. Valid values are: ONLINE, OFFLINE.'
enum:
- OFFLINE
- ONLINE
- UNKNOWN
payment_plan:
title: PaymentPlan
required:
- days_between_payments
- number_of_payments
- plan_start_date
type: object
properties:
auto_charge:
type: boolean
days_between_payments:
type: integer
format: int64
days_between_retries:
type: integer
format: int64
initial_payment_amount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
initial_payment_date:
type: string
initial_payment_percent:
type: number
format: double
max_charge_attempts:
type: integer
format: int64
number_of_payments:
type: integer
format: int64
payment_method_id:
type: string
plan_start_date:
type: string
refund_total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
sales_affiliate_id:
type: string
shipping_information:
title: ShippingInformation
type: object
properties:
address:
title: Address
type: object
properties:
country:
type: string
description: The long-name descriptive version of the Country Code
example: United States of America
country_code:
type: string
description: An ISO 3166-2 Country Code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
example: USA
field:
type: string
enum:
- ADDRESS_FIELD_UNSPECIFIED
- BILLING
- SHIPPING
- OTHER
line1:
type: string
line2:
type: string
locality:
type: string
description: The municipality to which the address belongs
example: Phoenix
postal_code:
type: string
region:
type: string
description: The long-name descriptive version of the Region Code
example: Arizona
region_code:
type: string
description: An ISO 3166-2 Province Code, such as one of the US States (https://en.wikipedia.org/wiki/ISO_3166-2:US)
example: US-AZ
zip_code:
type: string
zip_four:
type: string
company:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
invoice_to_company:
type: boolean
phone_number:
type: string
source_type:
type: string
description: 'The source where the order was created. Valid values include: API, CHECKOUT_FORM, INVOICE, MANUAL_PAYMENT, QUICKBOOKS, UNKNOWN.'
enum:
- INVOICE
- API
- CHECKOUT_FORM
- MANUAL_PAYMENT
- QUICKBOOKS
- UNKNOWN
status:
type: string
description: 'The order status. Valid values are: DRAFT, SENT, VIEWED, PAID.'
enum:
- DRAFT
- PAID
- SENT
- VIEWED
terms:
type: string
title:
type: string
total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_due:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_paid:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
x-codegen-request-body-name: request
servers:
- url: https://api.infusionsoft.com/crm/rest
/v2/orders/{order_id}:detachFile:
post:
tags:
- Orders
summary: Detach a File from an Order Invoice
description: Detaches a File from an Order Invoice
operationId: detachFileFromOrderUsingPOST
parameters:
- name: order_id
in: path
description: order_id
required: true
schema:
type: string
requestBody:
description: request
content:
application/json:
schema:
title: FileOperationRequest
required:
- file_id
type: object
properties:
file_id:
type: string
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
title: Order
type: object
properties:
allow_payment:
type: boolean
description: Whether or not card-related payments should be allowed on this order. Applies only to Keap Pro/Max edition.
allow_paypal:
type: boolean
description: Whether or not PayPal payments should be allowed on this order. Applies only to Keap Pro/Max edition.
contact:
title: BasicContact
type: object
properties:
applied_time:
type: string
description: The time the tag was applied to the contact, in ISO 8601 format.
example: '2023-10-01T12:00:00Z'
email:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
creation_time:
type: string
description: When this order was originally created. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
files:
type: array
description: A list of attached files to this order. Applies only to Keap Pro/Max edition.
items:
title: InvoiceFile
type: object
properties:
file_id:
type: string
id:
type: string
invoice_number:
type: string
description: The associated invoice identifier. Applies only to Keap Pro/Max edition. Feature not yet supported.
lead_affiliate_id:
type: string
modification_time:
type: string
description: When this order was changed. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
notes:
type: string
order_items:
type: array
items:
title: OrderItem
type: object
properties:
cost_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
description:
type: string
discount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
id:
type: string
item_type:
type: string
description: 'The order item type. Valid values are: PRODUCT, SHIPPING, TAX, SERVICE, PRODUCT, UPSELL, FINANCE_CHARGE, DISCOUNT, PROGRAM, SUBSCRIPTION, DISCOUNT_FREE_TRIAL, DISCOUNT_ORDER_TOTAL, DISCOUNT_PRODUCT, DISCOUNT_PRODUCT_CATEGORY, DISCOUNT_SHIPPING, TIP, OTHER.'
enum:
- UNKNOWN
- SHIPPING
- TAX
- SERVICE
- PRODUCT
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
name:
type: string
notes:
type: string
price_per_unit:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product:
title: OrderItemProduct
type: object
properties:
description:
type: string
id:
type: string
name:
type: string
shippable:
type: boolean
sku:
type: string
taxable:
type: boolean
quantity:
type: integer
format: int32
special:
title: Discount
type: object
properties:
amount:
type: number
format: double
discount_method:
type: string
enum:
- AMOUNT
- PERCENT
special_item_id:
type: string
subscription_id:
type: string
description: If the order item is a subscription type, this refers to the subscription id that generated the order.
subscription_plan:
title: SubscriptionPlan
type: object
properties:
active:
type: boolean
description: If the subscription plan is active or not.
allow_prorating:
type: boolean
description: Whether or not the plan will allow prorating.
cycle_type:
type: string
description: 'The cycle type of the subscription plan. Possible values: YEARLY, MONTHLY, WEEKLY, DAILY'
enum:
- DAILY
- WEEKLY
- MONTHLY
- YEARLY
display_order_index:
type: integer
description: The order index where this plan will be displayed on a page against other plans. Smaller number indicates plan will be displayed higher in the list.
format: int32
frequency:
type: integer
description: Total number of times of a cycle type which constitutes a plan cycle. Minimum value is 1.
format: int32
id:
type: string
description: Id of the subscription plan.
plan_price:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
product_id:
type: string
total_cycles:
type: integer
description: Total number of cycles the plan will run before ending. Value of 0 indicates plan will never end.
format: int32
order_time:
type: string
description: A user-defined date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
order_type:
type: string
description: 'The order type. Valid values are: ONLINE, OFFLINE.'
enum:
- OFFLINE
- ONLINE
- UNKNOWN
payment_plan:
title: PaymentPlan
required:
- days_between_payments
- number_of_payments
- plan_start_date
type: object
properties:
auto_charge:
type: boolean
days_between_payments:
type: integer
format: int64
days_between_retries:
type: integer
format: int64
initial_payment_amount:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
initial_payment_date:
type: string
initial_payment_percent:
type: number
format: double
max_charge_attempts:
type: integer
format: int64
number_of_payments:
type: integer
format: int64
payment_method_id:
type: string
plan_start_date:
type: string
refund_total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
sales_affiliate_id:
type: string
shipping_information:
title: ShippingInformation
type: object
properties:
address:
title: Address
type: object
properties:
country:
type: string
description: The long-name descriptive version of the Country Code
example: United States of America
country_code:
type: string
description: An ISO 3166-2 Country Code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
example: USA
field:
type: string
enum:
- ADDRESS_FIELD_UNSPECIFIED
- BILLING
- SHIPPING
- OTHER
line1:
type: string
line2:
type: string
locality:
type: string
description: The municipality to which the address belongs
example: Phoenix
postal_code:
type: string
region:
type: string
description: The long-name descriptive version of the Region Code
example: Arizona
region_code:
type: string
description: An ISO 3166-2 Province Code, such as one of the US States (https://en.wikipedia.org/wiki/ISO_3166-2:US)
example: US-AZ
zip_code:
type: string
zip_four:
type: string
company:
type: string
family_name:
type: string
given_name:
type: string
id:
type: string
invoice_to_company:
type: boolean
phone_number:
type: string
source_type:
type: string
description: 'The source where the order was created. Valid values include: API, CHECKOUT_FORM, INVOICE, MANUAL_PAYMENT, QUICKBOOKS, UNKNOWN.'
enum:
- INVOICE
- API
- CHECKOUT_FORM
- MANUAL_PAYMENT
- QUICKBOOKS
- UNKNOWN
status:
type: string
description: 'The order status. Valid values are: DRAFT, SENT, VIEWED, PAID.'
enum:
- DRAFT
- PAID
- SENT
- VIEWED
terms:
type: string
title:
type: string
total:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_due:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
total_paid:
title: CurrencyValue
type: object
properties:
amount:
type: integer
description: The price amount in the smallest currency unit
format: int64
currency_code:
type: string
description: Three-letter ISO currency code
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
'401':
description: Unauthorized
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'403':
description: Forbidden
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
'500':
description: Internal Server Error
content:
application/json:
schema:
title: Error
type: object
properties:
cause:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
deprecated: false
x-codegen-request-body-name: request
servers:
- url: https://api.infusionsoft.com/crm/rest
components:
schemas:
OrderItemProduct:
type: object
properties:
id:
type: string
description: Product ID
example: 123
name:
type: string
description: Product name
example: Premium Widget
sku:
type: string
description: Stock keeping unit
example: WDG-001
description:
type: string
description: Product description
example: High-quality widget
shippable:
type: boolean
description: Whether product requires shipping
example: true
taxable:
type: boolean
description: Whether product is taxable
example: true
OrderV2:
type: object
properties:
id:
type: string
description: Unique identifier for the order
example: 123
title:
type: string
description: Title of the order
example: 'Online Order #1234'
status:
type: string
description: The order status.
enum:
- DRAFT
- SENT
- VIEWED
- PAID
example: PAID
total:
$ref: '#/components/schemas/CurrencyValue'
description: The total amount of the order.
contact:
$ref: '#/components/schemas/BasicContact'
description: Contact associated with this order
notes:
type: string
description: Internal notes for the order
example: Customer requested gift wrapping
terms:
type: string
description: Order terms and conditions
example: Net 30
order_type:
type: string
description: The order type.
enum:
- ONLINE
- OFFLINE
example: ONLINE
source_type:
type: string
description: The source where the order was created.
enum:
- API
- CHECKOUT_FORM
- INVOICE
- MANUAL_PAYMENT
- QUICKBOOKS
- UNKNOWN
example: API
creation_time:
type: string
format: date-time
description: When this order was originally created. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
modification_time:
type: string
format: date-time
description: When this order was changed. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
order_time:
type: string
format: date-time
description: A user-defined date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
lead_affiliate_id:
type: string
description: ID of the lead affiliate
example: 456
sales_affiliate_id:
type: string
description: ID of the sales affiliate
example: 789
total_paid:
$ref: '#/components/schemas/CurrencyValue'
description: The total amount paid to the order.
total_due:
$ref: '#/components/schemas/CurrencyValue'
description: The total amount of the order that is due. This is not current balance.
shipping_information:
$ref: '#/components/schemas/ShippingInformation'
description: Shipping details for the order
refund_total:
$ref: '#/components/schemas/CurrencyValue'
description: Total amount refunded
allow_payment:
type: boolean
description: Whether or not card-related payments should be allowed on this order. Applies only to Keap Pro/Max edition.
example: true
allow_paypal:
type: boolean
description: Whether or not PayPal payments should be allowed on this order. Applies only to Keap Pro/Max edition.
example: false
order_items:
type: array
description: List of items in the order
items:
$ref: '#/components/schemas/OrderItem'
payment_plan:
$ref: '#/components/schemas/PaymentPlan'
description: Payment plan details if applicable
invoice_number:
type: string
description: The associated invoice identifier. Applies only to Keap Pro/Max edition. Feature not yet supported.
example: 1001
files:
type: array
description: A list of attached files to this order. Applies only to Keap Pro/Max edition.
items:
$ref: '#/components/schemas/InvoiceFile'
credit_status:
type: string
description: Credit status of the order
example: APPROVED
promo_code:
type: string
description: Promotional code applied
example: SUMMER20
refund_status:
type: string
description: Refund status
example: NONE
synced:
type: boolean
description: Whether order is synced with external systems
example: true
invoice_id:
type: string
description: Associated invoice ID
example: 456
custom_fields:
type: array
description: List of custom field values applied to this order
example:
- id: '1'
content: VIP
- id: '2'
content: Preferred
items:
$ref: '#/components/schemas/CustomFieldValue'
sent_time:
type: string
format: date-time
description: The date and time the invoice was sent. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
due_time:
type: string
format: date-time
description: The date and time the invoice is due. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-06-20T14:30:00Z'
external_create_user:
type: string
description: The external system user that created this order.
example: user@example.com
external_create_time:
type: string
format: date-time
description: The date and time the order was created in the external system. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
external_update_time:
type: string
format: date-time
description: The date and time the order was last updated in the external system. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
Address:
type: object
properties:
country:
type: string
deprecated: true
description: Deprecated. The long-name descriptive version of the Country Code. Please use 'country_code' for POST/PATCH operations. Maximum length is 100 characters.
example: United States of America
line1:
type: string
description: Street address line 1. Maximum length is 75 characters for the BILLING address and 100 characters for the SHIPPING and OTHER addresses.
example: 123
line2:
type: string
description: Street address line 2. Maximum length is 75 characters for the BILLING address and 100 characters for the SHIPPING and OTHER addresses.
example: Suite 100
locality:
type: string
description: The municipality to which the address belongs. Maximum length is 50 characters for the BILLING address and 100 characters for the SHIPPING and OTHER addresses.
example: Phoenix
region:
type: string
deprecated: true
description: The long-name descriptive version of the Region Code. Please use 'region_code' for POST/PATCH operations. Maximum length is 50 characters.
example: Arizona
field:
type: string
description: Address type field
enum:
- ADDRESS_FIELD_UNSPECIFIED
- BILLING
- SHIPPING
- OTHER
example: BILLING
country_code:
type: string
description: An ISO 3166-2 Country Code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3)
example: USA
postal_code:
type: string
description: Postal or ZIP code. Maximum length is 15 characters for the BILLING and OTHER addresses and 20 characters for the SHIPPING address.
example: 85001
region_code:
type: string
description: An ISO 3166-2 Province Code, such as one of the US States (https://en.wikipedia.org/wiki/ISO_3166-2:US)
example: US-AZ
zip_code:
type: string
description: ZIP code (US). Maximum length is 15 characters for the BILLING and OTHER addresses and 20 characters for the SHIPPING address.
example: 85001
zip_four:
type: string
description: ZIP+4 extension. Maximum length is 10 characters.
example: 1234
PaymentPlan:
type: object
properties:
auto_charge:
type: boolean
description: Whether to auto-charge payments
example: true
max_charge_attempts:
type: integer
format: int64
description: Maximum charge attempts
example: 3
days_between_retries:
type: integer
format: int64
description: Days between retry attempts
example: 7
payment_method_id:
type: string
description: Payment method ID to charge
example: 123
initial_payment_amount:
$ref: '#/components/schemas/CurrencyValue'
description: Initial payment amount
initial_payment_percent:
type: number
format: double
description: Initial payment as percentage
example: 25
initial_payment_date:
type: string
format: date
description: The initial payment date. In ISO-8601 date format (e.g. 2024-05-21)
example: '2024-05-21'
plan_start_date:
type: string
format: date
description: The start date of the payment plan. In ISO-8601 date format (e.g. 2024-05-21)
example: '2024-05-21'
number_of_payments:
type: integer
format: int64
description: Number of payments in the plan
example: 12
days_between_payments:
type: integer
format: int64
description: Days between each payment
example: 30
payment_plan_items:
type: array
description: List of scheduled payment items
items:
$ref: '#/components/schemas/PaymentPlanItem'
required:
- days_between_payments
- number_of_payments
- plan_start_date
UpdateCustomFieldTabRequest:
type: object
properties:
name:
type: string
order:
type: integer
format: int32
CreateCustomFieldGroupRequest:
type: object
properties:
name:
type: string
tab_id:
type: string
CustomFieldGroup:
type: object
properties:
id:
type: string
name:
type: string
order:
type: integer
format: int32
tab_id:
type: string
record_type:
type: string
enum:
- CONTACT
- REFERRAL_PARTNER
- OPPORTUNITY
- TASK_NOTE_APPOINTMENT
- COMPANY
- ORDER
- SUBSCRIPTION
BasicContact:
type: object
properties:
id:
type: string
email:
type: string
given_name:
type: string
family_name:
type: string
CustomFieldOption:
type: object
properties:
id:
type: string
label:
type: string
Discount:
type: object
properties:
amount:
type: number
format: double
description: Discount amount
example: 10
special_item_id:
type: string
description: Discount item ID
example: 123
discount_method:
type: string
description: Discount method
enum:
- AMOUNT
- PERCENT
example: PERCENT
AddressInformation:
type: object
properties:
line1:
type: string
line2:
type: string
locality:
type: string
region:
type: string
company:
type: string
phone:
type: string
zip_code:
type: string
zip_four:
type: string
country_code:
type: string
first_name:
type: string
middle_name:
type: string
last_name:
type: string
is_invoice_to_company:
type: boolean
ListCustomFieldTabsResponse:
type: object
properties:
tabs:
type: array
items:
$ref: '#/components/schemas/CustomFieldTab'
ListOrders:
type: object
properties:
orders:
type: array
items:
$ref: '#/components/schemas/OrderV2'
next_page_token:
type: string
RestCreateOrderRequest:
type: object
properties:
notes:
type: string
description: Internal notes
example: Rush delivery requested
terms:
type: string
description: Order terms
example: Net 30
title:
type: string
description: A title for the invoice
example: Monthly subscription invoice
contact_id:
type: string
description: ID of the contact for this order
example: 123
order_items:
type: array
description: List of items to include in the order
items:
$ref: '#/components/schemas/CreateOrderItemRequest'
order_title:
type: string
description: Title for the order
example: Online Purchase
order_time:
type: string
format: date-time
description: The date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
order_type:
type: string
description: The order type.
enum:
- ONLINE
- OFFLINE
example: ONLINE
promo_codes:
type: array
description: Uses multiple strings as promo codes. The corresponding discount will be applied to the order.
example:
- SUMMER20
- FREESHIP
items:
type: string
lead_affiliate_id:
type: string
description: Lead affiliate ID
example: 456
sales_affiliate_id:
type: string
description: Sales affiliate ID
example: 789
shipping_address:
$ref: '#/components/schemas/AddressInformation'
description: Shipping address for the order
custom_fields:
type: array
description: List of custom field values to apply to this order
example:
- id: '1'
content: VIP
- id: '2'
content: Preferred
items:
$ref: '#/components/schemas/CustomFieldValue'
sent_time:
type: string
format: date-time
description: The date and time the invoice was sent. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
due_time:
type: string
format: date-time
description: The date and time the invoice is due. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-06-20T14:30:00Z'
invoice_number:
type: string
description: Invoice number
example: 1001
external_create_user:
type: string
description: The external system user that created this order.
example: user@example.com
external_create_time:
type: string
format: date-time
description: The date and time the order was created in the external system. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
external_update_time:
type: string
format: date-time
description: The date and time the order was last updated in the external system. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
required:
- contact_id
- order_time
- order_title
- order_type
PaymentPlanItem:
type: object
properties:
status:
type: string
description: 'The status of the payment plan item. Possible values are:
- `UNPAID_MANUAL` - The item is set for manual charge, and its `amount_due` has not been completely paid.
- `UNPAID_AUTOCHARGE` - The item is set for auto-charge, and its `amount_due` has not been completely paid.
- `PAID` - The item has been completely paid.
- `FAILED` - The item `amount_due` has not been completely paid, and there was a failure. (*Note: This status is deprecated and not currently used.*)
'
enum:
- UNPAID_MANUAL
- UNPAID_AUTOCHARGE
- PAID
- FAILED
due_date:
type: string
format: date
description: The due date in the application's timezone, as an ISO 8601 calendar date string (date only), in the format YYYY-MM-DD
example: '2024-05-21'
amount_due:
$ref: '#/components/schemas/CurrencyValue'
amount_paid:
$ref: '#/components/schemas/CurrencyValue'
UpdateCustomFieldGroupRequest:
type: object
properties:
name:
type: string
order:
type: integer
format: int32
tab_id:
type: string
ListOrderPaymentsResponse:
type: object
properties:
invoice_order_payments:
type: array
items:
$ref: '#/components/schemas/InvoiceOrderPayment'
next_page_token:
type: string
CustomFieldTab:
type: object
properties:
id:
type: string
description: The unique identifier of the custom field tab
example: 123
name:
type: string
description: The name of the custom field tab
example: Personal Info
order:
type: integer
format: int32
description: The display order of the tab
example: 1
record_type:
type: string
description: The record type this tab belongs to (e.g., CONTACT, COMPANY, OPPORTUNITY, REFERRAL_PARTNER, ORDER, SUBSCRIPTION, TASK_NOTE_APPOINTMENT)
enum:
- CONTACT
- REFERRAL_PARTNER
- OPPORTUNITY
- TASK_NOTE_APPOINTMENT
- COMPANY
- ORDER
- SUBSCRIPTION
example: CONTACT
OrderItem:
type: object
properties:
id:
type: string
description: Unique identifier for the order item
example: 456
name:
type: string
description: Name of the item
example: Premium Widget
description:
type: string
description: Item description
example: High-quality widget with warranty
notes:
type: string
description: Additional notes
example: Gift wrap requested
quantity:
type: integer
format: int32
description: Quantity ordered
example: 2
discount:
$ref: '#/components/schemas/CurrencyValue'
description: If the order item is a discount type, this is the amount of the discount.
special:
$ref: '#/components/schemas/Discount'
description: If the line item is a discount type, the details about the discount.
product:
$ref: '#/components/schemas/OrderItemProduct'
description: Product details
subscription_id:
type: string
description: If the order item is a subscription type, this refers to the subscription id that generated the order.
example: 123
item_type:
type: string
description: The type of order item.
enum:
- PRODUCT
- SHIPPING
- TAX
- SERVICE
- UPSELL
- FINANCE_CHARGE
- DISCOUNT
- PROGRAM
- SUBSCRIPTION
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- TIP
- OTHER
- FEE
- UNKNOWN
example: PRODUCT
cost_per_unit:
$ref: '#/components/schemas/CurrencyValue'
description: Cost per unit
price_per_unit:
$ref: '#/components/schemas/CurrencyValue'
description: Price per unit charged to customer
subscription_plan:
$ref: '#/components/schemas/SubscriptionPlan'
description: If the order item is a subscription type, the details of the subscription plan.
Error:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
status:
type: string
details:
type: array
items:
$ref: '#/components/schemas/ErrorDetails'
CustomFieldMetaData:
type: object
description: Metadata describing a custom field, including its type and options
properties:
id:
type: string
description: The unique identifier of the custom field
example: 123
label:
type: string
description: The display label of the custom field
example: Favorite Color
options:
type: array
description: The list of available options for select/radio/multiselect/drilldown field types
items:
$ref: '#/components/schemas/CustomFieldOption'
record_type:
type: string
description: The entity type this custom field belongs to (e.g. CONTACT, COMPANY)
enum:
- CONTACT
- REFERRAL_PARTNER
- OPPORTUNITY
- TASK_NOTE_APPOINTMENT
- COMPANY
- ORDER
- SUBSCRIPTION
field_type:
type: string
description: The data type of the custom field (e.g. Text, Number, Date, Select)
enum:
- CURRENCY
- DATE
- DATE_TIME
- DAY_OF_WEEK
- DECIMAL_NUMBER
- DRILLDOWN
- DROPDOWN
- EMAIL
- LIST_BOX
- MONTH
- NAME
- PERCENT
- PHONE_NUMBER
- RADIO
- SOCIAL_SECURITY_NUMBER
- STATE
- TEXT
- TEXT_AREA
- USER
- USER_LIST_BOX
- WEBSITE
- WHOLE_NUMBER
- YEAR
- YES_NO
default_value:
type: string
description: The default value for this custom field, if any
group_id:
type: string
description: The ID of the group this custom field belongs to
example: 45
group_name:
type: string
description: The name of the group this custom field belongs to
example: Personal Info
field_name:
type: string
description: The database column name for this custom field. Use this value when filtering contacts (e.g. for field_name 'firstName1', filter with 'firstName1==John').
example: firstName1
SubscriptionPlan:
type: object
properties:
id:
type: string
description: Subscription plan ID
example: 123
frequency:
type: integer
format: int32
description: Interval at which a customer receives a product or service as part of a subscription plan.
example: 1
active:
type: boolean
description: If the subscription plan is active or not.
example: true
subscription_plan_name:
type: string
description: Plan name
example: Premium Monthly
cycle_type:
type: string
description: The cycle type of the subscription plan.
enum:
- YEARLY
- MONTHLY
- WEEKLY
- DAILY
example: MONTHLY
total_cycles:
type: integer
format: int32
description: Total number of cycles the plan will run before ending. Value of 0 indicates plan will never end.
example: 12
plan_price:
$ref: '#/components/schemas/CurrencyValue'
description: Price of the plan
display_order_index:
type: integer
format: int32
description: The order index where this plan will be displayed on a page against other plans. Smaller number indicates plan will be displayed higher in the list.
example: 1
CreateCustomFieldOptionRequest:
type: object
properties:
label:
type: string
PaymentResult:
type: object
properties:
id:
type: string
description: Payment result ID
example: 123
invoice_id:
type: string
description: Associated invoice ID
example: 456
payment_amount:
type: number
format: double
description: Amount paid
example: 99.99
payment_status_message:
type: string
description: Payment status
example: APPROVED
transaction_id:
type: string
description: Transaction ID from payment processor
example: TXN-789
CreateCustomFieldTabRequest:
type: object
properties:
name:
type: string
ObjectModel:
type: object
properties:
custom_fields:
type: array
items:
$ref: '#/components/schemas/CustomFieldMetaData'
optional_properties:
type: array
description: These fields are not transmitted by default on this model, but can be requested by specifying them in a comma-separated list in the optional_properties query parameter.
items:
type: string
uniqueItems: true
UpdateOrderItemRequest:
type: object
description: order
properties:
name:
type: string
description: The name of the order item. Must not be whitespace.
example: Premium Widget
description:
type: string
description: The description of the order item. Must not be whitespace.
example: High-quality widget
quantity:
type: integer
format: int32
description: The quantity. Must be greater than or equal to 1.
example: 2
notes:
type: string
description: The notes for the order item. Must not be whitespace.
example: Gift wrap requested
product_id:
type: string
description: The id of the product. Must be a valid product id. Used only for item_type PRODUCT or SUBSCRIPTION.
example: 123
subscription_plan_id:
type: string
description: The id of the subscription plan. Must be a valid subscription plan id. Used only for item_type SUBSCRIPTION.
example: 456
subscription_plan_description:
type: string
description: A short description of the subscription's schedule. Used only for item_type SUBSCRIPTION. Must not be whitespace.
example: Monthly billing
price_per_unit:
type: number
format: double
description: The price per unit.
example: 29.99
cost_per_unit:
type: number
format: double
description: The cost per unit. Used for item_type PRODUCT or SUBSCRIPTION.
example: 15
UpdateOrderRequest:
type: object
description: order
properties:
notes:
type: string
description: Internal notes
example: Rush delivery
terms:
type: string
description: Order terms
example: Net 30
title:
type: string
description: A title for the invoice
example: Monthly subscription invoice
contact_id:
type: string
description: ID of the contact for this order
example: 123
order_title:
type: string
description: Title for the order
example: Online Purchase
order_time:
type: string
format: date-time
description: The date and time of the order. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
order_type:
type: string
description: The order type.
enum:
- ONLINE
- OFFLINE
example: ONLINE
promo_codes:
type: array
description: Uses multiple strings as promo codes. The corresponding discount will be applied to the order.
example:
- SUMMER20
items:
type: string
lead_affiliate_id:
type: string
description: Lead affiliate ID
example: 456
sales_affiliate_id:
type: string
description: Sales affiliate ID
example: 789
shipping_address:
$ref: '#/components/schemas/AddressInformation'
description: Shipping address for the order
payment_plan:
$ref: '#/components/schemas/UpdatedPaymentPlan'
description: Payment plan details
custom_fields:
type: array
description: List of custom field values to apply to this order
example:
- id: '1'
content: VIP
- id: '2'
content: Preferred
items:
$ref: '#/components/schemas/CustomFieldValue'
sent_time:
type: string
format: date-time
description: The date and time the invoice was sent. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
due_time:
type: string
format: date-time
description: The date and time the invoice is due. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-06-20T14:30:00Z'
invoice_number:
type: string
description: Invoice number
example: 1001
external_create_user:
type: string
description: The external system user that created this order.
example: user@example.com
external_create_time:
type: string
format: date-time
description: The date and time the order was created in the external system. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
external_update_time:
type: string
format: date-time
description: The date and time the order was last updated in the external system. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
ErrorDetails:
type: object
properties:
domain:
type: string
resource:
type: string
ShippingInformation:
type: object
properties:
id:
type: string
description: Shipping information ID
example: 123
address:
$ref: '#/components/schemas/Address'
description: Shipping address
company:
type: string
description: Company name
example: Acme Corp
given_name:
type: string
description: First name
example: John
family_name:
type: string
description: Last name
example: Doe
phone_number:
type: string
description: Phone number
example: +1-555-123-4567
invoice_to_company:
type: boolean
description: Whether to invoice to company
example: false
RestCreatePaymentRequest:
type: object
properties:
notes:
type: string
description: The notes for this payment.
payment_method_id:
type: string
description: The payment method id to charge immediately against this order. Omit if you want to add a payment record instead.
payment_method_type:
type: string
description: The manual payment method type for manually recording a payment. Value must match against the list of types defined under your application's Order Settings. Ignored if payment_method_id is provided.
payment_time:
type: string
format: date-time
description: The date and time of payment. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
payment_amount:
type: number
format: double
description: The amount to pay. Must not exceed the current balance of the order. Must be greater than 0 if charging with a payment_method_id
apply_to_commissions:
type: boolean
description: Whether to apply this payment to commissions.
external_source:
type: string
description: The external source type of this payment.
external_source_value:
type: string
description: The external source value of this payment.
external_status_value:
type: string
description: The external status value of this payment.
external_create_time:
type: string
format: date-time
description: The external creation timestamp of this payment. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
external_update_time:
type: string
format: date-time
description: The external update timestamp of this payment. In ISO-8601 format (e.g. 2024-05-21T23:00:00Z)
example: '2024-05-21T14:30:00Z'
external_create_user:
type: string
description: The user who created this payment externally.
required:
- apply_to_commissions
- payment_amount
InvoiceOrderPayment:
type: object
properties:
id:
type: string
description: The invoice order payment ID.
example: 123
amount:
type: number
description: The payment amount.
example: 10000
note:
type: string
description: A note about the payment.
example: Monthly payment
invoice_id:
type: string
description: The invoice ID.
example: 456
payment_id:
type: string
description: The payment ID.
example: 789
pay_time:
type: string
format: date-time
description: The date and time of payment.
example: '2024-05-21T23:00:00Z'
pay_status:
type: string
description: The payment status.
enum:
- MANUAL_PAID
- REFUNDED
- VOIDED
- PAYPAL_PAID
- APPROVED
- FAILED
- ERROR
- PENDING
example: APPROVED
last_updated_time:
type: string
format: date-time
description: When this payment record was last updated.
example: '2024-05-21T23:00:00Z'
skip_commission:
type: boolean
description: Whether to skip commission for this payment.
example: false
refund_invoice_payment_id:
type: string
description: The refund invoice payment ID, if this is a refund.
example: 101
InvoiceFile:
type: object
properties:
file_id:
type: string
CreateCustomFieldRequest:
type: object
properties:
label:
type: string
options:
type: array
items:
$ref: '#/components/schemas/CreateCustomFieldOptionRequest'
field_type:
type: string
enum:
- CURRENCY
- DATE
- DATE_TIME
- DAY_OF_WEEK
- DECIMAL_NUMBER
- DRILLDOWN
- DROPDOWN
- EMAIL
- LIST_BOX
- MONTH
- NAME
- PERCENT
- PHONE_NUMBER
- RADIO
- SOCIAL_SECURITY_NUMBER
- STATE
- TEXT
- TEXT_AREA
- USER
- USER_LIST_BOX
- WEBSITE
- WHOLE_NUMBER
- YEAR
- YES_NO
group_id:
type: string
description: An optional tab group to place the field under in the interface. If not specified, will default to the 'Custom Fields' tab.
user_group_id:
type: string
description: An optional user group to choose from when selecting values for User or UserListBox fields.
required:
- field_type
- label
CreateOrderItemRequest:
type: object
properties:
name:
type: string
description: The name of the order item. Must not be whitespace. If not specified, the product name will be used.
example: Premium Widget
description:
type: string
description: The description of the order item. Must not be whitespace.
example: High-quality widget
quantity:
type: integer
format: int32
description: The quantity. Must be greater than or equal to 1.
example: 2
notes:
type: string
description: The notes for the order item. Must not be whitespace.
example: Gift wrap
product_id:
type: string
description: The id of the product to be added to the order. Must be a valid product id. Required for item_type PRODUCT or SUBSCRIPTION.
example: 123
subscription_plan_id:
type: string
description: The id of the subscription plan to be added to the order. Must be a valid subscription plan id. Required only when the item_type is SUBSCRIPTION.
example: 456
subscription_plan_description:
type: string
description: A short description of the subscription's schedule. Used only for item_type SUBSCRIPTION. Must not be whitespace.
example: Monthly subscription plan
item_type:
type: string
default: PRODUCT
description: The type of this order item. Will default to [PRODUCT] if omitted.
enum:
- PRODUCT
- SHIPPING
- TAX
- FINANCE_CHARGE
- SUBSCRIPTION
- DISCOUNT
- DISCOUNT_FREE_TRIAL
- DISCOUNT_ORDER_TOTAL
- DISCOUNT_PRODUCT
- DISCOUNT_PRODUCT_CATEGORY
- DISCOUNT_SHIPPING
- OTHER
- FEE
example: PRODUCT
price_per_unit:
type: number
format: double
description: The price per unit. For item_type PRODUCT or SUBSCRIPTION, if not specified, the product price will be used.
example: 29.99
cost_per_unit:
type: number
format: double
description: The cost per unit. Used only for item_type PRODUCT or SUBSCRIPTION. If not specified, the product cost will be used.
example: 15
required:
- quantity
UpdateCustomFieldMetaDataRequest:
type: object
properties:
label:
type: string
options:
type: array
items:
$ref: '#/components/schemas/CustomFieldOption'
group_id:
type: string
required:
- group_id
FileOperationRequest:
type: object
description: File name
properties:
file_id:
type: string
required:
- file_id
CurrencyValue:
type: object
properties:
amount:
type: integer
format: int64
description: The price amount in the smallest currency unit
example: 10000
currency_code:
type: string
description: Three-letter ISO currency code
example: USD
formatted_amount:
type: string
description: The product amount formatted using the tenant's currency locale
example: $100.00
ApplyCommissionRequest:
type: object
description: RestApplyCommissionRequest
properties:
affiliate_id:
type: string
description: The affiliate id
example: 123
pay_percent:
type: number
format: double
description: Commission percentage
example: 10
commission_amount:
type: number
format: double
description: Fixed commission amount
example: 50
payout_type:
type: string
description: The payout type
enum:
- UPFRONT
- PAYMENT_RECEIVED
example: UPFRONT
description:
type: string
description: Commission description
example: Q1 Sales Commission
commission_date:
type: string
format: date
description: Date of the commission
example: '2024-05-21'
required:
- affiliate_id
- payout_type
ListCustomFieldGroupsResponse:
type: object
properties:
groups:
type: array
items:
$ref: '#/components/schemas/CustomFieldGroup'
UpdatedPaymentPlan:
type: object
properties:
auto_charge:
type: boolean
description: Whether to auto-charge payments
example: true
max_charge_attempts:
type: integer
format: int64
description: Maximum charge attempts
example: 3
days_between_retries:
type: integer
format: int64
description: Days between retry attempts
example: 7
payment_method_id:
type: string
description: Payment method ID
example: 123
initial_payment_amount:
type: number
format: double
description: Initial payment amount
example: 50
initial_payment_date:
type: string
format: date
description: ISO date of the initial payment in pay plan
example: '2024-05-21'
plan_start_date:
type: string
format: date
description: ISO date of the start of pay plan
example: '2024-05-21'
number_of_payments:
type: integer
format: int64
description: Number of payments in the plan
example: 12
days_between_payments:
type: integer
format: int64
description: Days between each payment
example: 30
CustomFieldValue:
type: object
properties:
id:
type: string
content:
description: The value of the custom field. Text custom field values have a maximum length of 65535 characters.
CreateCustomFieldOptionRequest_2:
title: CreateCustomFieldOptionRequest
type: object
properties:
label:
type: string
options:
type: array
items:
$ref: '#/components/schemas/CreateCustomFieldOptionRequest_2'
CustomFieldOption_2:
title: CustomFieldOption
type: object
properties:
id:
type: string
label:
type: string
options:
type: array
items:
$ref: '#/components/schemas/CustomFieldOption_2'
Throwable:
title: Throwable
type: object
properties:
cause:
$ref: '#/components/schemas/Throwable'
localizedMessage:
type: string
message:
type: string
stackTrace:
type: array
items:
title: StackTraceElement
type: object
properties:
classLoaderName:
type: string
className:
type: string
fileName:
type: string
lineNumber:
type: integer
format: int32
methodName:
type: string
moduleName:
type: string
moduleVersion:
type: string
nativeMethod:
type: boolean
suppressed:
type: array
items:
$ref: '#/components/schemas/Throwable'
securitySchemes:
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://accounts.infusionsoft.com/app/oauth/authorize
tokenUrl: https://api.infusionsoft.com/token
scopes: {}
x-refined-from:
- infusionsoft-keap-sdk-v2-swagger-original.yml
- infusionsoft-rest-v2-2025-11-05-openapi-original.json
- infusionsoft-rest-v2-openapi-original.json
- infusionsoft-rest-v2-openapi.json