openapi: 3.1.0 info: title: Keap E-Commerce API description: Keap Public API Documentation termsOfService: https://www.thryv.com/terms-of-use contact: name: Keap url: https://developer.keap.com/get-support email: api.keap@thryv.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: v1 servers: - url: https://api.infusionsoft.com/crm tags: - name: E-Commerce paths: /rest/v1/orders/{orderId}/paymentPlan: put: tags: - E-Commerce summary: Replace an Order Pay Plan description: Replaces the order's payment plan with the given values. operationId: replacePaymentPlan parameters: - name: orderId in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/RestPaymentPlan' required: true responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RestPaymentPlan' /rest/v1/subscriptions: get: tags: - E-Commerce summary: List Subscriptions description: Retrieves a list of all subcriptions using the specified search criteria. operationId: listSubscriptions parameters: - name: subscriptionListCommand in: query required: true schema: $ref: '#/components/schemas/SubscriptionListCommand' responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SubscriptionList' post: tags: - E-Commerce summary: Create Subscription description: Creates a subscription with the specified product and product subscription id. operationId: createSubscription requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateSubscription' required: true responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Subscription' /rest/v1/orders/{orderId}/payments: get: tags: - E-Commerce 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: orderId in: path required: true schema: type: integer format: int64 responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/InvoicePayment' post: tags: - E-Commerce summary: Create a Payment description: Creates a payment record that can charge a credit card. Alternatively, adds a record of historical or external payment of cash or credit card. operationId: createPaymentOnOrder parameters: - name: orderId in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/CreatePayment' required: true responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '201': description: Created content: application/json: schema: $ref: '#/components/schemas/PaymentResult' /rest/v1/orders/{orderId}/items: post: tags: - E-Commerce summary: Create an Order Item description: Creates an order item on an existing order. operationId: createOrderItemsOnOrder parameters: - name: orderId in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOrderItem' required: true responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '201': description: Created content: application/json: schema: $ref: '#/components/schemas/OrderItem' /rest/v1/orders: get: tags: - E-Commerce summary: List Orders description: 'Retrieves a list of all orders using the specified search criteria. Each order may or may not have items. Potential values for order status:`DRAFT`, `SENT`, `VIEWED`, `PAID`' operationId: listOrders parameters: - name: orderSearchCommand in: query required: true schema: $ref: '#/components/schemas/OrderSearchCommand' responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/OrderList' post: tags: - E-Commerce summary: Create an Order description: Create a one time order with order items. operationId: createOrder requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOrder' required: true responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Order' /rest/v1/transactions/{transactionId}: get: tags: - E-Commerce summary: Retrieve a Transaction description: Retrieves a single transaction operationId: getTransaction parameters: - name: transactionId in: path required: true schema: type: integer format: int64 responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EcommerceReportingTransaction' deprecated: true /rest/v1/transactions: get: tags: - E-Commerce summary: List Transactions description: Retrieves a list transactions for a given contact operationId: listTransactions parameters: - name: transactionSearchCommand in: query required: true schema: $ref: '#/components/schemas/TransactionSearchCommand' responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TransactionList' deprecated: true /rest/v1/subscriptions/model: get: tags: - E-Commerce summary: Retrieve Subscription Model description: Get the custom fields for the Subscription object operationId: retrieveSubscriptionModel responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ObjectModel' /rest/v1/orders/{orderId}/transactions: get: tags: - E-Commerce summary: Retrieve Order Transactions description: Retrieves a list of all transactions on a given order using the specified search criteria operationId: listTransactionsForOrder parameters: - name: orderId in: path required: true schema: type: integer format: int64 - name: transactionSearchCommand in: query required: true schema: $ref: '#/components/schemas/TransactionSearchCommand' responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TransactionList' /rest/v1/orders/{orderId}: get: tags: - E-Commerce summary: Retrieve an Order description: 'Retrieves a single order. The order may or may not have items. Potential values for order status:`DRAFT`, `SENT`, `VIEWED`, `PAID`' operationId: getOrder parameters: - name: orderId in: path required: true schema: type: integer format: int64 responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EcommerceReportingOrder' delete: tags: - E-Commerce summary: Delete an Order description: Delete an order that does not have a payment operationId: deleteOrder parameters: - name: orderId in: path required: true schema: type: integer format: int64 responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '204': description: No Content /rest/v1/orders/model: get: tags: - E-Commerce summary: Retrieve Custom Order Model description: Get the custom fields for the Order object operationId: retrieveOrderModel responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ObjectModel' /rest/v1/orders/{orderId}/items/{orderItemId}: delete: tags: - E-Commerce summary: Delete an Order Item description: Delete an order Item on specified Order operationId: deleteOrderOrderItem parameters: - name: orderId in: path required: true schema: type: integer format: int64 - name: orderItemId in: path required: true schema: type: integer format: int64 responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '204': description: No Content components: schemas: CreateOrder: type: object properties: contact_id: type: integer format: int64 order_items: type: array items: $ref: '#/components/schemas/CreateOrderItem' order_title: type: string order_date: type: string format: date-time order_type: type: string 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 lead_affiliate_id: type: integer format: int64 sales_affiliate_id: type: integer format: int64 shipping_address: $ref: '#/components/schemas/RestV1AddressInformation' required: - contact_id - order_date - order_items - order_title - order_type CreateOrderItem: type: object properties: description: type: string price: type: string description: Overridable price of the product, if not specified, the default will be used. Must be greater than or equal to 0. quantity: type: integer format: int32 description: Quantity must be greater than or equal to 1 product_id: type: integer format: int64 description: The id of the product to be added to the order. item_type: type: string enum: - UNKNOWN - SHIPPING - TAX - SERVICE - PRODUCT - UPSELL - FINANCE_CHARGE - SPECIAL - PROGRAM - SUBSCRIPTION - SPECIAL_FREE_TRIAL_DAYS - SPECIAL_ORDER_TOTAL - SPECIAL_PRODUCT - SPECIAL_CATEGORY - SPECIAL_SHIPPING - TIP - OTHER - FEE required: - product_id - quantity CreatePayment: type: object properties: date: type: string format: date-time description: Used when charge_now:false or inserting historical data. ex `2017-01-01T22:17:59.039Z` notes: type: string apply_to_commissions: type: boolean charge_now: type: boolean credit_card_id: type: integer format: int64 payment_amount: type: string payment_method_type: type: string enum: - CREDIT_CARD - CASH - CHECK - TOKEN payment_gateway_id: type: string CreateSubscription: type: object properties: quantity: type: integer format: int32 description: Must be greater than 0. Default is 1. contact_id: type: integer format: int64 subscription_plan_id: type: integer format: int64 description: Id of the product subscription. allow_duplicate: type: boolean description: If true, it will disable the check to see if there is already an identical subscription for the contact. Default is false. billing_amount: type: number format: double description: Must be 0 or greater. Default is the price in the product subscription. first_bill_date: type: string format: date description: The first day the subscription will bill, in EST. Must not be in the past. Default is today. auto_charge: type: boolean description: Defaults to true. credit_card_id: type: integer format: int64 description: Default is the contact's most recently used card, if auto charge is true. Default is 0 otherwise. payment_gateway_id: type: integer format: int64 description: Default is the app's default merchant. allow_tax: type: boolean description: Only works if the product the product subscription is for is taxable. Default is false. sale_affiliate_id: type: integer format: int64 required: - contact_id - subscription_plan_id CustomFieldMetaData: type: object properties: id: type: integer format: int64 label: type: string options: type: array items: $ref: '#/components/schemas/CustomFieldOption' record_type: type: string enum: - CONTACT - REFERRAL_PARTNER - OPPORTUNITY - TASK_NOTE_APPOINTMENT - COMPANY - ORDER - SUBSCRIPTION field_type: type: string enum: - Currency - Date - DateTime - DayOfWeek - Drilldown - Email - Month - ListBox - Name - WholeNumber - DecimalNumber - Percent - PhoneNumber - Radio - Dropdown - SocialSecurityNumber - State - Text - TextArea - User - UserListBox - Website - Year - YesNo field_name: type: string default_value: type: string CustomFieldOption: type: object properties: id: type: string label: type: string DefaultHttpStatusCode: allOf: - $ref: '#/components/schemas/HttpStatusCode' EcommerceReportingOrder: type: object properties: id: type: integer format: int64 title: type: string status: type: string recurring: type: boolean total: type: number format: double contact: $ref: '#/components/schemas/EcommerceReportingOrderContactDetails' notes: type: string terms: type: string order_type: type: string source_type: type: string enum: - INVOICE - API - CHECKOUT_FORM - MANUAL_PAYMENT - UNKNOWN - QBO_SYNC creation_date: type: string modification_date: type: string order_date: type: string lead_affiliate_id: type: integer format: int64 sales_affiliate_id: type: integer format: int64 total_paid: type: number format: double total_due: type: number format: double shipping_information: $ref: '#/components/schemas/EcommerceReportingShippingInformation' refund_total: type: number format: double allow_payment: type: boolean allow_paypal: type: boolean order_items: type: array items: $ref: '#/components/schemas/EcommerceReportingOrderItem' payment_plan: $ref: '#/components/schemas/EcommerceReportingPaymentPlan' invoice_number: type: integer format: int64 contact_id: type: string product_id: type: string EcommerceReportingOrderContactDetails: type: object properties: id: type: integer format: int64 email: type: string first_name: type: string last_name: type: string company_name: type: string job_title: type: string EcommerceReportingOrderItem: type: object properties: id: type: integer format: int64 jobRecurringId: type: integer format: int64 name: type: string description: type: string type: type: string notes: type: string quantity: type: integer format: int32 cost: type: number format: double price: type: number format: double discount: type: number format: double specialId: type: integer format: int64 specialAmount: type: number format: double specialPctOrAmt: type: integer format: int32 product: $ref: '#/components/schemas/EcommerceReportingSimpleProduct' subscriptionPlan: $ref: '#/components/schemas/SubscriptionPlan' EcommerceReportingPaymentGateway: type: object properties: merchant_account_id: type: integer format: int64 use_default: type: boolean merchant_account_name: type: string EcommerceReportingPaymentPlan: type: object properties: auto_charge: type: boolean credit_card_id: type: integer format: int64 days_between_payments: type: integer format: int64 initial_payment_amount: type: number format: double initial_payment_percent: type: number format: double initial_payment_date: type: string number_of_payments: type: integer format: int64 payment_gateway: $ref: '#/components/schemas/EcommerceReportingPaymentGateway' plan_start_date: type: string payment_method_id: type: string max_charge_attempts: type: integer format: int64 days_between_retries: type: integer format: int64 EcommerceReportingShippingInformation: type: object properties: id: type: integer format: int64 first_name: type: string middle_name: type: string last_name: type: string company: type: string phone: type: string street1: type: string street2: type: string city: type: string state: type: string zip: type: string country: type: string invoiceToCompany: type: boolean EcommerceReportingSimpleProduct: type: object properties: id: type: integer format: int64 name: type: string sku: type: string description: type: string shippable: type: boolean taxable: type: boolean EcommerceReportingTransaction: type: object properties: id: type: integer format: int64 test: type: boolean amount: type: number format: double currency: type: string gateway: type: string paymentDate: type: string type: type: string status: type: string errors: type: string orders: type: array items: $ref: '#/components/schemas/EcommerceReportingOrder' contact_id: type: integer format: int64 transaction_date: type: string gateway_account_name: type: string order_ids: type: string collection_method: type: string HttpStatus: allOf: - $ref: '#/components/schemas/HttpStatusCode' enum: - 100 CONTINUE - 101 SWITCHING_PROTOCOLS - 102 PROCESSING - 103 EARLY_HINTS - 200 OK - 201 CREATED - 202 ACCEPTED - 203 NON_AUTHORITATIVE_INFORMATION - 204 NO_CONTENT - 205 RESET_CONTENT - 206 PARTIAL_CONTENT - 207 MULTI_STATUS - 208 ALREADY_REPORTED - 226 IM_USED - 300 MULTIPLE_CHOICES - 301 MOVED_PERMANENTLY - 302 FOUND - 303 SEE_OTHER - 304 NOT_MODIFIED - 307 TEMPORARY_REDIRECT - 308 PERMANENT_REDIRECT - 400 BAD_REQUEST - 401 UNAUTHORIZED - 402 PAYMENT_REQUIRED - 403 FORBIDDEN - 404 NOT_FOUND - 405 METHOD_NOT_ALLOWED - 406 NOT_ACCEPTABLE - 407 PROXY_AUTHENTICATION_REQUIRED - 408 REQUEST_TIMEOUT - 409 CONFLICT - 410 GONE - 411 LENGTH_REQUIRED - 412 PRECONDITION_FAILED - 413 CONTENT_TOO_LARGE - 413 PAYLOAD_TOO_LARGE - 414 URI_TOO_LONG - 415 UNSUPPORTED_MEDIA_TYPE - 416 REQUESTED_RANGE_NOT_SATISFIABLE - 417 EXPECTATION_FAILED - 418 I_AM_A_TEAPOT - 421 MISDIRECTED_REQUEST - 422 UNPROCESSABLE_CONTENT - 422 UNPROCESSABLE_ENTITY - 423 LOCKED - 424 FAILED_DEPENDENCY - 425 TOO_EARLY - 426 UPGRADE_REQUIRED - 428 PRECONDITION_REQUIRED - 429 TOO_MANY_REQUESTS - 431 REQUEST_HEADER_FIELDS_TOO_LARGE - 451 UNAVAILABLE_FOR_LEGAL_REASONS - 500 INTERNAL_SERVER_ERROR - 501 NOT_IMPLEMENTED - 502 BAD_GATEWAY - 503 SERVICE_UNAVAILABLE - 504 GATEWAY_TIMEOUT - 505 HTTP_VERSION_NOT_SUPPORTED - 506 VARIANT_ALSO_NEGOTIATES - 507 INSUFFICIENT_STORAGE - 508 LOOP_DETECTED - 509 BANDWIDTH_LIMIT_EXCEEDED - 510 NOT_EXTENDED - 511 NETWORK_AUTHENTICATION_REQUIRED HttpStatusCode: type: object properties: error: type: boolean is1xxInformational: type: boolean is2xxSuccessful: type: boolean is3xxRedirection: type: boolean is4xxClientError: type: boolean is5xxServerError: type: boolean InvoicePayment: type: object properties: id: type: integer format: int64 amount: type: number note: type: string disputed: type: boolean invoice_id: type: integer format: int64 payment_id: type: integer format: int64 pay_date: type: string format: date-time pay_status: type: string last_updated: type: string format: date-time skip_commission: type: boolean refund_invoice_payment_id: type: integer format: int64 ModelAndView: type: object properties: view: $ref: '#/components/schemas/View' model: type: object additionalProperties: {} status: oneOf: - $ref: '#/components/schemas/DefaultHttpStatusCode' - $ref: '#/components/schemas/HttpStatus' modelMap: type: object additionalProperties: {} properties: empty: type: boolean reference: type: boolean empty: type: boolean viewName: type: string ObjectModel: type: object properties: custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldMetaData' optional_properties: type: array items: type: string uniqueItems: true Order: type: object properties: id: type: integer format: int64 title: type: string status: type: string total: type: number format: double contact: $ref: '#/components/schemas/EcommerceReportingOrderContactDetails' notes: type: string creation_date: type: string modification_date: type: string order_date: type: string lead_affiliate_id: type: integer format: int64 sales_affiliate_id: type: integer format: int64 total_due: type: number format: double total_paid: type: number format: double shipping_information: $ref: '#/components/schemas/RestV1AddressInformation' refund_total: type: number format: double order_items: type: array items: $ref: '#/components/schemas/OrderItem' payment_plan: $ref: '#/components/schemas/RestPaymentPlan' OrderItem: type: object properties: id: type: integer format: int64 name: type: string description: type: string type: type: string notes: type: string quantity: type: integer format: int32 cost: type: number format: double price: type: number format: double discount: type: number format: double product: $ref: '#/components/schemas/Product_' specialId: type: integer format: int64 specialAmount: type: number format: double specialPctOrAmt: type: integer format: int32 orderItemTaxes: type: array items: $ref: '#/components/schemas/OrderItemTax' recurringBilling: type: boolean frequency: type: integer format: int32 billingCycle: type: integer format: int32 numberOfPayments: type: integer format: int32 jobRecurringId: type: integer format: int64 recurringStartDate: type: string recurringNextBillDate: type: string recurringEndDate: type: string recurringCyclesCompleted: type: integer format: int32 recurringInactive: type: boolean OrderItemTax: type: object properties: id: type: integer format: int64 orderItemId: type: integer format: int64 name: type: string rate: type: number format: double taxTemplateId: type: integer format: int64 amount: type: number format: double OrderList: type: object properties: orders: type: array items: $ref: '#/components/schemas/EcommerceReportingOrder' count: type: integer format: int32 next: type: string previous: type: string OrderSearchCommand: type: object properties: since: type: string until: type: string limit: type: integer format: int32 offset: type: integer format: int32 paid: type: boolean order: type: string contact_id: type: integer format: int64 product_id: type: integer format: int64 sinceAsDate: type: string format: date-time untilAsDate: type: string format: date-time PaymentGatewayV1: type: object properties: merchant_account_id: type: integer format: int64 use_default: type: boolean PaymentResult: type: object properties: id: type: integer format: int64 invoice_id: type: integer format: int64 payment_amount: type: number format: double payment_status: type: string transaction_id: type: integer format: int64 ProductOption: type: object properties: id: type: integer format: int64 name: type: string label: type: string required: type: boolean type: type: string enum: - FixedList - Variable values: type: array items: $ref: '#/components/schemas/ProductOptionValue' min_chars: type: integer format: int32 max_chars: type: integer format: int32 allow_spaces: type: boolean can_end_with_character: type: boolean can_end_with_number: type: boolean can_contain_character: type: boolean can_contain_number: type: boolean can_start_with_character: type: boolean can_start_with_number: type: boolean text_message: type: string display_index: type: integer format: int32 ProductOptionValue: type: object properties: id: type: integer format: int64 label: type: string sku: type: string index: type: integer format: int64 is_default: type: boolean price_adjustment: type: number format: double Product_: type: object properties: id: type: integer format: int64 sku: type: string url: type: string status: type: integer format: int32 product_name: type: string product_desc: type: string product_price: type: number format: double product_short_desc: type: string subscription_only: type: boolean product_options: type: array items: $ref: '#/components/schemas/ProductOption' subscription_plans: type: array items: $ref: '#/components/schemas/SubscriptionPlan_' RestPaymentPlan: type: object properties: auto_charge: type: boolean credit_card_id: type: integer format: int64 payment_gateway: $ref: '#/components/schemas/PaymentGatewayV1' initial_payment_amount: type: number format: double initial_payment_date: type: string format: date plan_start_date: type: string format: date number_of_payments: type: integer format: int32 days_between_payments: type: integer format: int32 required: - days_between_payments - number_of_payments - plan_start_date RestV1AddressInformation: 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 Subscription: type: object properties: id: type: integer format: int64 quantity: type: integer format: int64 active: type: boolean contact_id: type: integer format: int64 product_id: type: integer format: int64 subscription_plan_id: type: integer format: int64 billing_amount: type: number format: double auto_charge: type: boolean billing_frequency: type: integer format: int32 billing_cycle: type: string enum: - YEAR - MONTH - WEEK - DAY start_date: type: string format: date next_bill_date: type: string format: date end_date: type: string format: date payment_gateway_id: type: integer format: int64 credit_card_id: type: integer format: int64 use_default_payment_gateway: type: boolean allow_tax: type: boolean sale_affiliate_id: type: integer format: int64 SubscriptionList: type: object properties: subscriptions: type: array items: $ref: '#/components/schemas/Subscription' count: type: integer format: int32 next: type: string previous: type: string SubscriptionListCommand: type: object properties: limit: type: integer format: int32 offset: type: integer format: int32 contact_id: type: integer format: int64 SubscriptionPlan: type: object properties: id: type: integer format: int64 cycle: type: integer format: int32 frequency: type: integer format: int32 active: type: boolean prorate: type: boolean subscription_plan_name: type: string number_of_cycles: type: integer format: int32 plan_price: type: number format: double subscription_plan_index: type: integer format: int32 SubscriptionPlan_: type: object properties: id: type: integer format: int64 cycle: type: integer format: int32 frequency: type: integer format: int32 url: type: string active: type: boolean subscription_plan_name: type: string number_of_cycles: type: integer format: int32 plan_price: type: number format: double subscription_plan_index: type: integer format: int32 TransactionList: type: object properties: transactions: type: array items: $ref: '#/components/schemas/EcommerceReportingTransaction' count: type: integer format: int32 next: type: string previous: type: string TransactionSearchCommand: type: object properties: since: type: string until: type: string limit: type: integer format: int32 offset: type: integer format: int32 contact_id: type: integer format: int64 sinceAsDate: type: string format: date-time untilAsDate: type: string format: date-time View: type: object properties: contentType: type: string securitySchemes: oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://accounts.infusionsoft.com/app/oauth/authorize tokenUrl: https://api.infusionsoft.com/token scopes: {} security: - oauth2: []