openapi: 3.2.0 info: title: Infusionsoft E Commerce API license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: '1.0' description: 'Operations tagged E-Commerce across 3 of this provider''s published API definitions: infusionsoft-rest-v1-2025-11-05-openapi-original.json, infusionsoft-rest-v1-openapi-original.json, infusionsoft-rest-v1-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: https://api.infusionsoft.com/crm/rest - url: https://api.infusionsoft.com/crm tags: - name: E-Commerce description: E-Commerce-Endpoint paths: /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: listOrdersUsingGET parameters: - name: contact_id in: query description: Returns orders for the provided contact id schema: type: integer format: int64 example: 0 - name: limit in: query description: Sets a total of items to return schema: type: integer format: int32 example: 0 - name: offset in: query description: Sets a beginning range of items to return schema: type: integer format: int32 example: 0 - name: order in: query description: Attribute to order items by. Dates are ordered by most recent at the top. Default is creation_date. schema: type: string enum: - order_date - update_date - name: paid in: query description: Sets paid status of items to return schema: type: boolean - name: product_id in: query description: Returns orders containing the provided product id schema: type: integer format: int64 example: 0 - name: since in: query description: Date to start searching from ex. `2017-01-01T22:17:59.039Z` schema: type: string - name: until in: query description: Date to search to ex. `2017-01-01T22:17:59.039Z` schema: type: string responses: '200': description: OK content: application/json: schema: title: OrderList type: object properties: count: type: integer format: int32 next: type: string orders: type: array items: title: EcommerceReportingOrder type: object properties: allow_payment: type: boolean allow_paypal: type: boolean contact: title: EcommerceReportingOrderContactDetails type: object properties: company_name: type: string email: type: string first_name: type: string id: type: integer format: int64 job_title: type: string last_name: type: string contact_id: type: string creation_date: type: string id: type: integer format: int64 invoice_number: type: integer format: int64 lead_affiliate_id: type: integer format: int64 modification_date: type: string notes: type: string order_date: type: string order_items: type: array items: title: EcommerceReportingOrderItem type: object properties: cost: type: number format: double description: type: string discount: type: number format: double id: type: integer format: int64 jobRecurringId: type: integer format: int64 name: type: string notes: type: string price: type: number format: double product: title: EcommerceReportingSimpleProduct type: object properties: description: type: string id: type: integer format: int64 name: type: string shippable: type: boolean sku: type: string taxable: type: boolean quantity: type: integer format: int32 specialAmount: type: number format: double specialId: type: integer format: int64 specialPctOrAmt: type: integer format: int32 subscriptionPlan: title: SubscriptionPlan type: object properties: active: type: boolean cycle: type: integer format: int32 frequency: type: integer format: int32 id: type: integer format: int64 number_of_cycles: type: integer format: int32 plan_price: type: number format: double prorate: type: boolean subscription_plan_index: type: integer format: int32 subscription_plan_name: type: string type: type: string order_type: type: string payment_plan: title: EcommerceReportingPaymentPlan type: object properties: auto_charge: type: boolean credit_card_id: type: integer format: int64 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 initial_payment_percent: type: number format: double max_charge_attempts: type: integer format: int64 number_of_payments: type: integer format: int64 payment_gateway: title: EcommerceReportingPaymentGateway type: object properties: merchant_account_id: type: integer format: int64 merchant_account_name: type: string use_default: type: boolean payment_method_id: type: string plan_start_date: type: string product_id: type: string recurring: type: boolean refund_total: type: number format: double sales_affiliate_id: type: integer format: int64 shipping_information: title: EcommerceReportingShippingInformation type: object properties: city: type: string company: type: string country: type: string first_name: type: string id: type: integer format: int64 invoiceToCompany: type: boolean last_name: type: string middle_name: type: string phone: type: string state: type: string street1: type: string street2: type: string zip: type: string source_type: type: string enum: - INVOICE - API - CHECKOUT_FORM - MANUAL_PAYMENT - UNKNOWN - QBO_SYNC status: type: string terms: type: string title: type: string total: type: number format: double total_due: type: number format: double total_paid: type: number format: double previous: 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: - E-Commerce summary: Create an Order description: Create a one time order with order items. operationId: createOrderUsingPOST requestBody: description: createOrder content: application/json: schema: title: CreateOrder required: - contact_id - order_date - order_items - order_title - order_type type: object properties: contact_id: type: integer format: int64 lead_affiliate_id: type: integer format: int64 order_date: type: string format: date-time order_items: type: array items: title: CreateOrderItem required: - product_id - quantity type: object properties: description: type: string 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 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. product_id: type: integer description: The id of the product to be added to the order. format: int64 quantity: type: integer description: Quantity must be greater than or equal to 1 format: int32 order_title: type: string 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 sales_affiliate_id: type: integer format: int64 shipping_address: title: RestV1AddressInformation 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 required: true responses: '201': description: Created content: application/json: schema: title: Order type: object properties: contact: title: EcommerceReportingOrderContactDetails type: object properties: company_name: type: string email: type: string first_name: type: string id: type: integer format: int64 job_title: type: string last_name: type: string creation_date: type: string id: type: integer format: int64 lead_affiliate_id: type: integer format: int64 modification_date: type: string notes: type: string order_date: type: string order_items: type: array items: title: OrderItem type: object properties: billingCycle: type: integer format: int32 cost: type: number format: double description: type: string discount: type: number format: double frequency: type: integer format: int32 id: type: integer format: int64 jobRecurringId: type: integer format: int64 name: type: string notes: type: string numberOfPayments: type: integer format: int32 orderItemTaxes: type: array items: title: OrderItemTax type: object properties: amount: type: number format: double id: type: integer format: int64 name: type: string orderItemId: type: integer format: int64 rate: type: number format: double taxTemplateId: type: integer format: int64 price: type: number format: double product: title: Product_ type: object properties: id: type: integer format: int64 product_desc: type: string product_name: type: string product_options: type: array items: title: ProductOption type: object properties: allow_spaces: type: boolean can_contain_character: type: boolean can_contain_number: type: boolean can_end_with_character: type: boolean can_end_with_number: type: boolean can_start_with_character: type: boolean can_start_with_number: type: boolean display_index: type: integer format: int32 id: type: integer format: int64 label: type: string max_chars: type: integer format: int32 min_chars: type: integer format: int32 name: type: string required: type: boolean text_message: type: string type: type: string enum: - FixedList - Variable values: type: array items: title: ProductOptionValue type: object properties: id: type: integer format: int64 index: type: integer format: int64 is_default: type: boolean label: type: string price_adjustment: type: number format: double sku: type: string product_price: type: number format: double product_short_desc: type: string sku: type: string status: type: integer format: int32 subscription_only: type: boolean subscription_plans: type: array items: title: SubscriptionPlan_ type: object properties: active: type: boolean cycle: type: integer format: int32 frequency: type: integer format: int32 id: type: integer format: int64 number_of_cycles: type: integer format: int32 plan_price: type: number format: double subscription_plan_index: type: integer format: int32 subscription_plan_name: type: string url: type: string url: type: string quantity: type: integer format: int32 recurringBilling: type: boolean recurringCyclesCompleted: type: integer format: int32 recurringEndDate: type: string recurringInactive: type: boolean recurringNextBillDate: type: string recurringStartDate: type: string specialAmount: type: number format: double specialId: type: integer format: int64 specialPctOrAmt: type: integer format: int32 type: type: string payment_plan: title: RestPaymentPlan required: - days_between_payments - number_of_payments - plan_start_date type: object properties: auto_charge: type: boolean credit_card_id: type: integer format: int64 days_between_payments: type: integer format: int32 initial_payment_amount: type: number format: double initial_payment_date: type: string format: date number_of_payments: type: integer format: int32 payment_gateway: title: PaymentGatewayV1 type: object properties: merchant_account_id: type: integer format: int64 use_default: type: boolean plan_start_date: type: string format: date refund_total: type: number format: double sales_affiliate_id: type: integer format: int64 shipping_information: title: RestV1AddressInformation 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 status: type: string title: type: string total: type: number format: double total_due: type: number format: double total_paid: type: number format: double '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: createOrder servers: - url: https://api.infusionsoft.com/crm/rest /v1/orders/model: get: tags: - E-Commerce summary: Retrieve Custom Order Model description: Get the custom fields for the Order object operationId: retrieveOrderModelUsingGET 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 - DateTime - DayOfWeek - Drilldown - Email - Month - ListBox - Name - WholeNumber - DecimalNumber - Percent - PhoneNumber - Radio - Dropdown - SocialSecurityNumber - State - Text - TextArea - User - UserListBox - Website - Year - YesNo id: type: integer format: int64 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' record_type: type: string enum: - CONTACT - REFERRAL_PARTNER - OPPORTUNITY - TASK_NOTE_APPOINTMENT - COMPANY - ORDER - SUBSCRIPTION optional_properties: type: array 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 /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: getOrderUsingGET parameters: - name: orderId in: path description: orderId required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: title: EcommerceReportingOrder type: object properties: allow_payment: type: boolean allow_paypal: type: boolean contact: title: EcommerceReportingOrderContactDetails type: object properties: company_name: type: string email: type: string first_name: type: string id: type: integer format: int64 job_title: type: string last_name: type: string contact_id: type: string creation_date: type: string id: type: integer format: int64 invoice_number: type: integer format: int64 lead_affiliate_id: type: integer format: int64 modification_date: type: string notes: type: string order_date: type: string order_items: type: array items: title: EcommerceReportingOrderItem type: object properties: cost: type: number format: double description: type: string discount: type: number format: double id: type: integer format: int64 jobRecurringId: type: integer format: int64 name: type: string notes: type: string price: type: number format: double product: title: EcommerceReportingSimpleProduct type: object properties: description: type: string id: type: integer format: int64 name: type: string shippable: type: boolean sku: type: string taxable: type: boolean quantity: type: integer format: int32 specialAmount: type: number format: double specialId: type: integer format: int64 specialPctOrAmt: type: integer format: int32 subscriptionPlan: title: SubscriptionPlan type: object properties: active: type: boolean cycle: type: integer format: int32 frequency: type: integer format: int32 id: type: integer format: int64 number_of_cycles: type: integer format: int32 plan_price: type: number format: double prorate: type: boolean subscription_plan_index: type: integer format: int32 subscription_plan_name: type: string type: type: string order_type: type: string payment_plan: title: EcommerceReportingPaymentPlan type: object properties: auto_charge: type: boolean credit_card_id: type: integer format: int64 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 initial_payment_percent: type: number format: double max_charge_attempts: type: integer format: int64 number_of_payments: type: integer format: int64 payment_gateway: title: EcommerceReportingPaymentGateway type: object properties: merchant_account_id: type: integer format: int64 merchant_account_name: type: string use_default: type: boolean payment_method_id: type: string plan_start_date: type: string product_id: type: string recurring: type: boolean refund_total: type: number format: double sales_affiliate_id: type: integer format: int64 shipping_information: title: EcommerceReportingShippingInformation type: object properties: city: type: string company: type: string country: type: string first_name: type: string id: type: integer format: int64 invoiceToCompany: type: boolean last_name: type: string middle_name: type: string phone: type: string state: type: string street1: type: string street2: type: string zip: type: string source_type: type: string enum: - INVOICE - API - CHECKOUT_FORM - MANUAL_PAYMENT - UNKNOWN - QBO_SYNC status: type: string terms: type: string title: type: string total: type: number format: double total_due: type: number format: double total_paid: type: number format: double '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: - E-Commerce summary: Delete an Order description: Delete an order that does not have a payment operationId: deleteOrderUsingDELETE parameters: - name: orderId in: path description: orderId required: true schema: type: integer format: int64 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 servers: - url: https://api.infusionsoft.com/crm/rest /v1/orders/{orderId}/items: post: tags: - E-Commerce summary: Create an Order Item description: Creates an order item on an existing order. operationId: createOrderItemsOnOrderUsingPOST parameters: - name: orderId in: path description: orderId required: true schema: type: integer format: int64 requestBody: description: createOrderItem content: application/json: schema: title: CreateOrderItem required: - product_id - quantity type: object properties: description: type: string 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 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. product_id: type: integer description: The id of the product to be added to the order. format: int64 quantity: type: integer description: 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: billingCycle: type: integer format: int32 cost: type: number format: double description: type: string discount: type: number format: double frequency: type: integer format: int32 id: type: integer format: int64 jobRecurringId: type: integer format: int64 name: type: string notes: type: string numberOfPayments: type: integer format: int32 orderItemTaxes: type: array items: title: OrderItemTax type: object properties: amount: type: number format: double id: type: integer format: int64 name: type: string orderItemId: type: integer format: int64 rate: type: number format: double taxTemplateId: type: integer format: int64 price: type: number format: double product: title: Product_ type: object properties: id: type: integer format: int64 product_desc: type: string product_name: type: string product_options: type: array items: title: ProductOption type: object properties: allow_spaces: type: boolean can_contain_character: type: boolean can_contain_number: type: boolean can_end_with_character: type: boolean can_end_with_number: type: boolean can_start_with_character: type: boolean can_start_with_number: type: boolean display_index: type: integer format: int32 id: type: integer format: int64 label: type: string max_chars: type: integer format: int32 min_chars: type: integer format: int32 name: type: string required: type: boolean text_message: type: string type: type: string enum: - FixedList - Variable values: type: array items: title: ProductOptionValue type: object properties: id: type: integer format: int64 index: type: integer format: int64 is_default: type: boolean label: type: string price_adjustment: type: number format: double sku: type: string product_price: type: number format: double product_short_desc: type: string sku: type: string status: type: integer format: int32 subscription_only: type: boolean subscription_plans: type: array items: title: SubscriptionPlan_ type: object properties: active: type: boolean cycle: type: integer format: int32 frequency: type: integer format: int32 id: type: integer format: int64 number_of_cycles: type: integer format: int32 plan_price: type: number format: double subscription_plan_index: type: integer format: int32 subscription_plan_name: type: string url: type: string url: type: string quantity: type: integer format: int32 recurringBilling: type: boolean recurringCyclesCompleted: type: integer format: int32 recurringEndDate: type: string recurringInactive: type: boolean recurringNextBillDate: type: string recurringStartDate: type: string specialAmount: type: number format: double specialId: type: integer format: int64 specialPctOrAmt: type: integer format: int32 type: 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: createOrderItem servers: - url: https://api.infusionsoft.com/crm/rest /v1/orders/{orderId}/items/{orderItemId}: delete: tags: - E-Commerce summary: Delete an Order Item description: Delete an order Item on specified Order operationId: deleteOrderOrderItemUsingDELETE parameters: - name: orderId in: path description: orderId required: true schema: type: integer format: int64 - name: orderItemId in: path description: orderItemId required: true schema: type: integer format: int64 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 servers: - url: https://api.infusionsoft.com/crm/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: replacePaymentPlanUsingPUT parameters: - name: orderId in: path description: orderId required: true schema: type: integer format: int64 requestBody: description: paymentPlan content: application/json: schema: title: RestPaymentPlan required: - days_between_payments - number_of_payments - plan_start_date type: object properties: auto_charge: type: boolean credit_card_id: type: integer format: int64 days_between_payments: type: integer format: int32 initial_payment_amount: type: number format: double initial_payment_date: type: string format: date number_of_payments: type: integer format: int32 payment_gateway: title: PaymentGatewayV1 type: object properties: merchant_account_id: type: integer format: int64 use_default: type: boolean plan_start_date: type: string format: date required: true responses: '200': description: OK content: application/json: schema: title: RestPaymentPlan required: - days_between_payments - number_of_payments - plan_start_date type: object properties: auto_charge: type: boolean credit_card_id: type: integer format: int64 days_between_payments: type: integer format: int32 initial_payment_amount: type: number format: double initial_payment_date: type: string format: date number_of_payments: type: integer format: int32 payment_gateway: title: PaymentGatewayV1 type: object properties: merchant_account_id: type: integer format: int64 use_default: type: boolean plan_start_date: type: string format: date '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: paymentPlan servers: - url: https://api.infusionsoft.com/crm/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: listOrderPaymentsUsingGET parameters: - name: orderId in: path description: orderId required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: type: array items: title: InvoicePayment type: object properties: amount: type: number id: type: integer format: int64 invoice_id: type: integer format: int64 last_updated: type: string format: date-time note: type: string pay_date: type: string format: date-time pay_status: type: string payment_id: type: integer format: int64 refund_invoice_payment_id: type: integer format: int64 skip_commission: type: boolean '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: - 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: createPaymentOnOrderUsingPOST parameters: - name: orderId in: path description: orderId required: true schema: type: integer format: int64 requestBody: description: createPayment content: application/json: schema: title: CreatePayment type: object properties: apply_to_commissions: type: boolean charge_now: type: boolean credit_card_id: type: integer format: int64 date: type: string description: Used when charge_now:false or inserting historical data. ex `2017-01-01T22:17:59.039Z` format: date-time notes: type: string payment_amount: type: string payment_gateway_id: type: string payment_method_type: type: string enum: - CREDIT_CARD - CASH - CHECK - TOKEN required: false responses: '201': description: Created content: application/json: schema: title: 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 '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: createPayment servers: - url: https://api.infusionsoft.com/crm/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: listTransactionsForOrderUsingGET parameters: - name: contact_id in: query description: Returns transactions for the provided contact id schema: type: integer format: int64 example: 0 - name: limit in: query description: Sets a total of items to return schema: type: integer format: int32 example: 0 - name: offset in: query description: Sets a beginning range of items to return schema: type: integer format: int32 example: 0 - name: orderId in: path description: orderId required: true schema: type: integer format: int64 - name: since in: query description: Date to start searching from ex. `2017-01-01T22:17:59.039Z` schema: type: string - name: until in: query description: Date to search to ex. `2017-01-01T22:17:59.039Z` schema: type: string responses: '200': description: OK content: application/json: schema: title: TransactionList type: object properties: count: type: integer format: int32 next: type: string previous: type: string transactions: type: array items: title: EcommerceReportingTransaction type: object properties: amount: type: number format: double collection_method: type: string contact_id: type: integer format: int64 currency: type: string errors: type: string gateway: type: string gateway_account_name: type: string id: type: integer format: int64 order_ids: type: string orders: type: array items: title: EcommerceReportingOrder type: object properties: allow_payment: type: boolean allow_paypal: type: boolean contact: title: EcommerceReportingOrderContactDetails type: object properties: company_name: type: string email: type: string first_name: type: string id: type: integer format: int64 job_title: type: string last_name: type: string contact_id: type: string creation_date: type: string id: type: integer format: int64 invoice_number: type: integer format: int64 lead_affiliate_id: type: integer format: int64 modification_date: type: string notes: type: string order_date: type: string order_items: type: array items: title: EcommerceReportingOrderItem type: object properties: cost: type: number format: double description: type: string discount: type: number format: double id: type: integer format: int64 jobRecurringId: type: integer format: int64 name: type: string notes: type: string price: type: number format: double product: title: EcommerceReportingSimpleProduct type: object properties: description: type: string id: type: integer format: int64 name: type: string shippable: type: boolean sku: type: string taxable: type: boolean quantity: type: integer format: int32 specialAmount: type: number format: double specialId: type: integer format: int64 specialPctOrAmt: type: integer format: int32 subscriptionPlan: title: SubscriptionPlan type: object properties: active: type: boolean cycle: type: integer format: int32 frequency: type: integer format: int32 id: type: integer format: int64 number_of_cycles: type: integer format: int32 plan_price: type: number format: double prorate: type: boolean subscription_plan_index: type: integer format: int32 subscription_plan_name: type: string type: type: string order_type: type: string payment_plan: title: EcommerceReportingPaymentPlan type: object properties: auto_charge: type: boolean credit_card_id: type: integer format: int64 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 initial_payment_percent: type: number format: double max_charge_attempts: type: integer format: int64 number_of_payments: type: integer format: int64 payment_gateway: title: EcommerceReportingPaymentGateway type: object properties: merchant_account_id: type: integer format: int64 merchant_account_name: type: string use_default: type: boolean payment_method_id: type: string plan_start_date: type: string product_id: type: string recurring: type: boolean refund_total: type: number format: double sales_affiliate_id: type: integer format: int64 shipping_information: title: EcommerceReportingShippingInformation type: object properties: city: type: string company: type: string country: type: string first_name: type: string id: type: integer format: int64 invoiceToCompany: type: boolean last_name: type: string middle_name: type: string phone: type: string state: type: string street1: type: string street2: type: string zip: type: string source_type: type: string enum: - INVOICE - API - CHECKOUT_FORM - MANUAL_PAYMENT - UNKNOWN - QBO_SYNC status: type: string terms: type: string title: type: string total: type: number format: double total_due: type: number format: double total_paid: type: number format: double paymentDate: type: string status: type: string test: type: boolean transaction_date: type: string type: 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 /v1/subscriptions: get: tags: - E-Commerce summary: List Subscriptions description: Retrieves a list of all subcriptions using the specified search criteria. operationId: listSubscriptionsUsingGET parameters: - name: contact_id in: query description: Returns subscriptions for the provided contact id schema: type: integer format: int64 example: 0 - name: limit in: query description: Sets a total of items to return schema: type: integer format: int32 example: 0 - name: offset in: query description: Sets a beginning range of items to return schema: type: integer format: int32 example: 0 responses: '200': description: OK content: application/json: schema: title: SubscriptionList type: object properties: count: type: integer format: int32 next: type: string previous: type: string subscriptions: type: array items: title: Subscription type: object properties: active: type: boolean allow_tax: type: boolean auto_charge: type: boolean billing_amount: type: number format: double billing_cycle: type: string enum: - YEAR - MONTH - WEEK - DAY billing_frequency: type: integer format: int32 contact_id: type: integer format: int64 credit_card_id: type: integer format: int64 end_date: type: string format: date id: type: integer format: int64 next_bill_date: type: string format: date payment_gateway_id: type: integer format: int64 product_id: type: integer format: int64 quantity: type: integer format: int64 sale_affiliate_id: type: integer format: int64 start_date: type: string format: date subscription_plan_id: type: integer format: int64 use_default_payment_gateway: type: boolean '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: - E-Commerce summary: Create Subscription description: Creates a subscription with the specified product and product subscription id. operationId: createSubscriptionUsingPOST requestBody: description: createSubscription content: application/json: schema: title: CreateSubscription required: - contact_id type: object properties: 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. allow_tax: type: boolean description: Only works if the product the product subscription is for is taxable. Default is false. auto_charge: type: boolean description: Defaults to true. billing_amount: type: number description: Must be 0 or greater. Default is the price in the product subscription. format: double contact_id: type: integer format: int64 credit_card_id: type: integer description: Default is the contact's most recently used card, if auto charge is true. Default is 0 otherwise. format: int64 first_bill_date: type: string description: The first day the subscription will bill, in EST. Must not be in the past. Default is today. format: date payment_gateway_id: type: integer description: Default is the app's default merchant. format: int64 quantity: type: integer description: Must be greater than 0. Default is 1. format: int32 sale_affiliate_id: type: integer format: int64 subscription_plan_id: type: integer description: Id of the product subscription. format: int64 required: true responses: '201': description: Created content: application/json: schema: title: Subscription type: object properties: active: type: boolean allow_tax: type: boolean auto_charge: type: boolean billing_amount: type: number format: double billing_cycle: type: string enum: - YEAR - MONTH - WEEK - DAY billing_frequency: type: integer format: int32 contact_id: type: integer format: int64 credit_card_id: type: integer format: int64 end_date: type: string format: date id: type: integer format: int64 next_bill_date: type: string format: date payment_gateway_id: type: integer format: int64 product_id: type: integer format: int64 quantity: type: integer format: int64 sale_affiliate_id: type: integer format: int64 start_date: type: string format: date subscription_plan_id: type: integer format: int64 use_default_payment_gateway: type: boolean '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: createSubscription servers: - url: https://api.infusionsoft.com/crm/rest /v1/subscriptions/model: get: tags: - E-Commerce summary: Retrieve Subscription Model description: Get the custom fields for the Subscription object operationId: retrieveSubscriptionModelUsingGET 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 - DateTime - DayOfWeek - Drilldown - Email - Month - ListBox - Name - WholeNumber - DecimalNumber - Percent - PhoneNumber - Radio - Dropdown - SocialSecurityNumber - State - Text - TextArea - User - UserListBox - Website - Year - YesNo id: type: integer format: int64 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' record_type: type: string enum: - CONTACT - REFERRAL_PARTNER - OPPORTUNITY - TASK_NOTE_APPOINTMENT - COMPANY - ORDER - SUBSCRIPTION optional_properties: type: array 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 /v1/transactions: get: tags: - E-Commerce summary: List Transactions description: Retrieves a list transactions for a given contact operationId: listTransactionsUsingGET parameters: - name: contact_id in: query description: Returns transactions for the provided contact id schema: type: integer format: int64 example: 0 - name: limit in: query description: Sets a total of items to return schema: type: integer format: int32 example: 0 - name: offset in: query description: Sets a beginning range of items to return schema: type: integer format: int32 example: 0 - name: since in: query description: Date to start searching from ex. `2017-01-01T22:17:59.039Z` schema: type: string - name: until in: query description: Date to search to ex. `2017-01-01T22:17:59.039Z` schema: type: string responses: '200': description: OK content: application/json: schema: title: TransactionList type: object properties: count: type: integer format: int32 next: type: string previous: type: string transactions: type: array items: title: EcommerceReportingTransaction type: object properties: amount: type: number format: double collection_method: type: string contact_id: type: integer format: int64 currency: type: string errors: type: string gateway: type: string gateway_account_name: type: string id: type: integer format: int64 order_ids: type: string orders: type: array items: title: EcommerceReportingOrder type: object properties: allow_payment: type: boolean allow_paypal: type: boolean contact: title: EcommerceReportingOrderContactDetails type: object properties: company_name: type: string email: type: string first_name: type: string id: type: integer format: int64 job_title: type: string last_name: type: string contact_id: type: string creation_date: type: string id: type: integer format: int64 invoice_number: type: integer format: int64 lead_affiliate_id: type: integer format: int64 modification_date: type: string notes: type: string order_date: type: string order_items: type: array items: title: EcommerceReportingOrderItem type: object properties: cost: type: number format: double description: type: string discount: type: number format: double id: type: integer format: int64 jobRecurringId: type: integer format: int64 name: type: string notes: type: string price: type: number format: double product: title: EcommerceReportingSimpleProduct type: object properties: description: type: string id: type: integer format: int64 name: type: string shippable: type: boolean sku: type: string taxable: type: boolean quantity: type: integer format: int32 specialAmount: type: number format: double specialId: type: integer format: int64 specialPctOrAmt: type: integer format: int32 subscriptionPlan: title: SubscriptionPlan type: object properties: active: type: boolean cycle: type: integer format: int32 frequency: type: integer format: int32 id: type: integer format: int64 number_of_cycles: type: integer format: int32 plan_price: type: number format: double prorate: type: boolean subscription_plan_index: type: integer format: int32 subscription_plan_name: type: string type: type: string order_type: type: string payment_plan: title: EcommerceReportingPaymentPlan type: object properties: auto_charge: type: boolean credit_card_id: type: integer format: int64 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 initial_payment_percent: type: number format: double max_charge_attempts: type: integer format: int64 number_of_payments: type: integer format: int64 payment_gateway: title: EcommerceReportingPaymentGateway type: object properties: merchant_account_id: type: integer format: int64 merchant_account_name: type: string use_default: type: boolean payment_method_id: type: string plan_start_date: type: string product_id: type: string recurring: type: boolean refund_total: type: number format: double sales_affiliate_id: type: integer format: int64 shipping_information: title: EcommerceReportingShippingInformation type: object properties: city: type: string company: type: string country: type: string first_name: type: string id: type: integer format: int64 invoiceToCompany: type: boolean last_name: type: string middle_name: type: string phone: type: string state: type: string street1: type: string street2: type: string zip: type: string source_type: type: string enum: - INVOICE - API - CHECKOUT_FORM - MANUAL_PAYMENT - UNKNOWN - QBO_SYNC status: type: string terms: type: string title: type: string total: type: number format: double total_due: type: number format: double total_paid: type: number format: double paymentDate: type: string status: type: string test: type: boolean transaction_date: type: string type: 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: true servers: - url: https://api.infusionsoft.com/crm/rest /v1/transactions/{transactionId}: get: tags: - E-Commerce summary: Retrieve a Transaction description: Retrieves a single transaction operationId: getTransactionUsingGET parameters: - name: transactionId in: path description: transactionId required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: title: EcommerceReportingTransaction type: object properties: amount: type: number format: double collection_method: type: string contact_id: type: integer format: int64 currency: type: string errors: type: string gateway: type: string gateway_account_name: type: string id: type: integer format: int64 order_ids: type: string orders: type: array items: title: EcommerceReportingOrder type: object properties: allow_payment: type: boolean allow_paypal: type: boolean contact: title: EcommerceReportingOrderContactDetails type: object properties: company_name: type: string email: type: string first_name: type: string id: type: integer format: int64 job_title: type: string last_name: type: string contact_id: type: string creation_date: type: string id: type: integer format: int64 invoice_number: type: integer format: int64 lead_affiliate_id: type: integer format: int64 modification_date: type: string notes: type: string order_date: type: string order_items: type: array items: title: EcommerceReportingOrderItem type: object properties: cost: type: number format: double description: type: string discount: type: number format: double id: type: integer format: int64 jobRecurringId: type: integer format: int64 name: type: string notes: type: string price: type: number format: double product: title: EcommerceReportingSimpleProduct type: object properties: description: type: string id: type: integer format: int64 name: type: string shippable: type: boolean sku: type: string taxable: type: boolean quantity: type: integer format: int32 specialAmount: type: number format: double specialId: type: integer format: int64 specialPctOrAmt: type: integer format: int32 subscriptionPlan: title: SubscriptionPlan type: object properties: active: type: boolean cycle: type: integer format: int32 frequency: type: integer format: int32 id: type: integer format: int64 number_of_cycles: type: integer format: int32 plan_price: type: number format: double prorate: type: boolean subscription_plan_index: type: integer format: int32 subscription_plan_name: type: string type: type: string order_type: type: string payment_plan: title: EcommerceReportingPaymentPlan type: object properties: auto_charge: type: boolean credit_card_id: type: integer format: int64 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 initial_payment_percent: type: number format: double max_charge_attempts: type: integer format: int64 number_of_payments: type: integer format: int64 payment_gateway: title: EcommerceReportingPaymentGateway type: object properties: merchant_account_id: type: integer format: int64 merchant_account_name: type: string use_default: type: boolean payment_method_id: type: string plan_start_date: type: string product_id: type: string recurring: type: boolean refund_total: type: number format: double sales_affiliate_id: type: integer format: int64 shipping_information: title: EcommerceReportingShippingInformation type: object properties: city: type: string company: type: string country: type: string first_name: type: string id: type: integer format: int64 invoiceToCompany: type: boolean last_name: type: string middle_name: type: string phone: type: string state: type: string street1: type: string street2: type: string zip: type: string source_type: type: string enum: - INVOICE - API - CHECKOUT_FORM - MANUAL_PAYMENT - UNKNOWN - QBO_SYNC status: type: string terms: type: string title: type: string total: type: number format: double total_due: type: number format: double total_paid: type: number format: double paymentDate: type: string status: type: string test: type: boolean transaction_date: type: string type: 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: true servers: - url: https://api.infusionsoft.com/crm/rest /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' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /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' security: - oauth2: [] 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' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /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' security: - oauth2: [] 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' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /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' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /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' security: - oauth2: [] 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' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /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 security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /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 security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /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' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /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' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /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' security: - oauth2: [] 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 security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /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' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /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 security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm components: schemas: CustomFieldOption: title: CustomFieldOption type: object properties: id: type: string label: type: string options: type: array items: $ref: '#/components/schemas/CustomFieldOption' 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' 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' 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 CustomFieldOption_2: type: object properties: id: type: string label: 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 SubscriptionList: type: object properties: subscriptions: type: array items: $ref: '#/components/schemas/Subscription' count: type: integer format: int32 next: type: string previous: type: string 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 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_' SubscriptionListCommand: type: object properties: limit: type: integer format: int32 offset: type: integer format: int32 contact_id: type: integer format: int64 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 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 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 EcommerceReportingPaymentGateway: type: object properties: merchant_account_id: type: integer format: int64 use_default: type: boolean merchant_account_name: type: string 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 CustomFieldMetaData: type: object properties: id: type: integer format: int64 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 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 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 DefaultHttpStatusCode: allOf: - $ref: '#/components/schemas/HttpStatusCode' 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 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 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 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 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 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 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 ObjectModel: type: object properties: custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldMetaData' optional_properties: type: array items: type: string uniqueItems: true 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 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 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 PaymentGatewayV1: type: object properties: merchant_account_id: type: integer format: int64 use_default: type: boolean 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 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 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 OrderList: type: object properties: orders: type: array items: $ref: '#/components/schemas/EcommerceReportingOrder' count: type: integer format: int32 next: type: string previous: type: string TransactionList: type: object properties: transactions: type: array items: $ref: '#/components/schemas/EcommerceReportingTransaction' count: type: integer format: int32 next: type: string previous: type: string EcommerceReportingSimpleProduct: type: object properties: id: type: integer format: int64 name: type: string sku: type: string description: type: string shippable: type: boolean taxable: type: boolean 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 HttpStatusCode: type: object properties: error: type: boolean is1xxInformational: type: boolean is2xxSuccessful: type: boolean is3xxRedirection: type: boolean is4xxClientError: type: boolean is5xxServerError: type: boolean 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 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 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' CustomFieldOption_3: type: object properties: id: type: string label: type: string CustomFieldMetaData_2: type: object properties: id: type: integer format: int64 label: type: string options: type: array items: $ref: '#/components/schemas/CustomFieldOption_3' 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 securitySchemes: oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://accounts.infusionsoft.com/app/oauth/authorize tokenUrl: https://api.infusionsoft.com/token x-refined-from: - infusionsoft-rest-v1-2025-11-05-openapi-original.json - infusionsoft-rest-v1-openapi-original.json - infusionsoft-rest-v1-openapi.json