- create_contact - Create Contact
- get_account - Get Account
- get_contact - Get Contact
- get_contact_custom_field_definition - Get Contact Custom Field Definition
- get_list - Get List
- list_accounts - List Accounts
- list_contact_custom_field_definitions - List Contact Custom Field Definitions
- list_contacts - List Contacts
- list_lists - Get all Lists
- update_contact - Update Contact (early access)
Create Contact
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
res = s.crm.create_contact(crm_create_contact_request_dto: Models::Shared::CrmCreateContactRequestDto.new(
account_ids: [
'account-123',
'account-456',
],
company_name: 'Apple Inc.',
custom_fields: [
Models::Shared::CustomFields.new(
id: '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
name: 'Training Completion Status',
remote_id: '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
remote_value_id: 'e3cb75bf-aa84-466e-a6c1-b8322b257a48',
value: 'Completed',
value_id: 'value_456'
),
],
deal_ids: [
'deal-001',
'deal-002',
],
emails: [
'steve@apple.com',
],
first_name: 'Steve',
last_name: 'Wozniak',
passthrough: {
'other_known_names' => 'John Doe',
},
phone_numbers: [
'123-456-7890',
]
), x_account_id: '<id>', prefer: 'heartbeat')
unless res.contact_result.nil?
# handle response
end| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
crm_create_contact_request_dto |
Models::Shared::CrmCreateContactRequestDto | ✔️ | N/A | |
x_account_id |
::String | ✔️ | The account identifier | |
prefer |
T.nilable(::String) | ➖ | Set to "heartbeat" to enable keep-alive newline heartbeats during long-running requests. Response includes Preference-Applied: heartbeat header when honored. (RFC 7240) | heartbeat |
T.nilable(Models::Operations::CrmCreateContactResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::PreconditionFailedResponse | 412 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
Get Account
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Operations::CrmGetAccountRequest.new(
prefer: 'heartbeat',
fields_: 'id,remote_id,owner_id,remote_owner_id,name,description,industries,annual_revenue,website,addresses,phone_numbers,created_at,updated_at,unified_custom_fields',
id: '<id>',
x_account_id: '<id>'
)
res = s.crm.get_account(request: req)
unless res.account_result.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Operations::CrmGetAccountRequest | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::CrmGetAccountResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::PreconditionFailedResponse | 412 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
Get Contact
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Operations::CrmGetContactRequest.new(
prefer: 'heartbeat',
fields_: 'id,remote_id,first_name,last_name,company_name,emails,phone_numbers,deal_ids,remote_deal_ids,account_ids,remote_account_ids,custom_fields,created_at,updated_at,unified_custom_fields',
id: '<id>',
include: 'custom_fields',
x_account_id: '<id>'
)
res = s.crm.get_contact(request: req)
unless res.contact_result.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Operations::CrmGetContactRequest | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::CrmGetContactResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::PreconditionFailedResponse | 412 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
Get Contact Custom Field Definition
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Operations::CrmGetContactCustomFieldDefinitionRequest.new(
prefer: 'heartbeat',
fields_: 'id,remote_id,name,description,type,options,unified_custom_fields',
filter: Models::Operations::CrmGetContactCustomFieldDefinitionQueryParamFilter.new(
updated_after: DateTime.iso8601('2020-01-01T00:00:00.000Z')
),
id: '<id>',
x_account_id: '<id>'
)
res = s.crm.get_contact_custom_field_definition(request: req)
unless res.custom_field_definition_result_api_model.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Operations::CrmGetContactCustomFieldDefinitionRequest | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::CrmGetContactCustomFieldDefinitionResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::PreconditionFailedResponse | 412 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
Get List
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Operations::CrmGetListRequest.new(
prefer: 'heartbeat',
fields_: 'id,remote_id,name,created_at,updated_at,items,type,unified_custom_fields',
id: '<id>',
x_account_id: '<id>'
)
res = s.crm.get_list(request: req)
unless res.list_result.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Operations::CrmGetListRequest | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::CrmGetListResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::PreconditionFailedResponse | 412 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
List Accounts
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Operations::CrmListAccountsRequest.new(
prefer: 'heartbeat',
fields_: 'id,remote_id,owner_id,remote_owner_id,name,description,industries,annual_revenue,website,addresses,phone_numbers,created_at,updated_at,unified_custom_fields',
filter: Models::Operations::CrmListAccountsQueryParamFilter.new(
updated_after: DateTime.iso8601('2020-01-01T00:00:00.000Z')
),
x_account_id: '<id>'
)
res = s.crm.list_accounts(request: req)
unless res.accounts_paginated.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Operations::CrmListAccountsRequest | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::CrmListAccountsResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::PreconditionFailedResponse | 412 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
List Contact Custom Field Definitions
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Operations::CrmListContactCustomFieldDefinitionsRequest.new(
prefer: 'heartbeat',
fields_: 'id,remote_id,name,description,type,options,unified_custom_fields',
filter: Models::Operations::CrmListContactCustomFieldDefinitionsQueryParamFilter.new(
updated_after: DateTime.iso8601('2020-01-01T00:00:00.000Z')
),
x_account_id: '<id>'
)
res = s.crm.list_contact_custom_field_definitions(request: req)
unless res.custom_field_definitions_paginated.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Operations::CrmListContactCustomFieldDefinitionsRequest | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::CrmListContactCustomFieldDefinitionsResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::PreconditionFailedResponse | 412 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
List Contacts
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Operations::CrmListContactsRequest.new(
prefer: 'heartbeat',
fields_: 'id,remote_id,first_name,last_name,company_name,emails,phone_numbers,deal_ids,remote_deal_ids,account_ids,remote_account_ids,custom_fields,created_at,updated_at,unified_custom_fields',
filter: Models::Operations::CrmListContactsQueryParamFilter.new(
updated_after: DateTime.iso8601('2020-01-01T00:00:00.000Z')
),
include: 'custom_fields',
x_account_id: '<id>'
)
res = s.crm.list_contacts(request: req)
unless res.contacts_paginated.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Operations::CrmListContactsRequest | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::CrmListContactsResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::PreconditionFailedResponse | 412 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
Get all Lists
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
req = Models::Operations::CrmListListsRequest.new(
prefer: 'heartbeat',
fields_: 'id,remote_id,name,created_at,updated_at,items,type,unified_custom_fields',
filter: Models::Operations::CrmListListsQueryParamFilter.new(
updated_after: DateTime.iso8601('2020-01-01T00:00:00.000Z')
),
x_account_id: '<id>'
)
res = s.crm.list_lists(request: req)
unless res.lists_paginated.nil?
# handle response
end| Parameter | Type | Required | Description |
|---|---|---|---|
request |
Models::Operations::CrmListListsRequest | ✔️ | The request object to use for the request. |
T.nilable(Models::Operations::CrmListListsResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::PreconditionFailedResponse | 412 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |
Update Contact (early access)
require 'stackone_client'
Models = ::StackOne::Models
s = ::StackOne::StackOne.new(
security: Models::Shared::Security.new(
password: '',
username: ''
)
)
res = s.crm.update_contact(crm_create_contact_request_dto: Models::Shared::CrmCreateContactRequestDto.new(
account_ids: [
'account-123',
'account-456',
],
company_name: 'Apple Inc.',
custom_fields: [
Models::Shared::CustomFields.new(
id: '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
name: 'Training Completion Status',
remote_id: '8187e5da-dc77-475e-9949-af0f1fa4e4e3',
remote_value_id: 'e3cb75bf-aa84-466e-a6c1-b8322b257a48',
value: 'Completed',
value_id: 'value_456'
),
],
deal_ids: [
'deal-001',
'deal-002',
],
emails: [
'steve@apple.com',
],
first_name: 'Steve',
last_name: 'Wozniak',
passthrough: {
'other_known_names' => 'John Doe',
},
phone_numbers: [
'123-456-7890',
]
), id: '<id>', x_account_id: '<id>', prefer: 'heartbeat')
unless res.contact_result.nil?
# handle response
end| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
crm_create_contact_request_dto |
Models::Shared::CrmCreateContactRequestDto | ✔️ | N/A | |
id |
::String | ✔️ | N/A | |
x_account_id |
::String | ✔️ | The account identifier | |
prefer |
T.nilable(::String) | ➖ | Set to "heartbeat" to enable keep-alive newline heartbeats during long-running requests. Response includes Preference-Applied: heartbeat header when honored. (RFC 7240) | heartbeat |
T.nilable(Models::Operations::CrmUpdateContactResponse)
| Error Type | Status Code | Content Type |
|---|---|---|
| Models::Errors::BadRequestResponse | 400 | application/json |
| Models::Errors::UnauthorizedResponse | 401 | application/json |
| Models::Errors::ForbiddenResponse | 403 | application/json |
| Models::Errors::NotFoundResponse | 404 | application/json |
| Models::Errors::RequestTimedOutResponse | 408 | application/json |
| Models::Errors::ConflictResponse | 409 | application/json |
| Models::Errors::PreconditionFailedResponse | 412 | application/json |
| Models::Errors::UnprocessableEntityResponse | 422 | application/json |
| Models::Errors::TooManyRequestsResponse | 429 | application/json |
| Models::Errors::InternalServerErrorResponse | 500 | application/json |
| Models::Errors::NotImplementedResponse | 501 | application/json |
| Models::Errors::BadGatewayResponse | 502 | application/json |
| Errors::APIError | 4XX, 5XX | */* |