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