openapi: 3.2.0 info: title: Infusionsoft Company API license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: '1.0' description: 'Operations tagged Company 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: Company paths: /rest/v2/companies: get: tags: - Company summary: List Companies description: Retrieves a list of all Companies.

operationId: listCompanies parameters: - name: fields in: query description: Comma-delimited list of Company properties to include in the response. (Fields such as `notes`, `fax_number`, `address`, `email_address`, `phone_number`, `update_time`, `create_time` and `custom_fields` aren't included, by default.) schema: type: array items: type: string explode: false - name: filter in: query description: "Filter to apply, allowed fields are:\n- (String) `company_name` - exact match on company name (equality only)\n- (String) `name` - company name with support for a wildcard at the end (e.g. `smith*`)\n- (String) `email` - exact match on email\n- (String) `city` - company city (Contact.City) with support for a prefix wildcard at the end (e.g. `Chan*`)\n- (String) `state` - company state/region (Contact.State) with support for a prefix wildcard at the end (e.g. `Ar*`)\n- (String) `since_time` - companies updated on or after this time\n- (String) `until_time` - companies updated on or before this time\n- (Number) `company_id` - supports comparison operators: `==`, `>`, `<`, `>=`, `<=`\n\nFor equality filters, use the `==` operator in encoded form `%3D%3D`:\n- `filter=company_name%3D%3DCompany`\n- `filter=email%3D%3Dtest@gmail.com`\n- `filter=city%3D%3DChandler`\n- `filter=since_time%3D%3D2025-04-16T20:33:02.321Z`\n- `filter=until_time%3D%3D2025-08-16T20:33:02.321Z`\n\nFor wildcard name/city/state search (prefix only, case-insensitive):\n- `filter=name%3D%3DAcme%2A` (starts with \"Acme\")\n- `filter=city%3D%3DChan%2A` (city starts with \"Chan\")\n- `filter=city%3D%3DChandler%3Bstate%3D%3DArizona` (combined city + state filter)\n\nFor company_id comparison:\n- `filter=company_id%3E5` (company_id > 5)\n- `filter=company_id%3E%3D10` (company_id >= 10)\n\nCustom fields can be filtered by their field name (case-insensitive). A standard\nfield above takes precedence over a custom field with the same name. The supported\noperators depend on the custom field's type:\n- Text-like fields (text, text area, name, email, phone, website, social security\n number) and single-value choice fields with text options (dropdown, radio,\n state): `==` only, with optional trailing wildcard (e.g. `Industry%3D%3DTech%2A`)\n- Yes/No and drilldown fields: `==` only\n- Numeric fields (whole number, decimal, currency, percent, year, month, day of\n week, user): `==`, `>`, `<`, `>=`, `<=`\n- Date fields: `==`, `>`, `<`, `>=`, `<=` using full ISO 8601 (same as `since_time`/`until_time`)\n- Multi-select fields: `==` matches records that contain the given option\nExamples (for a custom field named `Height`):\n- `filter=Height%3D%3DTall`\n- `filter=Height%3E100`\nCustom field filtering on non-indexed fields is supported but may be slower.\n" required: false schema: type: string - name: order_by in: query description: 'Attribute and direction to order items. One of the following fields: - `id` - `create_time` - `name` - `email` 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/ListCompaniesResponse' '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: - Company summary: Create a Company description: Creates a new Company.`country_code` is required if `region` is specified. operationId: createCompany requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCompanyRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Company' '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/companies/{company_id}/tags/{tag_id}: post: tags: - Company summary: Add Tag to Company description: Applies a Tag to a Company. operationId: addTagToCompany parameters: - name: company_id in: path required: true schema: type: string - name: tag_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: [] delete: tags: - Company summary: Remove Tag description: Remove a Tag from a Company. operationId: removeTagFromCompany parameters: - name: company_id in: path required: true schema: type: string - name: tag_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/companies/model/customFields: post: tags: - Company summary: Create a Company Custom Field description: Creates a custom field of the specified type and options to the Company object operationId: createCompanyCustomField requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCustomFieldRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CustomFieldMetaData' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/companies/model/customFields/tabs: get: tags: - Company summary: List Company Custom Field Tabs description: Retrieves a list of custom field tabs for the Company record type. operationId: listCompanyCustomFieldTabs responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListCustomFieldTabsResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] post: tags: - Company summary: Create a Company Custom Field Tab description: Creates a new custom field tab for the Company record type. operationId: createCompanyCustomFieldTab requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCustomFieldTabRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CustomFieldTab' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/companies/model/customFields/groups: get: tags: - Company summary: List Company Custom Field Groups description: Retrieves a list of custom field groups for the Company record type. Optionally filter by tab_id to scope to a specific tab. operationId: listCompanyCustomFieldGroups parameters: - name: tab_id in: query description: Optional tab id to scope groups to a single tab required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ListCustomFieldGroupsResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] post: tags: - Company summary: Create a Company Custom Field Group description: Creates a new custom field group for the Company record type. If `tab_id` is omitted, the group is added to the default 'Custom Fields' tab. operationId: createCompanyCustomFieldGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCustomFieldGroupRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CustomFieldGroup' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/companies/{company_id}: get: tags: - Company summary: Retrieve a Company description: Retrieves a single Company operationId: getCompany parameters: - name: company_id in: path required: true schema: type: string - name: fields in: query description: 'Comma-delimited list of Company properties to include in the response. (Available fields are: `address`, `custom_fields`, `email_address`, `fax_number`, `phone_number`, `website`, `notes`)' schema: type: array items: type: string explode: false responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Company' '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: - Company summary: Delete a Company description: Deletes the specified Company operationId: deleteCompany parameters: - name: company_id in: path required: true schema: type: string responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] patch: tags: - Company summary: Update a Company description: Updates a Company with the values provided in the request operationId: updateCompany parameters: - name: company_id in: path required: true schema: type: string - name: update_mask in: query description: An optional list of properties to be updated. If set, only the provided properties will be updated and others will be skipped. required: false schema: type: array items: type: string enum: - id - company_name - address - phone_number - fax_number - email_address - notes - website - custom_fields - create_time - update_time - anniversary_date - assistant_name - assistant_phone - billing_information - birth_date - contact_type - first_name - job_title - last_name - middle_name - preferred_name - owner_id - referral_code - spouse_name - suffix - title - account_id - created_by - groups - last_updated_by uniqueItems: true requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCompanyRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Company' '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/companies/model/customFields/{custom_field_id}: delete: tags: - Company summary: Delete a Company Custom Field description: Deletes a custom field from the company model operationId: deleteCompanyCustomField parameters: - name: custom_field_id in: path required: true schema: type: string responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] patch: tags: - Company summary: Update a Company Custom Field description: Updates a custom field of the specified type and options to the Company object operationId: updateCompanyCustomField parameters: - name: custom_field_id in: path required: true schema: type: string - name: update_mask in: query description: An optional list of properties to be updated. If set, only the provided properties will be updated and others will be skipped. required: false schema: type: array items: type: string enum: - group_id - label - options uniqueItems: true requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCustomFieldMetaDataRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CustomFieldMetaData' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/companies/model/customFields/tabs/{tab_id}: get: tags: - Company summary: Retrieve a Company Custom Field Tab description: Retrieves a single custom field tab by id for the Company record type. operationId: getCompanyCustomFieldTab parameters: - name: tab_id in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CustomFieldTab' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] delete: tags: - Company summary: Delete a Company Custom Field Tab description: Deletes a custom field tab. Returns 409 Conflict if the tab still contains groups. operationId: deleteCompanyCustomFieldTab parameters: - name: tab_id in: path required: true schema: type: string responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] patch: tags: - Company summary: Update a Company Custom Field Tab description: Updates an existing custom field tab. Only fields listed in `update_mask` are applied. operationId: updateCompanyCustomFieldTab parameters: - name: tab_id in: path required: true schema: type: string - name: update_mask in: query description: Comma-separated list of fields to update required: true schema: type: array items: type: string enum: - name - order uniqueItems: true requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCustomFieldTabRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CustomFieldTab' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/companies/model/customFields/groups/{group_id}: get: tags: - Company summary: Retrieve a Company Custom Field Group description: Retrieves a single custom field group by id for the Company record type. operationId: getCompanyCustomFieldGroup parameters: - name: group_id in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CustomFieldGroup' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] delete: tags: - Company summary: Delete a Company Custom Field Group description: Deletes a custom field group. Returns 409 Conflict if the group still contains custom fields. operationId: deleteCompanyCustomFieldGroup parameters: - name: group_id in: path required: true schema: type: string responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] patch: tags: - Company summary: Update a Company Custom Field Group description: Updates an existing custom field group. Only fields listed in `update_mask` are applied. operationId: updateCompanyCustomFieldGroup parameters: - name: group_id in: path required: true schema: type: string - name: update_mask in: query description: Comma-separated list of fields to update required: true schema: type: array items: type: string enum: - name - tab_id - order uniqueItems: true requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCustomFieldGroupRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CustomFieldGroup' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /rest/v2/companies/{company_id}/tags: get: tags: - Company summary: List Applied Tags description: Retrieves a list of tags applied to the specified Company operationId: listTagsForCompany parameters: - name: company_id in: path description: Company identifier required: true schema: type: string - name: filter in: query description: 'Filter to apply, allowed fields are: - (String) `name` - (String) `description` - (String) `category_id` (use `category_id==NONE` to filter tags not assigned to any category) - (String) `since_applied_time` - (String) `until_applied_time` - (String) `since_create_time` - (String) `until_create_time` - (String) `since_update_time` - (String) `until_update_time` You will need to apply the `==` operator to check the equality of one of the filters with your searched word, in the encoded form `%3D%3D`. For the filters listed above, here are some examples: - `filter=name%3D%3DCustomer` - `filter=category_id%3D%3D123` - `filter=category_id%3D%3DNONE` - `filter=since_applied_time%3D%3D2025-04-16T20:33:02.321Z;until_applied_time%3D%3D2025-08-16T20:33:02.321Z;` ' 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: - `name` - `create_time` - `update_time` - `applied_time` - `category_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/ListCompanyTagsResponse' '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/companies/model: get: tags: - Company summary: Retrieve Company Custom Field Model description: Get the custom fields for the Company object operationId: retrieveCompanyCustomFieldModel responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ObjectModel' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Method Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' security: - oauth2: [] servers: - url: https://api.keap.com/crm /v1/companies: get: tags: - Company summary: List Companies description: Retrieves a list of all companies operationId: listCompaniesUsingGET parameters: - name: company_name in: query description: Optional company name 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: optional_properties in: query description: Comma-delimited list of Company properties to include in the response. (Fields such as `notes`, `fax_number` and `custom_fields` aren't included, by default.) style: form explode: true schema: type: array items: type: string - name: order in: query description: Attribute to order items by schema: type: string enum: - id - date_created - name - email - name: order_direction in: query description: How to order the data i.e. ascending (A-Z) or descending (Z-A) schema: type: string enum: - ASCENDING - DESCENDING responses: '200': description: OK content: application/json: schema: title: CompanyList type: object properties: companies: type: array items: title: Company type: object properties: address: title: CompanyAddress type: object properties: country_code: type: string line1: type: string line2: type: string locality: type: string region: type: string zip_code: type: string zip_four: type: string company_name: type: string custom_fields: type: array items: title: CustomFieldValue type: object properties: content: type: object id: type: integer format: int64 email_address: type: string email_opted_in: type: boolean email_status: type: string enum: - UnengagedMarketable - SingleOptIn - DoubleOptin - Confirmed - UnengagedNonMarketable - NonMarketable - Lockdown - Bounce - HardBounce - Manual - Admin - System - ListUnsubscribe - Feedback - Spam - Invalid - Deactivated fax_number: title: CompanyFaxNumber type: object properties: number: type: string type: type: string id: type: integer format: int64 notes: type: string phone_number: title: CompanyPhoneNumber type: object properties: extension: type: string number: type: string type: type: string website: type: string count: type: integer format: int32 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: - Company summary: Create a Company description: 'Creates a new company as the authenticated user. NB: Company must contain at least the company name. The `country_code` is required if `region` is specified. You may opt-in or mark a Company as _Marketable_ by including the following field in the request JSON with an opt-in reason. (This field is also shown in the complete request body sample.) The reason you provide here will help with compliance. Example reasons: "Customer opted-in through webform", "Company gave explicit permission." ```json "opt_in_reason": "your reason for opt-in" ``` Note that the email address status will only be updated to unconfirmed (marketable) for email addresses that are currently in the following states: Unengaged Marketable Unengaged Non-Marketable Non-Marketable Opt-Out: Manual All other existing statuses e.g. List Unsubscribe, Opt-Out System etc will remain non-marketable and in their existing state.' operationId: createCompanyUsingPOST requestBody: description: company content: application/json: schema: title: CreateOrPatchCompany required: - company_name type: object properties: address: title: CompanyAddress type: object properties: country_code: type: string line1: type: string line2: type: string locality: type: string region: type: string zip_code: type: string zip_four: type: string company_name: type: string custom_fields: type: array items: title: CustomFieldValue type: object properties: content: type: object id: type: integer format: int64 email_address: type: string fax_number: title: CompanyFaxNumber type: object properties: number: type: string type: type: string notes: type: string opt_in_reason: type: string phone_number: title: CompanyPhoneNumber type: object properties: extension: type: string number: type: string type: type: string website: type: string required: false responses: '201': description: Created content: application/json: schema: title: Company type: object properties: address: title: CompanyAddress type: object properties: country_code: type: string line1: type: string line2: type: string locality: type: string region: type: string zip_code: type: string zip_four: type: string company_name: type: string custom_fields: type: array items: title: CustomFieldValue type: object properties: content: type: object id: type: integer format: int64 email_address: type: string email_opted_in: type: boolean email_status: type: string enum: - UnengagedMarketable - SingleOptIn - DoubleOptin - Confirmed - UnengagedNonMarketable - NonMarketable - Lockdown - Bounce - HardBounce - Manual - Admin - System - ListUnsubscribe - Feedback - Spam - Invalid - Deactivated fax_number: title: CompanyFaxNumber type: object properties: number: type: string type: type: string id: type: integer format: int64 notes: type: string phone_number: title: CompanyPhoneNumber type: object properties: extension: type: string number: type: string type: type: string website: 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: company servers: - url: https://api.infusionsoft.com/crm/rest /v1/companies/model: get: tags: - Company summary: Retrieve Company Model description: Get the custom fields and optional properties for the Company object operationId: retrieveCompanyModelUsingGET responses: '200': description: OK content: application/json: schema: title: ObjectModel type: object properties: custom_fields: type: array items: title: CustomFieldMetaData type: object properties: default_value: type: string field_name: type: string field_type: type: string enum: - Currency - Date - DateTime - DayOfWeek - Drilldown - Email - Month - ListBox - Name - WholeNumber - DecimalNumber - Percent - PhoneNumber - Radio - Dropdown - SocialSecurityNumber - State - Text - TextArea - User - UserListBox - Website - Year - YesNo id: type: integer format: int64 label: type: string options: type: array items: title: CustomFieldOption type: object properties: id: type: string label: type: string options: type: array items: $ref: '#/components/schemas/CustomFieldOption_2' record_type: type: string enum: - CONTACT - REFERRAL_PARTNER - OPPORTUNITY - TASK_NOTE_APPOINTMENT - COMPANY - ORDER - SUBSCRIPTION optional_properties: type: array items: type: string '401': description: Unauthorized content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '403': description: Forbidden content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '404': description: Not Found content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '500': description: Internal Server Error content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' deprecated: false servers: - url: https://api.infusionsoft.com/crm/rest /v1/companies/{companyId}: get: tags: - Company summary: Retrieve a Company description: Retrieves a single company operationId: getCompanyUsingGET parameters: - name: companyId in: path description: companyId required: true schema: type: integer format: int64 - name: optional_properties in: query description: Comma-delimited list of Company properties to include in the response. (Fields such as `notes`, `fax_number` and `custom_fields` aren't included, by default.) style: form explode: true schema: type: array items: type: string responses: '200': description: OK content: application/json: schema: title: Company type: object properties: address: title: CompanyAddress type: object properties: country_code: type: string line1: type: string line2: type: string locality: type: string region: type: string zip_code: type: string zip_four: type: string company_name: type: string custom_fields: type: array items: title: CustomFieldValue type: object properties: content: type: object id: type: integer format: int64 email_address: type: string email_opted_in: type: boolean email_status: type: string enum: - UnengagedMarketable - SingleOptIn - DoubleOptin - Confirmed - UnengagedNonMarketable - NonMarketable - Lockdown - Bounce - HardBounce - Manual - Admin - System - ListUnsubscribe - Feedback - Spam - Invalid - Deactivated fax_number: title: CompanyFaxNumber type: object properties: number: type: string type: type: string id: type: integer format: int64 notes: type: string phone_number: title: CompanyPhoneNumber type: object properties: extension: type: string number: type: string type: type: string website: 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 patch: tags: - Company summary: Update a Company description: 'Updates a company with only the values provided in the request. You may opt-in or mark a Company as _Marketable_ by including the following field in the request JSON with an opt-in reason. (This field is also shown in the complete request body sample.) The reason you provide here will help with compliance. Example reasons: "Customer opted-in through webform", "Company gave explicit permission." ```json "opt_in_reason": "your reason for opt-in" ``` Note that the email address status will only be updated to unconfirmed (marketable) for email addresses that are currently in the following states: Unengaged Marketable Unengaged Non-Marketable Non-Marketable Opt-Out: Manual All other existing statuses e.g. List Unsubscribe, Opt-Out System etc will remain non-marketable and in their existing state.' operationId: updateCompanyUsingPATCH parameters: - name: companyId in: path description: companyId required: true schema: type: integer format: int64 requestBody: description: company content: application/json: schema: title: CreateOrPatchCompany required: - company_name type: object properties: address: title: CompanyAddress type: object properties: country_code: type: string line1: type: string line2: type: string locality: type: string region: type: string zip_code: type: string zip_four: type: string company_name: type: string custom_fields: type: array items: title: CustomFieldValue type: object properties: content: type: object id: type: integer format: int64 email_address: type: string fax_number: title: CompanyFaxNumber type: object properties: number: type: string type: type: string notes: type: string opt_in_reason: type: string phone_number: title: CompanyPhoneNumber type: object properties: extension: type: string number: type: string type: type: string website: type: string required: false responses: '200': description: OK content: application/json: schema: title: Company type: object properties: address: title: CompanyAddress type: object properties: country_code: type: string line1: type: string line2: type: string locality: type: string region: type: string zip_code: type: string zip_four: type: string company_name: type: string custom_fields: type: array items: title: CustomFieldValue type: object properties: content: type: object id: type: integer format: int64 email_address: type: string email_opted_in: type: boolean email_status: type: string enum: - UnengagedMarketable - SingleOptIn - DoubleOptin - Confirmed - UnengagedNonMarketable - NonMarketable - Lockdown - Bounce - HardBounce - Manual - Admin - System - ListUnsubscribe - Feedback - Spam - Invalid - Deactivated fax_number: title: CompanyFaxNumber type: object properties: number: type: string type: type: string id: type: integer format: int64 notes: type: string phone_number: title: CompanyPhoneNumber type: object properties: extension: type: string number: type: string type: type: string website: 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 x-codegen-request-body-name: company servers: - url: https://api.infusionsoft.com/crm/rest /rest/v1/companies: get: tags: - Company summary: List Companies description: Retrieves a list of all companies operationId: listCompanies parameters: - name: companyQueryCommand in: query required: true schema: $ref: '#/components/schemas/CompanyQueryCommand' - name: optional_properties in: query description: Comma-delimited list of Company properties to include in the response. (Fields such as `notes`, `fax_number` and `custom_fields` aren't included, by default.) schema: type: string 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/CompanyList' security: - oauth2: [] post: tags: - Company summary: Create a Company description: 'Creates a new company as the authenticated user. NB: Company must contain at least the company name. The `country_code` is required if `region` is specified. You may opt-in or mark a Company as _Marketable_ by including the following field in the request JSON with an opt-in reason. (This field is also shown in the complete request body sample.) The reason you provide here will help with compliance. Example reasons: "Customer opted-in through webform", "Company gave explicit permission." ```json "opt_in_reason": "your reason for opt-in" ``` Note that the email address status will only be updated to unconfirmed (marketable) for email addresses that are currently in the following states: Unengaged Marketable Unengaged Non-Marketable Non-Marketable Opt-Out: Manual All other existing statuses e.g. List Unsubscribe, Opt-Out System etc will remain non-marketable and in their existing state.' operationId: createCompany requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOrPatchCompany' 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/Company_2' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /rest/v1/companies/{companyId}: get: tags: - Company summary: Retrieve a Company description: Retrieves a single company operationId: getCompany parameters: - name: companyId in: path required: true schema: type: integer format: int64 - name: optional_properties in: query description: Comma-delimited list of Company properties to include in the response. (Fields such as `notes`, `fax_number` and `custom_fields` aren't included, by default.) schema: type: string 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/Company_2' security: - oauth2: [] patch: tags: - Company summary: Update a Company description: 'Updates a company with only the values provided in the request. You may opt-in or mark a Company as _Marketable_ by including the following field in the request JSON with an opt-in reason. (This field is also shown in the complete request body sample.) The reason you provide here will help with compliance. Example reasons: "Customer opted-in through webform", "Company gave explicit permission." ```json "opt_in_reason": "your reason for opt-in" ``` Note that the email address status will only be updated to unconfirmed (marketable) for email addresses that are currently in the following states: Unengaged Marketable Unengaged Non-Marketable Non-Marketable Opt-Out: Manual All other existing statuses e.g. List Unsubscribe, Opt-Out System etc will remain non-marketable and in their existing state.' operationId: updateCompany parameters: - name: companyId in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOrPatchCompany' required: true responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Company_2' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /rest/v1/company/{companyId}: patch: tags: - Company summary: Update a Company description: 'Updates a company with only the values provided in the request. You may opt-in or mark a Company as _Marketable_ by including the following field in the request JSON with an opt-in reason. (This field is also shown in the complete request body sample.) The reason you provide here will help with compliance. Example reasons: "Customer opted-in through webform", "Company gave explicit permission." ```json "opt_in_reason": "your reason for opt-in" ``` Note that the email address status will only be updated to unconfirmed (marketable) for email addresses that are currently in the following states: Unengaged Marketable Unengaged Non-Marketable Non-Marketable Opt-Out: Manual All other existing statuses e.g. List Unsubscribe, Opt-Out System etc will remain non-marketable and in their existing state.' operationId: updateCompany_1 parameters: - name: companyId in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateOrPatchCompany' required: true responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Company_2' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /rest/v1/companies/model: get: tags: - Company summary: Retrieve Company Model description: Get the custom fields and optional properties for the Company object operationId: retrieveCompanyModel responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '405': description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '406': description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '412': description: Precondition Failed content: application/json: schema: $ref: '#/components/schemas/ModelAndView' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ObjectModel_2' security: - oauth2: [] servers: - url: https://api.infusionsoft.com/crm /v2/companies: get: tags: - Company summary: List Companies description: 'Retrieves a list of all Companies.

If the feature flag is enabled, the endpoint returns the legacy non-paginated list of all companies.
If the flag is disabled, it returns a paginated list using the v2-compliant implementation.

Deprecated as of v2: The legacy behavior will be removed after the transition period.' operationId: listCompaniesUsingGET_1 parameters: - name: fields in: query description: Comma-delimited list of Company properties to include in the response. (Fields such as `notes`, `fax_number`, `email_address`, `phone_number`, `update_time`, `create_time` and `custom_fields` aren't included, by default.) style: form explode: true schema: type: array items: type: string - name: filter in: query description: 'Filter to apply, allowed fields are: - (String) `company_name` - (String) `email` - (String) `since_time` - (String) `until_time` You will need to apply the `==` operator to check the equality of one of the filters with your searched word, in the encoded form `%3D%3D`. For the filters listed above, here are some examples: - `filter=company_name%3D%3DCompany` - `filter=email%3D%3Dtest@gmail.com` - `filter=since_time%3D%3D2025-04-16T20:33:02.321Z;` - `filter=until_time%3D%3D2025-08-16T20:33:02.321Z;` ' schema: type: string - name: order_by in: query description: 'Attribute and direction to order items. One of the following fields: - `id` - `create_time` - `name` - `email` 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: ListCompaniesResponse type: object properties: companies: type: array items: title: Company type: object properties: company_name: type: string email_address: title: EmailAddress type: object properties: email: type: string email_opt_status: type: string enum: - UNENGAGED_MARKETABLE - SINGLE_OPT_IN - DOUBLE_OPT_IN - CONFIRMED - UNENGAGED_NON_MARKETABLE - NON_MARKETABLE - LOCKDOWN - BOUNCE - HARD_BOUNCE - MANUAL - ADMIN - SYSTEM - LIST_UNSUBSCRIBE - FEEDBACK - SPAM - INVALID - DEACTIVATED field: type: string enum: - EMAIL_FIELD_UNSPECIFIED - EMAIL1 - EMAIL2 - EMAIL3 is_opt_in: type: boolean opt_in_reason: type: string id: 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: - Company summary: Create a Company description: Creates a new Company.`country_code` is required if `region` is specified. operationId: createCompanyUsingPOST_1 requestBody: description: company content: application/json: schema: title: CreateCompanyRequest required: - company_name type: object properties: address: title: Address type: object properties: country: type: string description: The long-name descriptive version of the Country Code example: United States of America country_code: type: string description: An ISO 3166-2 Country Code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) example: USA field: type: string enum: - ADDRESS_FIELD_UNSPECIFIED - BILLING - SHIPPING - OTHER line1: type: string line2: type: string locality: type: string description: The municipality to which the address belongs example: Phoenix postal_code: type: string region: type: string description: The long-name descriptive version of the Region Code example: Arizona region_code: type: string description: An ISO 3166-2 Province Code, such as one of the US States (https://en.wikipedia.org/wiki/ISO_3166-2:US) example: US-AZ zip_code: type: string zip_four: type: string company_name: type: string custom_fields: type: array items: title: CustomFieldValue type: object properties: content: type: object id: type: string email_address: title: EmailAddress type: object properties: email: type: string email_opt_status: type: string enum: - UNENGAGED_MARKETABLE - SINGLE_OPT_IN - DOUBLE_OPT_IN - CONFIRMED - UNENGAGED_NON_MARKETABLE - NON_MARKETABLE - LOCKDOWN - BOUNCE - HARD_BOUNCE - MANUAL - ADMIN - SYSTEM - LIST_UNSUBSCRIBE - FEEDBACK - SPAM - INVALID - DEACTIVATED field: type: string enum: - EMAIL_FIELD_UNSPECIFIED - EMAIL1 - EMAIL2 - EMAIL3 is_opt_in: type: boolean opt_in_reason: type: string fax_number: title: FaxNumber type: object properties: field: type: string enum: - FAX_NUMBER_FIELD_UNSPECIFIED - FAX1 - FAX2 number: type: string type: type: string notes: type: string phone_number: title: PhoneNumber type: object properties: extension: type: string field: type: string enum: - PHONE_NUMBER_FIELD_UNSPECIFIED - PHONE1 - PHONE2 - PHONE3 - PHONE4 - PHONE5 number: type: string number_e164: type: string type: type: string website: type: string required: false responses: '201': description: Created content: application/json: schema: title: Company type: object properties: company_name: type: string email_address: title: EmailAddress type: object properties: email: type: string email_opt_status: type: string enum: - UNENGAGED_MARKETABLE - SINGLE_OPT_IN - DOUBLE_OPT_IN - CONFIRMED - UNENGAGED_NON_MARKETABLE - NON_MARKETABLE - LOCKDOWN - BOUNCE - HARD_BOUNCE - MANUAL - ADMIN - SYSTEM - LIST_UNSUBSCRIBE - FEEDBACK - SPAM - INVALID - DEACTIVATED field: type: string enum: - EMAIL_FIELD_UNSPECIFIED - EMAIL1 - EMAIL2 - EMAIL3 is_opt_in: type: boolean opt_in_reason: type: string id: type: string '401': description: Unauthorized content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '403': description: Forbidden content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '500': description: Internal Server Error content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' deprecated: false x-codegen-request-body-name: company servers: - url: https://api.infusionsoft.com/crm/rest /v2/companies/{company_id}: get: tags: - Company summary: Retrieve a Company description: Retrieves a single Company operationId: getCompanyUsingGET_1 parameters: - name: company_id in: path description: company_id required: true schema: type: string - name: fields in: query description: 'Comma-delimited list of Company properties to include in the response. (Available fields are: `company_name`, `address`, `custom_fields`, `email_address`, `fax_number`, `phone_number`, `website`, `notes`)' style: form explode: true schema: type: array items: type: string responses: '200': description: OK content: application/json: schema: title: Company type: object properties: company_name: type: string email_address: title: EmailAddress type: object properties: email: type: string email_opt_status: type: string enum: - UNENGAGED_MARKETABLE - SINGLE_OPT_IN - DOUBLE_OPT_IN - CONFIRMED - UNENGAGED_NON_MARKETABLE - NON_MARKETABLE - LOCKDOWN - BOUNCE - HARD_BOUNCE - MANUAL - ADMIN - SYSTEM - LIST_UNSUBSCRIBE - FEEDBACK - SPAM - INVALID - DEACTIVATED field: type: string enum: - EMAIL_FIELD_UNSPECIFIED - EMAIL1 - EMAIL2 - EMAIL3 is_opt_in: type: boolean opt_in_reason: type: string id: type: string '401': description: Unauthorized content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '403': description: Forbidden content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '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: - Company summary: Delete a Company description: Deletes the specified Company operationId: deleteCompanyUsingDELETE parameters: - name: company_id in: path description: company_id required: true schema: type: string responses: '204': description: No Content '401': description: Unauthorized content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '403': description: Forbidden content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '404': description: Not Found content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '500': description: Internal Server Error content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' deprecated: false patch: tags: - Company summary: Update a Company description: Updates a Company with the values provided in the request operationId: updateCompanyUsingPATCH_1 parameters: - name: company_id in: path description: company_id required: true schema: type: string - name: update_mask in: query description: An optional list of properties to be updated. If set, only the provided properties will be updated and others will be skipped. allowEmptyValue: false style: form explode: true schema: type: array items: type: string enum: - id - company_name - address - phone_number - fax_number - email_address - notes - website - custom_fields - create_time - update_time requestBody: description: company content: application/json: schema: title: UpdateCompanyRequest type: object properties: address: title: Address type: object properties: country: type: string description: The long-name descriptive version of the Country Code example: United States of America country_code: type: string description: An ISO 3166-2 Country Code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) example: USA field: type: string enum: - ADDRESS_FIELD_UNSPECIFIED - BILLING - SHIPPING - OTHER line1: type: string line2: type: string locality: type: string description: The municipality to which the address belongs example: Phoenix postal_code: type: string region: type: string description: The long-name descriptive version of the Region Code example: Arizona region_code: type: string description: An ISO 3166-2 Province Code, such as one of the US States (https://en.wikipedia.org/wiki/ISO_3166-2:US) example: US-AZ zip_code: type: string zip_four: type: string company_name: type: string custom_fields: type: array items: title: CustomFieldValue type: object properties: content: type: object id: type: string email_address: title: EmailAddress type: object properties: email: type: string email_opt_status: type: string enum: - UNENGAGED_MARKETABLE - SINGLE_OPT_IN - DOUBLE_OPT_IN - CONFIRMED - UNENGAGED_NON_MARKETABLE - NON_MARKETABLE - LOCKDOWN - BOUNCE - HARD_BOUNCE - MANUAL - ADMIN - SYSTEM - LIST_UNSUBSCRIBE - FEEDBACK - SPAM - INVALID - DEACTIVATED field: type: string enum: - EMAIL_FIELD_UNSPECIFIED - EMAIL1 - EMAIL2 - EMAIL3 is_opt_in: type: boolean opt_in_reason: type: string fax_number: title: FaxNumber type: object properties: field: type: string enum: - FAX_NUMBER_FIELD_UNSPECIFIED - FAX1 - FAX2 number: type: string type: type: string notes: type: string phone_number: title: PhoneNumber type: object properties: extension: type: string field: type: string enum: - PHONE_NUMBER_FIELD_UNSPECIFIED - PHONE1 - PHONE2 - PHONE3 - PHONE4 - PHONE5 number: type: string number_e164: type: string type: type: string website: type: string required: false responses: '200': description: OK content: application/json: schema: title: Company type: object properties: company_name: type: string email_address: title: EmailAddress type: object properties: email: type: string email_opt_status: type: string enum: - UNENGAGED_MARKETABLE - SINGLE_OPT_IN - DOUBLE_OPT_IN - CONFIRMED - UNENGAGED_NON_MARKETABLE - NON_MARKETABLE - LOCKDOWN - BOUNCE - HARD_BOUNCE - MANUAL - ADMIN - SYSTEM - LIST_UNSUBSCRIBE - FEEDBACK - SPAM - INVALID - DEACTIVATED field: type: string enum: - EMAIL_FIELD_UNSPECIFIED - EMAIL1 - EMAIL2 - EMAIL3 is_opt_in: type: boolean opt_in_reason: type: string id: type: string '401': description: Unauthorized content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '403': description: Forbidden content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '404': description: Not Found content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' '500': description: Internal Server Error content: application/json: schema: title: Error type: object properties: cause: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' deprecated: false x-codegen-request-body-name: company servers: - url: https://api.infusionsoft.com/crm/rest components: schemas: Address: type: object properties: country: type: string deprecated: true description: Deprecated. The long-name descriptive version of the Country Code. Please use 'country_code' for POST/PATCH operations. Maximum length is 100 characters. example: United States of America line1: type: string description: Street address line 1. Maximum length is 75 characters for the BILLING address and 100 characters for the SHIPPING and OTHER addresses. example: 123 line2: type: string description: Street address line 2. Maximum length is 75 characters for the BILLING address and 100 characters for the SHIPPING and OTHER addresses. example: Suite 100 locality: type: string description: The municipality to which the address belongs. Maximum length is 50 characters for the BILLING address and 100 characters for the SHIPPING and OTHER addresses. example: Phoenix region: type: string deprecated: true description: The long-name descriptive version of the Region Code. Please use 'region_code' for POST/PATCH operations. Maximum length is 50 characters. example: Arizona field: type: string description: Address type field enum: - ADDRESS_FIELD_UNSPECIFIED - BILLING - SHIPPING - OTHER example: BILLING country_code: type: string description: An ISO 3166-2 Country Code (https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) example: USA postal_code: type: string description: Postal or ZIP code. Maximum length is 15 characters for the BILLING and OTHER addresses and 20 characters for the SHIPPING address. example: 85001 region_code: type: string description: An ISO 3166-2 Province Code, such as one of the US States (https://en.wikipedia.org/wiki/ISO_3166-2:US) example: US-AZ zip_code: type: string description: ZIP code (US). Maximum length is 15 characters for the BILLING and OTHER addresses and 20 characters for the SHIPPING address. example: 85001 zip_four: type: string description: ZIP+4 extension. Maximum length is 10 characters. example: 1234 UpdateCustomFieldTabRequest: type: object properties: name: type: string order: type: integer format: int32 CreateCustomFieldGroupRequest: type: object properties: name: type: string tab_id: type: string CustomFieldGroup: type: object properties: id: type: string name: type: string order: type: integer format: int32 tab_id: type: string record_type: type: string enum: - CONTACT - REFERRAL_PARTNER - OPPORTUNITY - TASK_NOTE_APPOINTMENT - COMPANY - ORDER - SUBSCRIPTION CustomFieldOption: type: object properties: id: type: string label: type: string ListCustomFieldTabsResponse: type: object properties: tabs: type: array items: $ref: '#/components/schemas/CustomFieldTab' EmailAddress: type: object properties: email: type: string description: Email address. Maximum length is 75 characters for EMAIL1 and 100 characters for EMAIL2 and EMAIL3. example: john.smith@example.com field: type: string description: Email address slot enum: - EMAIL_FIELD_UNSPECIFIED - EMAIL1 - EMAIL2 - EMAIL3 example: EMAIL1 opt_in_reason: type: string description: Reason for opting in example: Subscribed via website form is_opt_in: type: boolean email_opt_status: type: string enum: - UNENGAGED_MARKETABLE - SINGLE_OPT_IN - DOUBLE_OPT_IN - CONFIRMED - UNENGAGED_NON_MARKETABLE - NON_MARKETABLE - LOCKDOWN - BOUNCE - HARD_BOUNCE - MANUAL - ADMIN - SYSTEM - LIST_UNSUBSCRIBE - FEEDBACK - SPAM - INVALID - DEACTIVATED ListCompanyTagsResponse: type: object description: List of tags applied to a company properties: tags: type: array items: $ref: '#/components/schemas/AppliedTag' next_page_token: type: string CustomFieldTab: type: object properties: id: type: string description: The unique identifier of the custom field tab example: 123 name: type: string description: The name of the custom field tab example: Personal Info order: type: integer format: int32 description: The display order of the tab example: 1 record_type: type: string description: The record type this tab belongs to (e.g., CONTACT, COMPANY, OPPORTUNITY, REFERRAL_PARTNER, ORDER, SUBSCRIPTION, TASK_NOTE_APPOINTMENT) enum: - CONTACT - REFERRAL_PARTNER - OPPORTUNITY - TASK_NOTE_APPOINTMENT - COMPANY - ORDER - SUBSCRIPTION example: CONTACT UpdateCustomFieldGroupRequest: type: object properties: name: type: string order: type: integer format: int32 tab_id: type: string Error: type: object properties: code: type: integer format: int32 message: type: string status: type: string details: type: array items: $ref: '#/components/schemas/ErrorDetails' CustomFieldMetaData: type: object description: Metadata describing a custom field, including its type and options properties: id: type: string description: The unique identifier of the custom field example: 123 label: type: string description: The display label of the custom field example: Favorite Color options: type: array description: The list of available options for select/radio/multiselect/drilldown field types items: $ref: '#/components/schemas/CustomFieldOption' record_type: type: string description: The entity type this custom field belongs to (e.g. CONTACT, COMPANY) enum: - CONTACT - REFERRAL_PARTNER - OPPORTUNITY - TASK_NOTE_APPOINTMENT - COMPANY - ORDER - SUBSCRIPTION field_type: type: string description: The data type of the custom field (e.g. Text, Number, Date, Select) enum: - CURRENCY - DATE - DATE_TIME - DAY_OF_WEEK - DECIMAL_NUMBER - DRILLDOWN - DROPDOWN - EMAIL - LIST_BOX - MONTH - NAME - PERCENT - PHONE_NUMBER - RADIO - SOCIAL_SECURITY_NUMBER - STATE - TEXT - TEXT_AREA - USER - USER_LIST_BOX - WEBSITE - WHOLE_NUMBER - YEAR - YES_NO default_value: type: string description: The default value for this custom field, if any group_id: type: string description: The ID of the group this custom field belongs to example: 45 group_name: type: string description: The name of the group this custom field belongs to example: Personal Info field_name: type: string description: The database column name for this custom field. Use this value when filtering contacts (e.g. for field_name 'firstName1', filter with 'firstName1==John'). example: firstName1 CreateCustomFieldOptionRequest: type: object properties: label: type: string FaxNumber: type: object properties: number: type: string description: Fax number example: 5551234568 type: type: string description: Fax type example: Work field: type: string description: Fax number slot enum: - FAX_NUMBER_FIELD_UNSPECIFIED - FAX1 - FAX2 example: FAX1 CreateCustomFieldTabRequest: type: object properties: name: type: string CategoryReference: type: object properties: id: type: string description: The unique identifier for the tag category example: 123 required: - id ObjectModel: type: object properties: custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldMetaData' optional_properties: type: array description: These fields are not transmitted by default on this model, but can be requested by specifying them in a comma-separated list in the optional_properties query parameter. items: type: string uniqueItems: true ErrorDetails: type: object properties: domain: type: string resource: type: string PhoneNumber: type: object properties: extension: type: string description: Phone extension example: 101 number: type: string description: Phone number. Maximum length is 40 characters for PHONE1-PHONE3 and 20 characters for PHONE4-PHONE5. example: 5551234567 type: type: string description: Phone type example: Work field: type: string description: Phone number slot enum: - PHONE_NUMBER_FIELD_UNSPECIFIED - PHONE1 - PHONE2 - PHONE3 - PHONE4 - PHONE5 example: PHONE1 number_e164: type: string description: Phone number in E.164 format example: '+15551234567' CreateCustomFieldRequest: type: object properties: label: type: string options: type: array items: $ref: '#/components/schemas/CreateCustomFieldOptionRequest' field_type: type: string enum: - CURRENCY - DATE - DATE_TIME - DAY_OF_WEEK - DECIMAL_NUMBER - DRILLDOWN - DROPDOWN - EMAIL - LIST_BOX - MONTH - NAME - PERCENT - PHONE_NUMBER - RADIO - SOCIAL_SECURITY_NUMBER - STATE - TEXT - TEXT_AREA - USER - USER_LIST_BOX - WEBSITE - WHOLE_NUMBER - YEAR - YES_NO group_id: type: string description: An optional tab group to place the field under in the interface. If not specified, will default to the 'Custom Fields' tab. user_group_id: type: string description: An optional user group to choose from when selecting values for User or UserListBox fields. required: - field_type - label UpdateCustomFieldMetaDataRequest: type: object properties: label: type: string options: type: array items: $ref: '#/components/schemas/CustomFieldOption' group_id: type: string required: - group_id CreateCompanyRequest: type: object description: company properties: address: $ref: '#/components/schemas/Address' description: The company's address notes: type: string description: Notes about the company example: Key enterprise client since 2020 website: type: string description: The company's website URL example: https://www.thryv.com suffix: type: string description: Name suffix example: Jr title: type: string description: Name prefix or salutation example: Dr. company_name: type: string description: The name of the company example: Thryv custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldValue' email_address: $ref: '#/components/schemas/EmailAddress' fax_number: $ref: '#/components/schemas/FaxNumber' phone_number: $ref: '#/components/schemas/PhoneNumber' anniversary_date: type: string description: The anniversary date example: '2015-06-20' assistant_name: type: string description: The name of the company contact's assistant example: Jane Doe assistant_phone: type: string description: The phone number of the company contact's assistant example: 555-123-4567 billing_information: type: string description: Billing information for the company example: NET 30 birth_date: type: string description: The birth date example: '1985-03-15' contact_type: type: string description: Type of contact example: Vendor first_name: type: string description: First name of the company contact example: John job_title: type: string description: Job title of the company contact example: CEO last_name: type: string description: Last name of the company contact example: Smith middle_name: type: string description: Middle name of the company contact example: Robert preferred_name: type: string description: Preferred name or nickname of the company contact example: Johnny owner_id: type: string description: ID of the user who owns this company example: 45 referral_code: type: string description: Referral code example: REF2024ABC spouse_name: type: string description: Spouse's name example: Jane Smith ListCompaniesResponse: type: object properties: companies: type: array items: $ref: '#/components/schemas/Company' next_page_token: type: string Tag: type: object properties: id: type: string description: The unique identifier for this tag example: 123 name: type: string description: The unique name of this tag example: VIP Customer description: type: string description: A description of this tag example: High-value customers category: $ref: '#/components/schemas/CategoryReference' description: The category this tag belongs to create_time: type: string format: date-time description: The time this tag was created, in ISO 8601 format example: '2024-01-10T08:00:00Z' update_time: type: string format: date-time description: The time this tag was last updated, in ISO 8601 format example: '2024-03-15T10:30:00Z' AppliedTag: type: object description: Tag with application timestamp properties: tag: $ref: '#/components/schemas/Tag' description: The tag applied applied_time: type: string description: The time the tag was applied to the contact, in ISO 8601 format UpdateCompanyRequest: type: object description: company properties: address: $ref: '#/components/schemas/Address' description: The company's address notes: type: string description: Notes about the company example: Key enterprise client since 2020 website: type: string description: The company's website URL example: https://www.thryv.com suffix: type: string description: Name suffix example: Jr title: type: string description: Name prefix or salutation example: Dr. company_name: type: string description: The name of the company example: Thryv custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldValue' email_address: $ref: '#/components/schemas/EmailAddress' fax_number: $ref: '#/components/schemas/FaxNumber' phone_number: $ref: '#/components/schemas/PhoneNumber' anniversary_date: type: string description: The anniversary date example: '2015-06-20' assistant_name: type: string description: The name of the company contact's assistant example: Jane Doe assistant_phone: type: string description: The phone number of the company contact's assistant example: 555-123-4567 billing_information: type: string description: Billing information for the company example: NET 30 birth_date: type: string description: The birth date example: '1985-03-15' contact_type: type: string description: Type of contact example: Vendor first_name: type: string description: First name of the company contact example: John job_title: type: string description: Job title of the company contact example: CEO last_name: type: string description: Last name of the company contact example: Smith middle_name: type: string description: Middle name of the company contact example: Robert preferred_name: type: string description: Preferred name or nickname of the company contact example: Johnny owner_id: type: string description: ID of the user who owns this company example: 45 referral_code: type: string description: Referral code example: REF2024ABC spouse_name: type: string description: Spouse's name example: Jane Smith ListCustomFieldGroupsResponse: type: object properties: groups: type: array items: $ref: '#/components/schemas/CustomFieldGroup' Company: type: object properties: id: type: string description: Unique identifier example: 123 address: $ref: '#/components/schemas/Address' description: The company's address notes: type: string description: Notes about the company example: Key enterprise client since 2020 website: type: string description: The company's website URL example: https://www.thryv.com suffix: type: string description: Name suffix example: Jr title: type: string description: Name prefix or salutation example: Dr. groups: type: string description: Comma-delimited list of tag IDs applied to this company example: 1,5,12 company_name: type: string description: The name of the company example: Thryv custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldValue' email_address: $ref: '#/components/schemas/EmailAddress' fax_number: $ref: '#/components/schemas/FaxNumber' phone_number: $ref: '#/components/schemas/PhoneNumber' update_time: type: string description: Last update timestamp (ISO-8601) example: '2024-03-15T10:30:00Z' create_time: type: string description: Creation timestamp (ISO-8601) example: '2024-01-10T08:00:00Z' anniversary_date: type: string description: The anniversary date example: '2015-06-20' assistant_name: type: string description: The name of the company contact's assistant example: Jane Doe assistant_phone: type: string description: The phone number of the company contact's assistant example: 555-123-4567 billing_information: type: string description: Billing information for the company example: NET 30 birth_date: type: string description: The birth date example: '1985-03-15' contact_type: type: string description: Type of contact example: Vendor first_name: type: string description: First name of the company contact example: John job_title: type: string description: Job title of the company contact example: CEO last_name: type: string description: Last name of the company contact example: Smith middle_name: type: string description: Middle name of the company contact example: Robert preferred_name: type: string description: Preferred name or nickname of the company contact example: Johnny owner_id: type: string description: ID of the user who owns this company example: 45 referral_code: type: string description: Referral code example: REF2024ABC spouse_name: type: string description: Spouse's name example: Jane Smith account_id: type: string description: The company's account ID example: 100 created_by: type: string description: ID of the user who created this company example: 10 last_updated_by: type: string description: ID of the user who last updated this company example: 10 CustomFieldValue: type: object properties: id: type: string content: description: The value of the custom field. Text custom field values have a maximum length of 65535 characters. CustomFieldOption_2: title: CustomFieldOption type: object properties: id: type: string label: type: string options: type: array items: $ref: '#/components/schemas/CustomFieldOption_2' Throwable: title: Throwable type: object properties: cause: $ref: '#/components/schemas/Throwable' localizedMessage: type: string message: type: string stackTrace: type: array items: title: StackTraceElement type: object properties: classLoaderName: type: string className: type: string fileName: type: string lineNumber: type: integer format: int32 methodName: type: string moduleName: type: string moduleVersion: type: string nativeMethod: type: boolean suppressed: type: array items: $ref: '#/components/schemas/Throwable' CompanyAddress: type: object properties: line1: type: string line2: type: string locality: type: string region: type: string zip_code: type: string zip_four: type: string country_code: type: string CustomFieldMetaData_2: type: object properties: id: type: integer format: int64 label: type: string options: type: array items: $ref: '#/components/schemas/CustomFieldOption' record_type: type: string enum: - CONTACT - REFERRAL_PARTNER - OPPORTUNITY - TASK_NOTE_APPOINTMENT - COMPANY - ORDER - SUBSCRIPTION field_type: type: string enum: - Currency - Date - DateTime - DayOfWeek - Drilldown - Email - Month - ListBox - Name - WholeNumber - DecimalNumber - Percent - PhoneNumber - Radio - Dropdown - SocialSecurityNumber - State - Text - TextArea - User - UserListBox - Website - Year - YesNo field_name: type: string default_value: type: string CompanyFaxNumber: type: object properties: number: type: string type: type: string CompanyPhoneNumber: type: object properties: number: type: string extension: type: string type: type: string 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 HttpStatusCode: type: object properties: error: type: boolean is1xxInformational: type: boolean is2xxSuccessful: type: boolean is3xxRedirection: type: boolean is4xxClientError: type: boolean is5xxServerError: type: boolean CreateOrPatchCompany: type: object description: company properties: website: type: string address: $ref: '#/components/schemas/CompanyAddress' notes: type: string company_name: type: string phone_number: $ref: '#/components/schemas/CompanyPhoneNumber' fax_number: $ref: '#/components/schemas/CompanyFaxNumber' email_address: type: string opt_in_reason: type: string custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldValue_2' required: - company_name 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 CompanyQueryCommand: type: object properties: limit: type: integer format: int32 offset: type: integer format: int32 company_name: type: string order: type: string enum: - id - date_created - name - email order_direction: type: string enum: - ASCENDING - DESCENDING CompanyList: type: object properties: companies: type: array items: $ref: '#/components/schemas/Company_2' count: type: integer format: int32 next: type: string previous: type: string View: type: object properties: contentType: type: string Company_2: type: object properties: id: type: integer format: int64 website: type: string address: $ref: '#/components/schemas/CompanyAddress' notes: type: string company_name: type: string phone_number: $ref: '#/components/schemas/CompanyPhoneNumber' fax_number: $ref: '#/components/schemas/CompanyFaxNumber' email_address: type: string email_status: type: string enum: - UnengagedMarketable - SingleOptIn - DoubleOptin - Confirmed - UnengagedNonMarketable - NonMarketable - Lockdown - Bounce - HardBounce - Manual - Admin - System - ListUnsubscribe - Feedback - Spam - Invalid - Deactivated email_opted_in: type: boolean custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldValue_2' CustomFieldValue_2: type: object properties: id: type: integer format: int64 content: {} ObjectModel_2: type: object properties: custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldMetaData_2' optional_properties: type: array items: type: string uniqueItems: true CustomFieldMetaData_3: type: object properties: id: type: integer format: int64 label: type: string options: type: array items: $ref: '#/components/schemas/CustomFieldOption' record_type: type: string enum: - CONTACT - REFERRAL_PARTNER - OPPORTUNITY - TASK_NOTE_APPOINTMENT - COMPANY - ORDER - SUBSCRIPTION field_type: type: string enum: - Currency - Date - DateTime - DayOfWeek - Drilldown - Email - Month - ListBox - Name - WholeNumber - DecimalNumber - Percent - PhoneNumber - Radio - Dropdown - SocialSecurityNumber - State - Text - TextArea - User - UserListBox - Website - Year - YesNo field_name: type: string default_value: type: string CreateOrPatchCompany_2: type: object description: company properties: website: type: string address: $ref: '#/components/schemas/CompanyAddress' notes: type: string company_name: type: string phone_number: $ref: '#/components/schemas/CompanyPhoneNumber' fax_number: $ref: '#/components/schemas/CompanyFaxNumber' email_address: type: string opt_in_reason: type: string custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldValue_3' required: - company_name CompanyList_2: type: object properties: companies: type: array items: $ref: '#/components/schemas/Company_3' count: type: integer format: int32 next: type: string previous: type: string Company_3: type: object properties: id: type: integer format: int64 website: type: string address: $ref: '#/components/schemas/CompanyAddress' notes: type: string company_name: type: string phone_number: $ref: '#/components/schemas/CompanyPhoneNumber' fax_number: $ref: '#/components/schemas/CompanyFaxNumber' email_address: type: string email_status: type: string enum: - UnengagedMarketable - SingleOptIn - DoubleOptin - Confirmed - UnengagedNonMarketable - NonMarketable - Lockdown - Bounce - HardBounce - Manual - Admin - System - ListUnsubscribe - Feedback - Spam - Invalid - Deactivated email_opted_in: type: boolean custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldValue_3' CustomFieldValue_3: type: object properties: id: type: integer format: int64 content: {} ObjectModel_3: type: object properties: custom_fields: type: array items: $ref: '#/components/schemas/CustomFieldMetaData_3' optional_properties: type: array items: type: string uniqueItems: true 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