openapi: 3.2.0 info: title: Infusionsoft Email API license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: '1.0' description: 'Operations tagged Email across 7 of this provider''s published API definitions: infusionsoft-keap-sdk-v2-swagger-original.yml, infusionsoft-rest-v1-2025-11-05-openapi-original.json, infusionsoft-rest-v1-openapi-original.json, infusionsoft-rest-v1-openapi.json, infusionsoft-rest-v2-2025-11-05-openapi-original.json, infusionsoft-rest-v2-openapi-original.json, infusionsoft-rest-v2-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: https://api.keap.com/crm - url: https://api.infusionsoft.com/crm/rest - url: https://api.infusionsoft.com/crm tags: - name: Email paths: /rest/v2/emails: get: tags: - Email summary: List Emails description: Retrieves a list of emails that have been sent operationId: listEmails parameters: - name: filter in: query description: 'Filter to apply, allowed fields are: - (String) contact_id - (String) email - (String) start_created_time - (String) end_created_time ' required: false schema: type: string - name: order_by in: query description: 'Attribute and direction to order items. One of the following fields: - `created_time` One of the following directions: - `asc` - `desc`' required: false schema: type: string - name: page_size in: query description: Total number of items to return per page required: false schema: type: integer format: int32 maximum: 1000 minimum: 0 example: 0 - name: page_token in: query description: Page token required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListEmailsSentResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] post: tags: - Email summary: Create an Email Record description: Creates a Record of an Email sent to a Contact operationId: createEmail requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateEmailSentRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EmailSentWithContent' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/emails:send: post: tags: - Email summary: Send an Email description: Sends an Email to a list of Contacts operationId: sendEmail requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailSendRequest' required: true responses: '202': description: Accepted '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/emails:batchRemove: post: tags: - Email summary: Remove a set of Email Records description: Removes a set of Email Records operationId: deleteEmails requestBody: content: application/json: schema: $ref: '#/components/schemas/DeleteEmailsRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DeleteEmailsResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/emails:batchAdd: post: tags: - Email summary: Create a set of Email Records description: Creates a set of Records of Emails sent to Contacts, maximum 1000 per transaction. operationId: createEmails requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateEmailsSentRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EmailsSentList' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/emails/templates:send: post: tags: - Email summary: Send an email based on a template description: Send an email based on a template operationId: sendEmailTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailSendTemplateRequest' required: true responses: '202': description: Accepted '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/emails/{id}: get: tags: - Email summary: Retrieve an Email description: Retrieves a single Email that has been sent operationId: getEmail parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EmailSentWithContent' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] delete: tags: - Email summary: Delete an Email Record description: Deletes a specific Email Record operationId: deleteEmail parameters: - name: id in: path required: true schema: type: string responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/emails/templates: get: tags: - Email summary: List email templates description: Retrieves a paginated list of email templates operationId: listEmailTemplates parameters: - name: filter in: query description: Search filter to apply to results required: false schema: type: string - name: page_token in: query description: Page token required: false schema: type: string - name: order_by in: query description: 'Attribute and direction to order items. One of the following fields: - `id` One of the following directions: - `asc` - `desc`' required: false schema: type: string - name: page_size in: query description: Total number of items to return per page required: false schema: type: integer format: int32 maximum: 1000 minimum: 0 example: 0 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListEmailTemplatesResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/emails/templates/{email_template_id}: get: tags: - Email summary: Retrieve an email template description: Retrieve an email template operationId: getEmailTemplate parameters: - name: email_template_id in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EmailTemplate' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /v1/emails: get: tags: - Email summary: List Emails description: 'Retrieve a list of emails that have been sent Keap is currently investigating an issue with degraded performance of this endpoint with very large (millions of records) record sets' operationId: listEmailsUsingGET parameters: - name: contact_id in: query description: Optional Contact Id to find Emails for schema: type: integer format: int64 example: 0 - name: email in: query description: Optional email address to query on schema: type: string - 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: ordered in: query description: Optional boolean to turn off ORDER BY in SQL query schema: type: boolean default: true - name: since_sent_date in: query description: Optional date to query on, emails sent since the provided date, must be present if untilDate is provided schema: type: string - name: until_sent_date in: query description: Optional date to query on, email sent until the provided date schema: type: string responses: '200': description: OK content: application/json: schema: title: EmailSentQueryResultList type: object properties: count: type: integer format: int32 emails: type: array items: title: EmailSentQueryResult type: object properties: clicked_date: type: string format: date-time contact_id: type: integer format: int64 headers: type: string id: type: integer format: int64 opened_date: type: string format: date-time original_provider: type: string enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string received_date: type: string format: date-time sent_date: type: string format: date-time sent_from_address: type: string sent_from_reply_address: type: string sent_to_address: type: string sent_to_bcc_addresses: type: string sent_to_cc_addresses: type: string subject: type: string next: type: string 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: - Email summary: Create an Email Record description: Create a record of an email sent to a contact operationId: createEmailUsingPOST requestBody: description: Email records to persist, with content. content: application/json: schema: title: EmailSentCreate required: - sent_to_address type: object properties: clicked_date: type: string format: date-time contact_id: type: integer format: int64 headers: type: string html_content: type: string description: Base64 encoded HTML id: type: integer format: int64 opened_date: type: string format: date-time original_provider: type: string description: Provider that sent the email case insensitive, must be in list [GOOGLE, INFUSIONSOFT]. If omitted gets mapped to UNKNOWN. enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string description: Provider id that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record. plain_content: type: string description: Base64 encoded text provider_source_id: type: string description: The email address of the synced email account that generated this message. received_date: type: string format: date-time sent_date: type: string format: date-time sent_from_address: type: string sent_from_reply_address: type: string sent_to_address: type: string sent_to_bcc_addresses: type: string sent_to_cc_addresses: type: string subject: type: string required: false responses: '201': description: Created content: application/json: schema: title: EmailSentCreate required: - sent_to_address type: object properties: clicked_date: type: string format: date-time contact_id: type: integer format: int64 headers: type: string html_content: type: string description: Base64 encoded HTML id: type: integer format: int64 opened_date: type: string format: date-time original_provider: type: string description: Provider that sent the email case insensitive, must be in list [GOOGLE, INFUSIONSOFT]. If omitted gets mapped to UNKNOWN. enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string description: Provider id that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record. plain_content: type: string description: Base64 encoded text provider_source_id: type: string description: The email address of the synced email account that generated this message. received_date: type: string format: date-time sent_date: type: string format: date-time sent_from_address: type: string sent_from_reply_address: type: string sent_to_address: type: string sent_to_bcc_addresses: type: string sent_to_cc_addresses: type: string subject: 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: emailWithContent servers: - url: https://api.infusionsoft.com/crm/rest /v1/emails/queue: post: tags: - Email summary: Send an Email description: Send an Email to a list of Contacts operationId: sendEmailUsingPOST requestBody: description: emailSendRequest content: application/json: schema: title: EmailSendRequest required: - contacts - subject - user_id type: object properties: address_field: type: string description: Email field of each Contact record to address the email to, such as 'Email', 'EmailAddress2', 'EmailAddress3' or '_CustomFieldName', defaulting to the contact's primary email attachments: type: array description: Attachments to be sent with each copy of the email, maximum of 10 with size of 1MB each items: title: EmailSendRequestAttachment type: object properties: file_data: type: string description: The content of the attachment, encoded in Base64 file_name: type: string description: The filename of the attached file, including extension contacts: type: array description: An array of Contact Ids to receive the email items: type: integer format: int64 html_content: type: string description: The HTML-formatted content of the email, encoded in Base64 plain_content: type: string description: The plain-text content of the email, encoded in Base64 subject: type: string description: The subject line of the email user_id: type: integer description: The infusionsoft user to send the email on behalf of format: int64 required: false responses: '202': description: Accepted '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: emailSendRequest servers: - url: https://api.infusionsoft.com/crm/rest /v1/emails/sync: post: tags: - Email summary: Create a set of Email Records description: Create a set of records of emails sent to contacts, maximum 1000 per transaction. operationId: createEmailsUsingPOST requestBody: description: Email records to persist, with content. content: application/json: schema: title: EmailSentCreateListRequest type: object properties: emails: type: array items: title: EmailSentCreate required: - sent_to_address type: object properties: clicked_date: type: string format: date-time contact_id: type: integer format: int64 headers: type: string html_content: type: string description: Base64 encoded HTML id: type: integer format: int64 opened_date: type: string format: date-time original_provider: type: string description: Provider that sent the email case insensitive, must be in list [GOOGLE, INFUSIONSOFT]. If omitted gets mapped to UNKNOWN. enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string description: Provider id that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record. plain_content: type: string description: Base64 encoded text provider_source_id: type: string description: The email address of the synced email account that generated this message. received_date: type: string format: date-time sent_date: type: string format: date-time sent_from_address: type: string sent_from_reply_address: type: string sent_to_address: type: string sent_to_bcc_addresses: type: string sent_to_cc_addresses: type: string subject: type: string required: false responses: '201': description: Created content: application/json: schema: title: EmailSentCreateListResponse type: object properties: emails: type: array items: title: EmailSentCreate required: - sent_to_address type: object properties: clicked_date: type: string format: date-time contact_id: type: integer format: int64 headers: type: string html_content: type: string description: Base64 encoded HTML id: type: integer format: int64 opened_date: type: string format: date-time original_provider: type: string description: Provider that sent the email case insensitive, must be in list [GOOGLE, INFUSIONSOFT]. If omitted gets mapped to UNKNOWN. enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string description: Provider id that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record. plain_content: type: string description: Base64 encoded text provider_source_id: type: string description: The email address of the synced email account that generated this message. received_date: type: string format: date-time sent_date: type: string format: date-time sent_from_address: type: string sent_from_reply_address: type: string sent_to_address: type: string sent_to_bcc_addresses: type: string sent_to_cc_addresses: type: string subject: type: string errors: type: array items: title: EmailSentCreateError type: object properties: email: title: EmailSentCreate required: - sent_to_address type: object properties: clicked_date: type: string format: date-time contact_id: type: integer format: int64 headers: type: string html_content: type: string description: Base64 encoded HTML id: type: integer format: int64 opened_date: type: string format: date-time original_provider: type: string description: Provider that sent the email case insensitive, must be in list [GOOGLE, INFUSIONSOFT]. If omitted gets mapped to UNKNOWN. enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string description: Provider id that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record. plain_content: type: string description: Base64 encoded text provider_source_id: type: string description: The email address of the synced email account that generated this message. received_date: type: string format: date-time sent_date: type: string format: date-time sent_from_address: type: string sent_from_reply_address: type: string sent_to_address: type: string sent_to_bcc_addresses: type: string sent_to_cc_addresses: type: string subject: type: string error_message: 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: emailWithContent servers: - url: https://api.infusionsoft.com/crm/rest /v1/emails/unsync: post: tags: - Email summary: Un-sync a batch of Email Records description: Un-syncs a batch of email records operationId: deleteEmailsUsingPOST requestBody: description: emailIds content: application/json: schema: title: SetOfIds type: object properties: ids: type: array items: type: integer format: int64 required: true responses: '200': description: OK content: application/json: schema: type: object additionalProperties: 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: emailIds servers: - url: https://api.infusionsoft.com/crm/rest /v1/emails/{id}: get: tags: - Email summary: Retrieve an Email description: Retrieves a single email that has been sent operationId: getEmailUsingGET parameters: - name: id in: path description: id required: true schema: type: integer format: int64 responses: '200': description: OK content: application/json: schema: title: EmailSentQueryResultWithContent type: object properties: clicked_date: type: string format: date-time contact_id: type: integer format: int64 headers: type: string html_content: type: string description: Base64 encoded HTML id: type: integer format: int64 opened_date: type: string format: date-time original_provider: type: string enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string plain_content: type: string description: Base64 encoded plain text received_date: type: string format: date-time sent_date: type: string format: date-time sent_from_address: type: string sent_from_reply_address: type: string sent_to_address: type: string sent_to_bcc_addresses: type: string sent_to_cc_addresses: type: string subject: 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 delete: tags: - Email summary: Delete an Email Record description: Delete a specific email record operationId: deleteEmailUsingDELETE parameters: - name: id in: path description: id 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 /rest/v1/emails/unsync: post: tags: - Email summary: Un-sync a batch of Email Records description: Un-syncs a batch of email records operationId: deleteEmails requestBody: content: application/json: schema: $ref: '#/components/schemas/SetOfIds' 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: type: object additionalProperties: type: string security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /rest/v1/emails/sync: post: tags: - Email summary: Create a set of Email Records description: Create a set of records of emails sent to contacts, maximum 1000 per transaction. operationId: createEmails requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailSentCreateListRequest' 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/EmailSentCreateListResponse' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /rest/v1/emails/queue: post: tags: - Email summary: Send an Email description: Send an Email to a list of Contacts operationId: sendEmail requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailSendRequest_2' required: true responses: '400': description: 'Bad Request: invalid email parameters or from address domain is not authenticated' 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' '202': description: Accepted security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /rest/v1/emails: get: tags: - Email summary: List Emails description: 'Retrieve a list of emails that have been sent Keap is currently investigating an issue with degraded performance of this endpoint with very large (millions of records) record sets' operationId: listEmails parameters: - name: emailSentQueryCommand in: query required: true schema: $ref: '#/components/schemas/EmailSentQueryCommand' 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/EmailSentQueryResultList' security: - oauth2: [] post: tags: - Email summary: Create an Email Record description: Create a record of an email sent to a contact operationId: createEmail requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailSentCreate' 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/EmailSentCreate' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /rest/v1/emails/{id}: get: tags: - Email summary: Retrieve an Email description: Retrieves a single email that has been sent operationId: getEmail parameters: - name: id 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/EmailSentQueryResultWithContent' security: - oauth2: [] delete: tags: - Email summary: Delete an Email Record description: Delete a specific email record operationId: deleteEmail parameters: - name: id 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 /v2/emails: get: tags: - Email summary: List Emails description: Retrieves a list of emails that have been sent operationId: listEmailsUsingGET_1 parameters: - name: filter in: query description: 'Filter to apply, allowed fields are: - (String) contact_id - (String) email - (String) start_created_time - (String) end_created_time ' schema: type: string - name: order_by in: query description: 'Attribute and direction to order items. One of the following fields: - `created_time` One of the following directions: - `asc` - `desc`' schema: type: string - name: page_size in: query description: Total number of items to return per page schema: maximum: 1000 minimum: 1 type: integer format: int32 example: 0 - name: page_token in: query description: Page token schema: type: string responses: '200': description: OK content: application/json: schema: title: ListEmailsSentResponse type: object properties: emails: type: array items: title: EmailSent type: object properties: clicked_time: type: string contact_id: type: string headers: type: string id: type: string opened_time: type: string original_provider: type: string enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string provider_source_id: type: string received_time: type: string sent_from_address: type: string sent_from_reply_address: type: string sent_time: type: string sent_to_address: type: string sent_to_bcc_address_list: type: array items: type: string sent_to_cc_address_list: type: array items: type: string subject: type: string next_page_token: type: string '401': description: Unauthorized content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '403': description: Forbidden content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '404': description: Not Found content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '500': description: Internal Server Error content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' deprecated: false post: tags: - Email summary: Create an Email Record description: Creates a Record of an Email sent to a Contact operationId: createEmailUsingPOST_1 requestBody: description: emailWithContent content: application/json: schema: title: CreateEmailSentRequest required: - sent_to_address type: object properties: clicked_time: type: string contact_id: type: string headers: type: string html_content: type: string description: Base64 encoded HTML opened_time: type: string original_provider: type: string description: Provider that sent the email, defaults to UNKNOWN enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string description: Provider id that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record. plain_content: type: string description: Base64 encoded text provider_source_id: type: string description: The email address of the synced email account that generated this message. received_time: type: string sent_from_address: type: string sent_from_reply_address: type: string sent_time: type: string sent_to_address: type: string sent_to_bcc_address_list: type: array items: type: string sent_to_cc_address_list: type: array items: type: string subject: type: string required: true responses: '201': description: Created content: application/json: schema: title: EmailSentWithContent type: object properties: clicked_time: type: string contact_id: type: string headers: type: string html_content: type: string description: Base64 encoded HTML id: type: string opened_time: type: string original_provider: type: string enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string plain_content: type: string description: Base64 encoded plain text provider_source_id: type: string received_time: type: string sent_from_address: type: string sent_from_reply_address: type: string sent_time: type: string sent_to_address: type: string sent_to_bcc_address_list: type: array items: type: string sent_to_cc_address_list: type: array items: type: string subject: 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: emailWithContent servers: - url: https://api.infusionsoft.com/crm/rest /v2/emails/templates/{email_template_id}: get: tags: - Email summary: Retrieve an email template description: Retrieve an email template operationId: getEmailTemplateUsingGET parameters: - name: email_template_id in: path description: email_template_id required: true schema: type: string responses: '200': description: OK content: application/json: schema: title: EmailTemplate type: object properties: bcc_address: type: string description: The bcc address of the email categories: type: array description: The categories associated with the email items: type: string cc_address: type: string description: The cc address of the email content_type: type: string description: The content type of the email enum: - TEXT - HTML - MULTIPART from_address: type: string description: The from address of the email html_body: type: string description: The HTML body of the email merge_context: type: string description: The merge context of the email piece_title: type: string description: The title of the piece subject: type: string description: The subject of the email text_body: type: string description: The text body of the email to_address: type: string description: The to address of the email '401': description: Unauthorized content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '403': description: Forbidden content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '404': description: Not Found content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '500': description: Internal Server Error content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' deprecated: false servers: - url: https://api.infusionsoft.com/crm/rest /v2/emails/templates:send: post: tags: - Email summary: Send an email based on a template description: Send an email based on a template operationId: sendEmailTemplateUsingPOST requestBody: description: 'Use a template to send an email to a list of contacts ' content: application/json: schema: title: EmailSendTemplateRequest type: object properties: address_field: type: string description: Email field of each Contact record to address the email to, such as 'Email', 'EmailAddress2', 'EmailAddress3' or '_CustomFieldName', defaulting to the contact's primary email contact_ids: type: array description: List of contacts to send items: type: string template_id: type: string description: Template ID user_id: type: string description: user id sending the email required: false responses: '202': description: Accepted '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: EmailTemplateRequest servers: - url: https://api.infusionsoft.com/crm/rest /v2/emails/{id}: get: tags: - Email summary: Retrieve an Email description: Retrieves a single Email that has been sent operationId: getEmailUsingGET_1 parameters: - name: id in: path description: id required: true schema: type: string responses: '200': description: OK content: application/json: schema: title: EmailSentWithContent type: object properties: clicked_time: type: string contact_id: type: string headers: type: string html_content: type: string description: Base64 encoded HTML id: type: string opened_time: type: string original_provider: type: string enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string plain_content: type: string description: Base64 encoded plain text provider_source_id: type: string received_time: type: string sent_from_address: type: string sent_from_reply_address: type: string sent_time: type: string sent_to_address: type: string sent_to_bcc_address_list: type: array items: type: string sent_to_cc_address_list: type: array items: type: string subject: 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 delete: tags: - Email summary: Delete an Email Record description: Deletes a specific Email Record operationId: deleteEmailUsingDELETE_1 parameters: - name: id in: path description: id required: true schema: type: string responses: '204': description: No Content '401': description: Unauthorized content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '403': description: Forbidden content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '404': description: Not Found content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '500': description: Internal Server Error content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' deprecated: false servers: - url: https://api.infusionsoft.com/crm/rest /v2/emails:batchAdd: post: tags: - Email summary: Create a set of Email Records description: Creates a set of Records of Emails sent to Contacts, maximum 1000 per transaction. operationId: createEmailsUsingPOST_1 requestBody: description: Email records to persist, with content. content: application/json: schema: title: CreateEmailsSentRequest type: object properties: emails: type: array items: title: CreateEmailSentRequest required: - sent_to_address type: object properties: clicked_time: type: string contact_id: type: string headers: type: string html_content: type: string description: Base64 encoded HTML opened_time: type: string original_provider: type: string description: Provider that sent the email, defaults to UNKNOWN enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string description: Provider id that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record. plain_content: type: string description: Base64 encoded text provider_source_id: type: string description: The email address of the synced email account that generated this message. received_time: type: string sent_from_address: type: string sent_from_reply_address: type: string sent_time: type: string sent_to_address: type: string sent_to_bcc_address_list: type: array items: type: string sent_to_cc_address_list: type: array items: type: string subject: type: string required: false responses: '201': description: Created content: application/json: schema: title: EmailsSentList type: object properties: emails: type: array items: title: EmailSentWithContent type: object properties: clicked_time: type: string contact_id: type: string headers: type: string html_content: type: string description: Base64 encoded HTML id: type: string opened_time: type: string original_provider: type: string enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string plain_content: type: string description: Base64 encoded plain text provider_source_id: type: string received_time: type: string sent_from_address: type: string sent_from_reply_address: type: string sent_time: type: string sent_to_address: type: string sent_to_bcc_address_list: type: array items: type: string sent_to_cc_address_list: type: array items: type: string subject: type: string errors: type: array items: title: EmailSentCreateError type: object properties: email: title: CreateEmailSentRequest required: - sent_to_address type: object properties: clicked_time: type: string contact_id: type: string headers: type: string html_content: type: string description: Base64 encoded HTML opened_time: type: string original_provider: type: string description: Provider that sent the email, defaults to UNKNOWN enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string description: Provider id that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record. plain_content: type: string description: Base64 encoded text provider_source_id: type: string description: The email address of the synced email account that generated this message. received_time: type: string sent_from_address: type: string sent_from_reply_address: type: string sent_time: type: string sent_to_address: type: string sent_to_bcc_address_list: type: array items: type: string sent_to_cc_address_list: type: array items: type: string subject: type: string error_message: 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: CreateEmailsSentRequest servers: - url: https://api.infusionsoft.com/crm/rest /v2/emails:batchRemove: post: tags: - Email summary: Remove a set of Email Records description: Removes a set of Email Records operationId: deleteEmailsUsingPOST_1 requestBody: description: deleteEmailsRequest content: application/json: schema: title: DeleteEmailsRequest type: object properties: email_ids: type: array items: type: string required: true responses: '200': description: OK content: application/json: schema: title: DeleteEmailsResponse type: object properties: results: type: object additionalProperties: 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: deleteEmailsRequest servers: - url: https://api.infusionsoft.com/crm/rest /v2/emails:send: post: tags: - Email summary: Send an Email description: Sends an Email to a list of Contacts operationId: sendEmailUsingPOST_1 requestBody: description: emailSendRequest content: application/json: schema: title: EmailSendRequest required: - contacts - subject - user_id type: object properties: address_field: type: string description: Email field of each Contact record to address the email to, such as 'Email', 'EmailAddress2', 'EmailAddress3' or '_CustomFieldName', defaulting to the contact's primary email attachments: type: array description: Attachments to be sent with each copy of the email, maximum of 10 with size of 1MB each items: title: EmailSendRequestAttachment type: object properties: file_data: type: string description: The content of the attachment, encoded in Base64 file_name: type: string description: The filename of the attached file, including extension contacts: type: array description: An array of Contact Ids to receive the email items: type: string html_content: type: string description: The HTML-formatted content of the email, encoded in Base64 plain_content: type: string description: The plain-text content of the email, encoded in Base64 subject: type: string description: The subject line of the email user_id: type: string description: The infusionsoft user to send the email on behalf of required: false responses: '202': description: Accepted '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: EmailSendRequest servers: - url: https://api.infusionsoft.com/crm/rest components: schemas: Error: type: object properties: code: type: integer format: int32 message: type: string status: type: string details: type: array items: $ref: '#/components/schemas/ErrorDetails' EmailSendTemplateRequest: type: object description: 'Use a template to send an email to a list of contacts ' properties: template_id: type: string description: Template ID example: 123 contact_ids: type: array description: List of contact IDs to send the email to example: - '1' - '2' - '3' items: type: string user_id: type: string description: The user ID to send the email on behalf of example: 1 address_field: type: string description: Email field of each Contact record to address the email to, such as 'Email', 'EmailAddress2', 'EmailAddress3' or '_CustomFieldName', defaulting to the contact's primary email example: EMAIL1 required: - contact_ids - template_id - user_id ErrorDetails: type: object properties: domain: type: string resource: type: string EmailsSentList: type: object description: Response containing created emails and any errors properties: emails: type: array description: Successfully created email records items: $ref: '#/components/schemas/EmailSentWithContent' errors: type: array description: Errors that occurred during creation items: $ref: '#/components/schemas/EmailSentCreateError' EmailTemplate: type: object description: An email template properties: id: type: integer format: int64 description: The id of the template piece_title: type: string description: The title of the template example: Welcome Email categories: type: array description: The categories associated with the email example: - Marketing - Onboarding items: type: string from_address: type: string description: The from address of the email example: ~Owner.Email~ to_address: type: string description: The to address of the email example: ~Contact.Email~ cc_address: type: string description: The cc address of the email example: manager@company.com bcc_address: type: string description: The bcc address of the email example: archive@company.com subject: type: string description: The subject of the email example: Welcome ~Contact.FirstName~! text_body: type: string description: The text body of the email example: Hello ~Contact.FirstName~, welcome! html_body: type: string description: The HTML body of the email example:

Welcome ~Contact.FirstName~!

content_type: type: string description: The content type of the email enum: - TEXT - HTML - MULTIPART example: HTML merge_context: type: string description: The merge context of the email example: Contact DeleteEmailsResponse: type: object description: Response from deleting email records properties: results: type: object additionalProperties: type: string description: Map of email ID to deletion result (SUCCESS, NO_PERMISSION, EMAIL_ID_NOT_FOUND) CreateEmailsSentRequest: type: object description: Email records to persist, with content. properties: emails: type: array description: Collection of email records to create, maximum 1000 items: $ref: '#/components/schemas/CreateEmailSentRequest' required: - emails CreateEmailSentRequest: type: object description: Request to create an email record properties: subject: type: string description: The subject of the email example: Welcome to our service headers: type: string description: Email headers example: 'X-Custom-Header: value' contact_id: type: string description: The contact ID who received the email example: 456 sent_to_address: type: string description: The email address the email was sent to example: john@example.com sent_to_cc_address_list: type: array description: List of CC email addresses example: - cc1@example.com - cc2@example.com items: type: string sent_to_bcc_address_list: type: array description: List of BCC email addresses example: - bcc@example.com items: type: string sent_from_address: type: string description: The sender's email address example: sender@company.com sent_from_reply_address: type: string description: The reply-to email address example: reply@company.com sent_time: type: string format: date-time description: When the email was sent, in ISO-8601 format. If omitted, the stored sent_time will be null. example: '2024-05-21T14:30:00Z' received_time: type: string format: date-time description: When the email was received, in ISO-8601 format example: '2024-05-21T14:31:00Z' opened_time: type: string format: date-time description: When the email was opened, in ISO-8601 format example: '2024-05-21T15:00:00Z' clicked_time: type: string format: date-time description: When a link in the email was clicked, in ISO-8601 format example: '2024-05-21T15:05:00Z' plain_content: type: string description: Base64 encoded text example: V2VsY29tZSB0byBvdXIgc2VydmljZQ== html_content: type: string description: Base64 encoded HTML example: PGgxPldlbGNvbWU8L2gxPg== original_provider: type: string description: Provider that sent the email, defaults to UNKNOWN enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE example: INFUSIONSOFT original_provider_id: type: string description: Provider id that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record. example: msg_abc123 provider_source_id: type: string description: The email address of the synced email account that generated this message. example: sync@company.com required: - sent_to_address EmailSentWithContent: type: object description: A sent email record with full content properties: id: type: string description: The unique identifier of the email example: 123 subject: type: string description: The subject of the email example: Welcome to our service headers: type: string description: Email headers example: 'X-Custom-Header: value' contact_id: type: string description: The contact ID who received the email example: 456 sent_to_address: type: string description: The email address the email was sent to example: john@example.com sent_to_cc_address_list: type: array description: List of CC email addresses example: - cc1@example.com - cc2@example.com items: type: string sent_to_bcc_address_list: type: array description: List of BCC email addresses example: - bcc@example.com items: type: string sent_from_address: type: string description: The sender's email address example: sender@company.com sent_from_reply_address: type: string description: The reply-to email address example: reply@company.com sent_time: type: string format: date-time description: When the email was sent, in ISO-8601 format example: '2024-05-21T14:30:00Z' received_time: type: string format: date-time description: When the email was received, in ISO-8601 format example: '2024-05-21T14:31:00Z' opened_time: type: string format: date-time description: When the email was opened, in ISO-8601 format example: '2024-05-21T15:00:00Z' clicked_time: type: string format: date-time description: When a link in the email was clicked, in ISO-8601 format example: '2024-05-21T15:05:00Z' original_provider_id: type: string description: The original provider's message ID example: msg_abc123 original_provider: type: string description: The email provider that sent the email enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE example: INFUSIONSOFT provider_source_id: type: string description: The synced email account that generated this message example: sync@company.com plain_content: type: string description: Base64 encoded plain text content example: V2VsY29tZSB0byBvdXIgc2VydmljZQ== html_content: type: string description: Base64 encoded HTML content example: PGgxPldlbGNvbWU8L2gxPg== DeleteEmailsRequest: type: object description: Request to delete multiple email records properties: email_ids: type: array description: List of email IDs to delete example: - '123' - '456' - '789' items: type: string required: - email_ids EmailSentCreateError: type: object description: Error that occurred when creating an email record properties: error_message: type: string description: Description of the error example: Contact not found email: $ref: '#/components/schemas/CreateEmailSentRequest' description: The email request that failed ListEmailsSentResponse: type: object description: Response containing a list of sent emails properties: emails: type: array description: List of sent emails items: $ref: '#/components/schemas/EmailSent' next_page_token: type: string EmailSent: type: object description: A sent email record properties: id: type: string description: The unique identifier of the email example: 123 subject: type: string description: The subject of the email example: Welcome to our service headers: type: string description: Email headers example: 'X-Custom-Header: value' contact_id: type: string description: The contact ID who received the email example: 456 sent_to_address: type: string description: The email address the email was sent to example: john@example.com sent_to_cc_address_list: type: array description: List of CC email addresses example: - cc1@example.com - cc2@example.com items: type: string sent_to_bcc_address_list: type: array description: List of BCC email addresses example: - bcc@example.com items: type: string sent_from_address: type: string description: The sender's email address example: sender@company.com sent_from_reply_address: type: string description: The reply-to email address example: reply@company.com sent_time: type: string format: date-time description: When the email was sent, in ISO-8601 format example: '2024-05-21T14:30:00Z' received_time: type: string format: date-time description: When the email was received, in ISO-8601 format example: '2024-05-21T14:31:00Z' opened_time: type: string format: date-time description: When the email was opened, in ISO-8601 format example: '2024-05-21T15:00:00Z' clicked_time: type: string format: date-time description: When a link in the email was clicked, in ISO-8601 format example: '2024-05-21T15:05:00Z' original_provider_id: type: string description: The original provider's message ID example: msg_abc123 original_provider: type: string description: The email provider that sent the email enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE example: INFUSIONSOFT provider_source_id: type: string description: The synced email account that generated this message example: sync@company.com EmailTemplateSummary: type: object description: Email template metadata returned by the list endpoint. Does not include body content; use GET /v2/emails/templates/{id} for full detail. properties: id: type: integer format: int64 description: The id of the template piece_title: type: string description: The title of the template example: Welcome Email categories: type: array description: The categories associated with the email example: - Marketing - Onboarding items: type: string from_address: type: string description: The from address of the email example: ~Owner.Email~ to_address: type: string description: The to address of the email example: ~Contact.Email~ cc_address: type: string description: The cc address of the email example: manager@company.com bcc_address: type: string description: The bcc address of the email example: archive@company.com subject: type: string description: The subject of the email example: Welcome ~Contact.FirstName~! content_type: type: string description: The content type of the email enum: - TEXT - HTML - MULTIPART example: HTML merge_context: type: string description: The merge context of the email example: Contact EmailSendRequest: type: object description: Request to send an email to contacts properties: contacts: type: array description: An array of Contact Ids to receive the email example: - '1' - '2' - '3' items: type: string subject: type: string description: The subject line of the email example: Welcome to our newsletter attachments: type: array description: Attachments to be sent with each copy of the email, maximum of 10 with size of 1MB each items: $ref: '#/components/schemas/EmailSendRequestAttachment' uniqueItems: true user_id: type: string description: The user ID to send the email on behalf of. Exactly one of user_id or from_address is required. example: 1 from_address: type: string description: The authenticated sender email address to send from. Exactly one of user_id or from_address is required. example: sales@example.com html_content: type: string description: The HTML-formatted content of the email, encoded in Base64 example: PGgxPldlbGNvbWU8L2gxPg== plain_content: type: string description: The plain-text content of the email, encoded in Base64 example: V2VsY29tZSB0byBvdXIgbmV3c2xldHRlcg== address_field: type: string description: Email field of each Contact record to address the email to, such as 'Email', 'EmailAddress2', 'EmailAddress3' or '_CustomFieldName', defaulting to the contact's primary email example: EMAIL1 required: - contacts - subject EmailSendRequestAttachment: type: object description: An attachment for an email properties: file_name: type: string description: 'The filename of the attached file, including extension. The extension determines whether the attachment is accepted; only the following extensions are supported (case-insensitive): - Image: bmp, cdr, fpx, gif, jif, jiff, jp2, jpeg, jpg, jpx, j2k, pcd, pdf, png, psd, pspimage, thm, tif, tiff, yuv - Text/Document: doc, docx, err, log, msg, notes, pages, pwd, rtf, text, txt, vcf, wp, wp4, wp5, wp7, wpd, wps, wsd, xdl - Audio: mid, mp3, mp4, wav, wma - Video: avi, divx, f4p, flv, gvi, hdmov, hdv, m2ts, m4v, mnv, mov, movie, mp4, mp4v, mpeg, mpeg1, mpeg4, mpg, qt, rm, vob, wm, wmv - Data: csv, ics, key, pps, ppt, pptx, xlr, xls, xlsx, xml, zip Requests including an attachment with any other extension return `400 Bad Request` with the message "attachment type is invalid". ' example: document.pdf file_data: type: string description: The content of the attachment, encoded in Base64 example: JVBERi0xLjQKJeLjz9MK... required: - file_data - file_name ListEmailTemplatesResponse: type: object properties: email_templates: type: array items: $ref: '#/components/schemas/EmailTemplateSummary' next_page_token: type: string 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' EmailSentQueryCommand: type: object properties: limit: type: integer format: int32 offset: type: integer format: int32 email: type: string ordered: type: boolean contact_id: type: integer format: int64 since_sent_date: type: string until_sent_date: type: string SetOfIds: type: object properties: ids: type: array items: type: integer format: int64 properties: empty: type: boolean uniqueItems: true required: - ids 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 EmailSendRequestAttachment_2: type: object properties: file_name: type: string description: The filename of the attached file, including extension file_data: type: string description: The content of the attachment, encoded in Base64 HttpStatusCode: type: object properties: error: type: boolean is1xxInformational: type: boolean is2xxSuccessful: type: boolean is3xxRedirection: type: boolean is4xxClientError: type: boolean is5xxServerError: type: boolean EmailSentCreateListResponse: type: object properties: emails: type: array items: $ref: '#/components/schemas/EmailSentCreate' errors: type: array items: $ref: '#/components/schemas/EmailSentCreateError_2' EmailSentQueryResultWithContent: type: object properties: id: type: integer format: int64 subject: type: string headers: type: string contact_id: type: integer format: int64 sent_to_address: type: string sent_to_cc_addresses: type: string sent_to_bcc_addresses: type: string sent_from_address: type: string sent_from_reply_address: type: string sent_date: type: string format: date-time received_date: type: string format: date-time opened_date: type: string format: date-time clicked_date: type: string format: date-time original_provider: type: string enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string plain_content: type: string description: Base64 encoded plain text html_content: type: string description: Base64 encoded HTML 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 EmailSentCreateError_2: type: object properties: error_message: type: string email: $ref: '#/components/schemas/EmailSentCreate' View: type: object properties: contentType: type: string EmailSentQueryResultList: type: object properties: emails: type: array items: $ref: '#/components/schemas/EmailSentQueryResult' count: type: integer format: int32 next: type: string previous: type: string EmailSendRequest_2: type: object properties: contacts: type: array description: An array of Contact Ids to receive the email items: type: integer format: int64 subject: type: string description: The subject line of the email attachments: type: array description: Attachments to be sent with each copy of the email, maximum of 10 with size of 1MB each items: $ref: '#/components/schemas/EmailSendRequestAttachment_2' uniqueItems: true user_id: type: integer format: int64 description: The infusionsoft user to send the email on behalf of html_content: type: string description: The HTML-formatted content of the email, encoded in Base64 plain_content: type: string description: The plain-text content of the email, encoded in Base64 address_field: type: string description: Email field of each Contact record to address the email to, such as 'Email', 'EmailAddress2', 'EmailAddress3' or '_CustomFieldName', defaulting to the contact's primary email required: - contacts - subject - user_id EmailSentQueryResult: type: object properties: id: type: integer format: int64 subject: type: string headers: type: string contact_id: type: integer format: int64 sent_to_address: type: string sent_to_cc_addresses: type: string sent_to_bcc_addresses: type: string sent_from_address: type: string sent_from_reply_address: type: string sent_date: type: string format: date-time received_date: type: string format: date-time opened_date: type: string format: date-time clicked_date: type: string format: date-time original_provider: type: string enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string EmailSentCreateListRequest: type: object description: Email records to persist, with content. properties: emails: type: array items: $ref: '#/components/schemas/EmailSentCreate' EmailSentCreate: type: object description: Email records to persist, with content. properties: id: type: integer format: int64 subject: type: string headers: type: string contact_id: type: integer format: int64 sent_to_address: type: string sent_to_cc_addresses: type: string sent_to_bcc_addresses: type: string sent_from_address: type: string sent_from_reply_address: type: string sent_date: type: string format: date-time received_date: type: string format: date-time opened_date: type: string format: date-time clicked_date: type: string format: date-time plain_content: type: string description: Base64 encoded text html_content: type: string description: Base64 encoded HTML original_provider: type: string description: Provider that sent the email case insensitive, must be in list [GOOGLE, INFUSIONSOFT]. If omitted gets mapped to UNKNOWN. enum: - UNKNOWN - INFUSIONSOFT - MICROSOFT - GOOGLE original_provider_id: type: string description: Provider id that sent the email, must be unique when combined with provider. If omitted a UUID without dashes is autogenerated for the record. provider_source_id: type: string description: The email address of the synced email account that generated this message. required: - sent_to_address EmailSendRequestAttachment_3: type: object properties: file_name: type: string description: The filename of the attached file, including extension file_data: type: string description: The content of the attachment, encoded in Base64 EmailSentCreateListResponse_2: type: object properties: emails: type: array items: $ref: '#/components/schemas/EmailSentCreate' errors: type: array items: $ref: '#/components/schemas/EmailSentCreateError_3' EmailSentCreateError_3: type: object properties: error_message: type: string email: $ref: '#/components/schemas/EmailSentCreate' EmailSendRequest_3: type: object properties: contacts: type: array description: An array of Contact Ids to receive the email items: type: integer format: int64 subject: type: string description: The subject line of the email attachments: type: array description: Attachments to be sent with each copy of the email, maximum of 10 with size of 1MB each items: $ref: '#/components/schemas/EmailSendRequestAttachment_3' uniqueItems: true user_id: type: integer format: int64 description: The infusionsoft user to send the email on behalf of html_content: type: string description: The HTML-formatted content of the email, encoded in Base64 plain_content: type: string description: The plain-text content of the email, encoded in Base64 address_field: type: string description: Email field of each Contact record to address the email to, such as 'Email', 'EmailAddress2', 'EmailAddress3' or '_CustomFieldName', defaulting to the contact's primary email required: - contacts - subject - user_id securitySchemes: oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://accounts.infusionsoft.com/app/oauth/authorize tokenUrl: https://api.infusionsoft.com/token scopes: {} x-refined-from: - infusionsoft-keap-sdk-v2-swagger-original.yml - infusionsoft-rest-v1-2025-11-05-openapi-original.json - infusionsoft-rest-v1-openapi-original.json - infusionsoft-rest-v1-openapi.json - infusionsoft-rest-v2-2025-11-05-openapi-original.json - infusionsoft-rest-v2-openapi-original.json - infusionsoft-rest-v2-openapi.json