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