openapi: 3.1.0
info:
title: Chat
version: 1.0.0
paths:
/conversations:
get:
operationId: list
summary: List
description: >-
Returns a list of `Conversation` objects.{/* BEGIN_CHAT_CONVERSATION_FETCH_SUPPORTED_FIELDS
*/}{/* END_CHAT_CONVERSATION_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_conversations
parameters:
- name: created_after
in: query
description: If provided, will only return objects created after this datetime.
required: false
schema:
type: string
format: date-time
- name: created_before
in: query
description: If provided, will only return objects created before this datetime.
required: false
schema:
type: string
format: date-time
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: expand
in: query
description: >-
Which relations should be returned in expanded form. Multiple relation names should be comma separated
without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/ConversationsGetParametersExpandSchemaItems'
- name: include_deleted_data
in: query
description: >-
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion
detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn
more](https://docs.merge.dev/integrations/hris/supported-features/).
required: false
schema:
type: boolean
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: >-
Whether to include shell records. Shell records are empty records (they may contain some metadata but all
other fields are null).
required: false
schema:
type: boolean
- name: modified_after
in: query
description: If provided, only objects synced by Merge after this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: modified_before
in: query
description: If provided, only objects synced by Merge before this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: remote_id
in: query
description: The API provider's ID for the given object.
required: false
schema:
type: string
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedConversationList'
/conversations/{id}:
get:
operationId: retrieve
summary: Retrieve
description: >-
Returns a `Conversation` object with the given `id`.{/* BEGIN_CHAT_CONVERSATION_FETCH_SUPPORTED_FIELDS
*/}{/* END_CHAT_CONVERSATION_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_conversations
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: expand
in: query
description: >-
Which relations should be returned in expanded form. Multiple relation names should be comma separated
without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/ConversationsIdGetParametersExpandSchemaItems'
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: >-
Whether to include shell records. Shell records are empty records (they may contain some metadata but all
other fields are null).
required: false
schema:
type: boolean
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Conversation'
/messages:
get:
operationId: list
summary: List
description: >-
Returns a list of `Message` objects.{/* BEGIN_CHAT_MESSAGE_FETCH_SUPPORTED_FIELDS
*/}{/* END_CHAT_MESSAGE_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_messages
parameters:
- name: conversation_id
in: query
description: Filter messages by conversation ID.
required: false
schema:
type: string
format: uuid
- name: created_after
in: query
description: If provided, will only return objects created after this datetime.
required: false
schema:
type: string
format: date-time
- name: created_before
in: query
description: If provided, will only return objects created before this datetime.
required: false
schema:
type: string
format: date-time
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: include_deleted_data
in: query
description: >-
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion
detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn
more](https://docs.merge.dev/integrations/hris/supported-features/).
required: false
schema:
type: boolean
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: >-
Whether to include shell records. Shell records are empty records (they may contain some metadata but all
other fields are null).
required: false
schema:
type: boolean
- name: modified_after
in: query
description: If provided, only objects synced by Merge after this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: modified_before
in: query
description: If provided, only objects synced by Merge before this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: order_by
in: query
description: >-
Overrides the default ordering for this endpoint. Possible values include: remote_created_at,
-remote_created_at.
required: false
schema:
$ref: '#/components/schemas/MessagesGetParametersOrderBy'
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: remote_id
in: query
description: The API provider's ID for the given object.
required: false
schema:
type: string
- name: root_message
in: query
description: If provided as 'true', will only return root messages (messages without a parent message).
required: false
schema:
type: string
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedMessageList'
/messages/{id}:
get:
operationId: retrieve
summary: Retrieve
description: >-
Returns a `Message` object with the given `id`.{/* BEGIN_CHAT_MESSAGE_FETCH_SUPPORTED_FIELDS
*/}{/* END_CHAT_MESSAGE_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_messages
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: >-
Whether to include shell records. Shell records are empty records (they may contain some metadata but all
other fields are null).
required: false
schema:
type: boolean
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Message'
/messages/{message_id}/replies:
get:
operationId: replies-list
summary: Replies List
description: >-
Returns a list of `Message` objects.{/* BEGIN_CHAT_MESSAGE_FETCH_SUPPORTED_FIELDS
*/}{/* END_CHAT_MESSAGE_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_messages
parameters:
- name: message_id
in: path
required: true
schema:
type: string
format: uuid
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: include_deleted_data
in: query
description: >-
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion
detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn
more](https://docs.merge.dev/integrations/hris/supported-features/).
required: false
schema:
type: boolean
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: >-
Whether to include shell records. Shell records are empty records (they may contain some metadata but all
other fields are null).
required: false
schema:
type: boolean
- name: order_by
in: query
description: >-
Overrides the default ordering for this endpoint. Possible values include: remote_created_at,
-remote_created_at.
required: false
schema:
$ref: '#/components/schemas/MessagesMessageIdRepliesGetParametersOrderBy'
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedMessageList'
/conversations/{conversation_id}/members:
get:
operationId: members-list
summary: Members List
description: >-
Returns a list of `Member` objects.{/* BEGIN_CHAT_CONVERSATION_FETCH_SUPPORTED_FIELDS
*/}{/* END_CHAT_CONVERSATION_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_conversations
parameters:
- name: conversation_id
in: path
required: true
schema:
type: string
format: uuid
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: expand
in: query
description: >-
Which relations should be returned in expanded form. Multiple relation names should be comma separated
without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/ConversationsConversationIdMembersGetParametersExpandSchemaItems'
- name: include_deleted_data
in: query
description: >-
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion
detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn
more](https://docs.merge.dev/integrations/hris/supported-features/).
required: false
schema:
type: boolean
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: >-
Whether to include shell records. Shell records are empty records (they may contain some metadata but all
other fields are null).
required: false
schema:
type: boolean
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedMemberList'
/users:
get:
operationId: list
summary: List
description: >-
Returns a list of `User` objects.{/* BEGIN_CHAT_USER_FETCH_SUPPORTED_FIELDS
*/}{/* END_CHAT_USER_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_users
parameters:
- name: created_after
in: query
description: If provided, will only return objects created after this datetime.
required: false
schema:
type: string
format: date-time
- name: created_before
in: query
description: If provided, will only return objects created before this datetime.
required: false
schema:
type: string
format: date-time
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: expand
in: query
description: >-
Which relations should be returned in expanded form. Multiple relation names should be comma separated
without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/UsersGetParametersExpandSchemaItems'
- name: include_deleted_data
in: query
description: >-
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion
detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn
more](https://docs.merge.dev/integrations/hris/supported-features/).
required: false
schema:
type: boolean
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: >-
Whether to include shell records. Shell records are empty records (they may contain some metadata but all
other fields are null).
required: false
schema:
type: boolean
- name: modified_after
in: query
description: If provided, only objects synced by Merge after this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: modified_before
in: query
description: If provided, only objects synced by Merge before this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: remote_id
in: query
description: The API provider's ID for the given object.
required: false
schema:
type: string
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedUserList'
/users/{id}:
get:
operationId: retrieve
summary: Retrieve
description: >-
Returns a `User` object with the given `id`.{/* BEGIN_CHAT_USER_FETCH_SUPPORTED_FIELDS
*/}{/* END_CHAT_USER_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_users
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: expand
in: query
description: >-
Which relations should be returned in expanded form. Multiple relation names should be comma separated
without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/UsersIdGetParametersExpandSchemaItems'
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: >-
Whether to include shell records. Shell records are empty records (they may contain some metadata but all
other fields are null).
required: false
schema:
type: boolean
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
/groups:
get:
operationId: list
summary: List
description: >-
Returns a list of `Group` objects.{/* BEGIN_CHAT_GROUP_FETCH_SUPPORTED_FIELDS
*/}{/* END_CHAT_GROUP_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_groups
parameters:
- name: created_after
in: query
description: If provided, will only return objects created after this datetime.
required: false
schema:
type: string
format: date-time
- name: created_before
in: query
description: If provided, will only return objects created before this datetime.
required: false
schema:
type: string
format: date-time
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: expand
in: query
description: >-
Which relations should be returned in expanded form. Multiple relation names should be comma separated
without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/GroupsGetParametersExpandSchemaItems'
- name: include_deleted_data
in: query
description: >-
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion
detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn
more](https://docs.merge.dev/integrations/hris/supported-features/).
required: false
schema:
type: boolean
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: >-
Whether to include shell records. Shell records are empty records (they may contain some metadata but all
other fields are null).
required: false
schema:
type: boolean
- name: modified_after
in: query
description: If provided, only objects synced by Merge after this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: modified_before
in: query
description: If provided, only objects synced by Merge before this date time will be returned.
required: false
schema:
type: string
format: date-time
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: remote_id
in: query
description: The API provider's ID for the given object.
required: false
schema:
type: string
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedGroupList'
/groups/{id}:
get:
operationId: retrieve
summary: Retrieve
description: >-
Returns a `Group` object with the given `id`.{/* BEGIN_CHAT_GROUP_FETCH_SUPPORTED_FIELDS
*/}{/* END_CHAT_GROUP_FETCH_SUPPORTED_FIELDS */}
tags:
- subpackage_groups
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: expand
in: query
description: >-
Which relations should be returned in expanded form. Multiple relation names should be comma separated
without spaces.
required: false
schema:
type: array
items:
$ref: '#/components/schemas/GroupsIdGetParametersExpandSchemaItems'
- name: include_remote_data
in: query
description: Whether to include the original data Merge fetched from the third-party to produce these models.
required: false
schema:
type: boolean
- name: include_shell_data
in: query
description: >-
Whether to include shell records. Shell records are empty records (they may contain some metadata but all
other fields are null).
required: false
schema:
type: boolean
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Group'
/account-details:
get:
operationId: retrieve
summary: Retrieve
description: Get details for a linked account.
tags:
- subpackage_accountDetails
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AccountDetails'
/account-token/{public_token}:
get:
operationId: retrieve
summary: Retrieve
description: Returns the account token for the end user with the provided public token.
tags:
- subpackage_accountToken
parameters:
- name: public_token
in: path
required: true
schema:
type: string
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AccountToken'
/account-token/regenerate:
post:
operationId: regenerate-create
summary: Regenerate Create
description: Exchange Linked Account account tokens.
tags:
- subpackage_accountToken
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RegenerateAccountToken'
/delete-account:
post:
operationId: delete
summary: Delete
description: Delete a linked account.
tags:
- subpackage_deleteAccount
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: No response body
content:
application/json:
schema:
$ref: '#/components/schemas/deleteAccount_delete_Response_200'
/issues:
get:
operationId: list
summary: List
description: Gets all issues for Organization.
tags:
- subpackage_issues
parameters:
- name: account_token
in: query
required: false
schema:
type: string
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: end_date
in: query
description: If included, will only include issues whose most recent action occurred before this time
required: false
schema:
type: string
- name: end_user_organization_name
in: query
required: false
schema:
type: string
- name: first_incident_time_after
in: query
description: If provided, will only return issues whose first incident time was after this datetime.
required: false
schema:
type: string
format: date-time
- name: first_incident_time_before
in: query
description: If provided, will only return issues whose first incident time was before this datetime.
required: false
schema:
type: string
format: date-time
- name: include_muted
in: query
description: If true, will include muted issues
required: false
schema:
type: string
- name: integration_name
in: query
required: false
schema:
type: string
- name: last_incident_time_after
in: query
description: If provided, will only return issues whose last incident time was after this datetime.
required: false
schema:
type: string
format: date-time
- name: last_incident_time_before
in: query
description: If provided, will only return issues whose last incident time was before this datetime.
required: false
schema:
type: string
format: date-time
- name: linked_account_id
in: query
description: If provided, will only include issues pertaining to the linked account passed in.
required: false
schema:
type: string
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: start_date
in: query
description: If included, will only include issues whose most recent action occurred after this time
required: false
schema:
type: string
- name: status
in: query
description: Status of the issue.
required: false
schema:
$ref: '#/components/schemas/IssuesGetParametersStatus'
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedIssueList'
/issues/{id}:
get:
operationId: retrieve
summary: Retrieve
description: Get a specific issue.
tags:
- subpackage_issues
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Issue'
/linked-accounts:
get:
operationId: list
summary: List
description: List linked accounts for your organization.
tags:
- subpackage_linkedAccounts
parameters:
- name: category
in: query
description: 'Options: `hris`, `ats`, `accounting`, `ticketing`, `crm`, `mktg`, `filestorage`, `knowledgebase`, `chat`'
required: false
schema:
$ref: '#/components/schemas/LinkedAccountsGetParametersCategory'
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: end_user_email_address
in: query
description: If provided, will only return linked accounts associated with the given email address.
required: false
schema:
type: string
- name: end_user_organization_name
in: query
description: If provided, will only return linked accounts associated with the given organization name.
required: false
schema:
type: string
- name: end_user_origin_id
in: query
description: If provided, will only return linked accounts associated with the given origin ID.
required: false
schema:
type: string
- name: end_user_origin_ids
in: query
description: Comma-separated list of EndUser origin IDs, making it possible to specify multiple EndUsers at once.
required: false
schema:
type: string
- name: id
in: query
required: false
schema:
type: string
format: uuid
- name: ids
in: query
description: Comma-separated list of LinkedAccount IDs, making it possible to specify multiple LinkedAccounts at once.
required: false
schema:
type: string
- name: include_duplicates
in: query
description: >-
If `true`, will include complete production duplicates of the account specified by the `id` query parameter
in the response. `id` must be for a complete production linked account.
required: false
schema:
type: boolean
- name: integration_name
in: query
description: If provided, will only return linked accounts associated with the given integration name.
required: false
schema:
type: string
- name: is_test_account
in: query
description: >-
If included, will only include test linked accounts. If not included, will only include non-test linked
accounts.
required: false
schema:
type: string
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: status
in: query
description: 'Filter by status. Options: `COMPLETE`, `IDLE`, `INCOMPLETE`, `RELINK_NEEDED`'
required: false
schema:
type: string
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAccountDetailsAndActionsList'
/link-token:
post:
operationId: create
summary: Create
description: Creates a link token to be used when linking a new end user. The link token expires after single use.
tags:
- subpackage_linkToken
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LinkToken'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EndUserDetailsRequest'
/field-mappings:
get:
operationId: field-mappings-retrieve
summary: Field Mappings Retrieve
description: >-
Get all Field Mappings for this Linked Account. Field Mappings are mappings between third-party Remote Fields
and user defined Merge fields. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/).
tags:
- subpackage_fieldMapping
parameters:
- name: exclude_remote_field_metadata
in: query
description: >-
If `true`, remote fields metadata is excluded from each field mapping instance (i.e.
`remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of
the request since these fields require some calculations.
required: false
schema:
type: boolean
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/FieldMappingApiInstanceResponse'
post:
operationId: field-mappings-create
summary: Field Mappings Create
description: >-
Create new Field Mappings that will be available after the next scheduled sync. This will cause the next sync
for this Linked Account to sync **ALL** data from start.
tags:
- subpackage_fieldMapping
parameters:
- name: exclude_remote_field_metadata
in: query
description: >-
If `true`, remote fields metadata is excluded from each field mapping instance (i.e.
`remote_fields.remote_key_name` and `remote_fields.schema` will be null). This will increase the speed of
the request since these fields require some calculations.
required: false
schema:
type: boolean
- name: remote_data_iteration_count
in: query
description: >-
Number of common model instances to iterate through when fetching remote data for field mappings. Defaults
to 250 if not provided.
required: false
schema:
type: integer
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/FieldMappingInstanceResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateFieldMappingRequest'
/field-mappings/{field_mapping_id}:
delete:
operationId: field-mappings-destroy
summary: Field Mappings Destroy
description: >-
Deletes Field Mappings for a Linked Account. All data related to this Field Mapping will be deleted and these
changes will be reflected after the next scheduled sync. This will cause the next sync for this Linked Account
to sync **ALL** data from start.
tags:
- subpackage_fieldMapping
parameters:
- name: field_mapping_id
in: path
required: true
schema:
type: string
format: uuid
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'204':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/FieldMappingInstanceResponse'
patch:
operationId: field-mappings-partial-update
summary: Field Mappings Partial Update
description: >-
Create or update existing Field Mappings for a Linked Account. Changes will be reflected after the next
scheduled sync. This will cause the next sync for this Linked Account to sync **ALL** data from start.
tags:
- subpackage_fieldMapping
parameters:
- name: field_mapping_id
in: path
required: true
schema:
type: string
format: uuid
- name: remote_data_iteration_count
in: query
description: >-
Number of common model instances to iterate through when fetching remote data for field mappings. Defaults
to 250 if not provided.
required: false
schema:
type: integer
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/FieldMappingInstanceResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedEditFieldMappingRequest'
/remote-fields:
get:
operationId: remote-fields-retrieve
summary: Remote Fields Retrieve
description: >-
Get all remote fields for a Linked Account. Remote fields are third-party fields that are accessible after
initial sync if remote_data is enabled. You can use remote fields to override existing Merge fields or map a new
Merge field. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/overview/).
tags:
- subpackage_fieldMapping
parameters:
- name: common_models
in: query
description: >-
A comma seperated list of Common Model names. If included, will only return Remote Fields for those Common
Models.
required: false
schema:
type: string
- name: include_example_values
in: query
description: >-
If true, will include example values, where available, for remote fields in the 3rd party platform. These
examples come from active data from your customers.
required: false
schema:
type: string
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteFieldAPIResponse'
/target-fields:
get:
operationId: target-fields-retrieve
summary: Target Fields Retrieve
description: >-
Get all organization-wide Target Fields, this will not include any Linked Account specific Target Fields.
Organization-wide Target Fields are additional fields appended to the Merge Common Model for all Linked Accounts
in a category. [Learn more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/).
tags:
- subpackage_fieldMapping
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ExternalTargetFieldAPIResponse'
post:
operationId: target-fields-create
summary: Target Fields Create
description: >-
Create a new organization-wide Target Field. Target Fields are custom fields that your organization defines to
collect supplemental data from integrations. [Learn
more](https://docs.merge.dev/supplemental-data/field-mappings/target-fields/).
tags:
- subpackage_fieldMapping
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ExternalTargetFieldAPIResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTargetFieldRequest'
/available-actions:
get:
operationId: retrieve
summary: Retrieve
description: Returns a list of models and actions available for an account.
tags:
- subpackage_availableActions
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AvailableActions'
/default-scopes:
get:
operationId: default-scopes-retrieve
summary: Default Scopes Retrieve
description: >-
Get the default permissions for Merge Common Models and fields across all Linked Accounts of a given category.
[Learn more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes).
tags:
- subpackage_scopes
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CommonModelScopeAPI'
/linked-account-scopes:
get:
operationId: linked-account-scopes-retrieve
summary: Linked Account Scopes Retrieve
description: >-
Get all available permissions for Merge Common Models and fields for a single Linked Account. [Learn
more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes).
tags:
- subpackage_scopes
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CommonModelScopeAPI'
post:
operationId: linked-account-scopes-create
summary: Linked Account Scopes Create
description: >-
Update permissions for any Common Model or field for a single Linked Account. Any Scopes not set in this POST
request will inherit the default Scopes. [Learn
more](https://help.merge.dev/en/articles/5950052-common-model-and-field-scopes)
tags:
- subpackage_scopes
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CommonModelScopeAPI'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LinkedAccountCommonModelScopeDeserializerRequest'
/passthrough:
post:
operationId: create
summary: Create
description: Pull data from an endpoint not currently supported by Merge.
tags:
- subpackage_passthrough
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataPassthroughRequest'
/async-passthrough:
post:
operationId: create
summary: Create
description: Asynchronously pull data from an endpoint not currently supported by Merge.
tags:
- subpackage_asyncPassthrough
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncPassthroughReciept'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataPassthroughRequest'
/async-passthrough/{async_passthrough_receipt_id}:
get:
operationId: retrieve
summary: Retrieve
description: Retrieves data from earlier async-passthrough POST request
tags:
- subpackage_asyncPassthrough
parameters:
- name: async_passthrough_receipt_id
in: path
required: true
schema:
type: string
format: uuid
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteResponse'
/sync-status:
get:
operationId: list
summary: List
description: >-
Get sync status for the current sync and the most recently finished sync. `last_sync_start` represents the most
recent time any sync began. `last_sync_finished` represents the most recent time any sync completed. These
timestamps may correspond to different sync instances which may result in a sync start time being later than a
separate sync completed time. To ensure you are retrieving the latest available data reference the
`last_sync_finished` timestamp where `last_sync_result` is `DONE`. Possible values for `status` and
`last_sync_result` are `DISABLED`, `DONE`, `FAILED`, `PARTIALLY_SYNCED`, `PAUSED`, `SYNCING`. Learn more about
sync status in our [Help Center](https://help.merge.dev/en/articles/8184193-merge-sync-statuses).
tags:
- subpackage_syncStatus
parameters:
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedSyncStatusList'
/sync-status/resync:
post:
operationId: sync-status-resync-create
summary: Sync Status Resync Create
description: >-
Force re-sync of all models. This endpoint is available for monthly, quarterly, and highest sync frequency
customers on the Professional or Enterprise plans. Doing so will consume a sync credit for the relevant linked
account. Force re-syncs can also be triggered manually in the Merge Dashboard and is available for all
customers.
tags:
- subpackage_forceResync
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
- name: X-Account-Token
in: header
description: Token identifying the end user.
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SyncStatus'
/generate-key:
post:
operationId: create
summary: Create
description: Create a remote key.
tags:
- subpackage_generateKey
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteKey'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateRemoteKeyRequest'
/regenerate-key:
post:
operationId: create
summary: Create
description: Exchange remote keys.
tags:
- subpackage_regenerateKey
parameters:
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteKey'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteKeyForRegenerationRequest'
/audit-trail:
get:
operationId: list
summary: List
description: Gets a list of audit trail events.
tags:
- subpackage_auditTrail
parameters:
- name: cursor
in: query
description: The pagination cursor value.
required: false
schema:
type: string
- name: end_date
in: query
description: If included, will only include audit trail events that occurred before this time
required: false
schema:
type: string
- name: event_type
in: query
description: >-
If included, will only include events with the given event type. Possible values include:
`CREATED_REMOTE_PRODUCTION_API_KEY`, `DELETED_REMOTE_PRODUCTION_API_KEY`, `CREATED_TEST_API_KEY`,
`DELETED_TEST_API_KEY`, `REGENERATED_PRODUCTION_API_KEY`, `REGENERATED_WEBHOOK_SIGNATURE`, `INVITED_USER`,
`TWO_FACTOR_AUTH_ENABLED`, `TWO_FACTOR_AUTH_DISABLED`, `DELETED_LINKED_ACCOUNT`,
`DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT`, `CREATED_DESTINATION`, `DELETED_DESTINATION`,
`CHANGED_DESTINATION`, `CHANGED_SCOPES`, `CHANGED_PERSONAL_INFORMATION`, `CHANGED_ORGANIZATION_SETTINGS`,
`ENABLED_INTEGRATION`, `DISABLED_INTEGRATION`, `ENABLED_CATEGORY`, `DISABLED_CATEGORY`, `CHANGED_PASSWORD`,
`RESET_PASSWORD`, `ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`,
`ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION`,
`DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT`, `CREATED_INTEGRATION_WIDE_FIELD_MAPPING`,
`CREATED_LINKED_ACCOUNT_FIELD_MAPPING`, `CHANGED_INTEGRATION_WIDE_FIELD_MAPPING`,
`CHANGED_LINKED_ACCOUNT_FIELD_MAPPING`, `DELETED_INTEGRATION_WIDE_FIELD_MAPPING`,
`DELETED_LINKED_ACCOUNT_FIELD_MAPPING`, `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`,
`CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`, `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE`,
`FORCED_LINKED_ACCOUNT_RESYNC`, `MUTED_ISSUE`, `GENERATED_MAGIC_LINK`, `ENABLED_MERGE_WEBHOOK`,
`DISABLED_MERGE_WEBHOOK`, `MERGE_WEBHOOK_TARGET_CHANGED`, `END_USER_CREDENTIALS_ACCESSED`
required: false
schema:
type: string
- name: page_size
in: query
description: Number of results to return per page. The maximum limit is 100.
required: false
schema:
type: integer
- name: start_date
in: query
description: If included, will only include audit trail events that occurred after this time
required: false
schema:
type: string
- name: user_email
in: query
description: >-
If provided, this will return events associated with the specified user email. Please note that the email
address reflects the user's email at the time of the event, and may not be their current email.
required: false
schema:
type: string
- name: Authorization
in: header
description: Token-based authentication with required prefix "Bearer"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAuditLogEventList'
servers:
- url: https://api.merge.dev/api/chat/v1
- url: https://api-eu.merge.dev/api/chat/v1
- url: https://api-ap.merge.dev/api/chat/v1
components:
schemas:
ConversationsGetParametersExpandSchemaItems:
type: string
enum:
- members
title: ConversationsGetParametersExpandSchemaItems
TypeEnum:
type: string
enum:
- PRIVATE_INTERNAL
- PRIVATE_EXTERNAL
- PUBLIC_INTERNAL
- PUBLIC_EXTERNAL
- ONE_ON_ONE_CHAT
- GROUP_CHAT
- MEETING_CHAT
title: TypeEnum
ConversationFieldMappings:
type: object
properties:
organization_defined_targets:
type: object
additionalProperties:
description: Any type
linked_account_defined_targets:
type: object
additionalProperties:
description: Any type
title: ConversationFieldMappings
RemoteData:
type: object
properties:
path:
type: string
description: The third-party API path that is being called.
data:
description: The data returned from the third-party for this object in its original, unnormalized format.
required:
- path
description: |-
# The RemoteData Object
### Description
The `RemoteData` object is used to represent the full data pulled from the third-party API for an object.
### Usage Example
TODO
title: RemoteData
Conversation:
type: object
properties:
id:
type: string
format: uuid
remote_id:
type:
- string
- 'null'
description: The third-party API ID of the matching object.
created_at:
type: string
format: date-time
description: The datetime that this object was created by Merge.
modified_at:
type: string
format: date-time
description: The datetime that this object was modified by Merge.
name:
type:
- string
- 'null'
description: The name of the conversation
description:
type:
- string
- 'null'
description: The description of the conversation.
url:
type:
- string
- 'null'
format: uri
description: The url of the conversation.
type:
oneOf:
- $ref: '#/components/schemas/TypeEnum'
- type: 'null'
description: The type of the conversation.
members:
type: array
items:
type: string
format: uuid
remote_created_at:
type:
- string
- 'null'
format: date-time
description: When the third party's conversation was created.
remote_updated_at:
type:
- string
- 'null'
format: date-time
description: When the third party's conversation was updated.
remote_was_deleted:
type: boolean
description: >-
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion
detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn
more](https://docs.merge.dev/integrations/hris/supported-features/).
field_mappings:
oneOf:
- $ref: '#/components/schemas/ConversationFieldMappings'
- type: 'null'
remote_data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/RemoteData'
description: |-
# The Conversation Object
### Description
The `Conversation` object is used to represent a conversation within the Chat account.
### Usage Example
Fetch from the `GET /api/chat/v1/conversations` endpoint and view their conversations.
title: Conversation
PaginatedConversationList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/Conversation'
title: PaginatedConversationList
ConversationsIdGetParametersExpandSchemaItems:
type: string
enum:
- members
title: ConversationsIdGetParametersExpandSchemaItems
MessagesGetParametersOrderBy:
type: string
enum:
- '-remote_created_at'
- remote_created_at
title: MessagesGetParametersOrderBy
Message:
type: object
properties:
id:
type: string
format: uuid
remote_id:
type:
- string
- 'null'
description: The third-party API ID of the matching object.
created_at:
type: string
format: date-time
description: The datetime that this object was created by Merge.
modified_at:
type: string
format: date-time
description: The datetime that this object was modified by Merge.
user_id:
type:
- string
- 'null'
format: uuid
description: The user that sent the message.
conversation_id:
type:
- string
- 'null'
format: uuid
description: The conversation this message belongs to.
body:
type:
- string
- 'null'
description: The body of the message.
subject_line:
type:
- string
- 'null'
description: The subject line of the message.
root_message_id:
type:
- string
- 'null'
format: uuid
description: The root message this message belongs to.
url:
type:
- string
- 'null'
format: uri
description: The url of the message.
remote_created_at:
type:
- string
- 'null'
format: date-time
description: When the third party's conversation was created.
remote_updated_at:
type:
- string
- 'null'
format: date-time
description: When the third party's conversation was updated.
remote_was_deleted:
type: boolean
description: >-
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion
detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn
more](https://docs.merge.dev/integrations/hris/supported-features/).
description: |-
# The Message Object
### Description
The `Message` object is used to represent a message within the Chat account.
### Usage Example
Fetch from the `GET /api/chat/v1/messages` endpoint and view their message.
title: Message
PaginatedMessageList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/Message'
title: PaginatedMessageList
MessagesMessageIdRepliesGetParametersOrderBy:
type: string
enum:
- '-remote_created_at'
- remote_created_at
title: MessagesMessageIdRepliesGetParametersOrderBy
ConversationsConversationIdMembersGetParametersExpandSchemaItems:
type: string
enum:
- group
- user
title: ConversationsConversationIdMembersGetParametersExpandSchemaItems
MemberFieldMappings:
type: object
properties:
organization_defined_targets:
type: object
additionalProperties:
description: Any type
linked_account_defined_targets:
type: object
additionalProperties:
description: Any type
title: MemberFieldMappings
Member:
type: object
properties:
id:
type: string
format: uuid
remote_id:
type:
- string
- 'null'
description: The third-party API ID of the matching object.
created_at:
type: string
format: date-time
description: The datetime that this object was created by Merge.
modified_at:
type: string
format: date-time
description: The datetime that this object was modified by Merge.
user:
type:
- string
- 'null'
format: uuid
description: The user that is a member of the conversation. Only populated if the member is a user.
group:
type:
- string
- 'null'
format: uuid
description: The group that is a member of the conversation. Only populated if the member is a group.
remote_created_at:
type:
- string
- 'null'
format: date-time
description: When the third party's conversation was created.
remote_updated_at:
type:
- string
- 'null'
format: date-time
description: When the third party's conversation was updated.
remote_was_deleted:
type: boolean
description: >-
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion
detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn
more](https://docs.merge.dev/integrations/hris/supported-features/).
field_mappings:
oneOf:
- $ref: '#/components/schemas/MemberFieldMappings'
- type: 'null'
remote_data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/RemoteData'
description: |-
# The Member Object
### Description
The `Member` object is used to represent a member within the Chat account.
### Usage Example
Fetch from the `GET /api/chat/v1/members` endpoint and view their members.
title: Member
PaginatedMemberList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/Member'
title: PaginatedMemberList
UsersGetParametersExpandSchemaItems:
type: string
enum:
- groups
title: UsersGetParametersExpandSchemaItems
UserFieldMappings:
type: object
properties:
organization_defined_targets:
type: object
additionalProperties:
description: Any type
linked_account_defined_targets:
type: object
additionalProperties:
description: Any type
title: UserFieldMappings
User:
type: object
properties:
id:
type: string
format: uuid
remote_id:
type:
- string
- 'null'
description: The third-party API ID of the matching object.
created_at:
type: string
format: date-time
description: The datetime that this object was created by Merge.
modified_at:
type: string
format: date-time
description: The datetime that this object was modified by Merge.
username:
type:
- string
- 'null'
description: Username or handle
display_name:
type:
- string
- 'null'
description: Full name or display name
first_name:
type:
- string
- 'null'
description: The user's first name
last_name:
type:
- string
- 'null'
description: The user's last name
is_bot:
type:
- boolean
- 'null'
description: Returns true if the user is a bot
groups:
type: array
items:
type: string
format: uuid
avatar:
type:
- string
- 'null'
format: uri
description: The user's avatar image
remote_created_at:
type:
- string
- 'null'
format: date-time
description: When the third party's user was created.
remote_updated_at:
type:
- string
- 'null'
format: date-time
description: When the third party's user was updated.
remote_was_deleted:
type: boolean
description: >-
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion
detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn
more](https://docs.merge.dev/integrations/hris/supported-features/).
field_mappings:
oneOf:
- $ref: '#/components/schemas/UserFieldMappings'
- type: 'null'
remote_data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/RemoteData'
description: |-
# The User Object
### Description
The `User` object is used to represent a user within the Chat account.
### Usage Example
Fetch from the `GET /api/chat/v1/users` endpoint and view their users.
title: User
PaginatedUserList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/User'
title: PaginatedUserList
UsersIdGetParametersExpandSchemaItems:
type: string
enum:
- groups
title: UsersIdGetParametersExpandSchemaItems
GroupsGetParametersExpandSchemaItems:
type: string
enum:
- users
title: GroupsGetParametersExpandSchemaItems
GroupFieldMappings:
type: object
properties:
organization_defined_targets:
type: object
additionalProperties:
description: Any type
linked_account_defined_targets:
type: object
additionalProperties:
description: Any type
title: GroupFieldMappings
Group:
type: object
properties:
id:
type: string
format: uuid
remote_id:
type:
- string
- 'null'
description: The third-party API ID of the matching object.
created_at:
type: string
format: date-time
description: The datetime that this object was created by Merge.
modified_at:
type: string
format: date-time
description: The datetime that this object was modified by Merge.
name:
type:
- string
- 'null'
description: The name of the Group
users:
type: array
items:
type: string
format: uuid
remote_created_at:
type:
- string
- 'null'
format: date-time
description: When the third party's group was created.
remote_updated_at:
type:
- string
- 'null'
format: date-time
description: When the third party's group was updated.
remote_was_deleted:
type: boolean
description: >-
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion
detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn
more](https://docs.merge.dev/integrations/hris/supported-features/).
field_mappings:
oneOf:
- $ref: '#/components/schemas/GroupFieldMappings'
- type: 'null'
remote_data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/RemoteData'
description: |-
# The Group Object
### Description
The `Group` object is used to represent any subset of `Users`.
### Usage Example
Fetch from the `GET /api/chat/v1/groups` endpoint and view their groups.
title: Group
PaginatedGroupList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/Group'
title: PaginatedGroupList
GroupsIdGetParametersExpandSchemaItems:
type: string
enum:
- users
title: GroupsIdGetParametersExpandSchemaItems
CategoryEnum:
type: string
enum:
- hris
- ats
- accounting
- ticketing
- crm
- mktg
- filestorage
- knowledgebase
title: CategoryEnum
AccountDetails:
type: object
properties:
id:
type: string
format: uuid
integration:
type: string
integration_slug:
type: string
category:
oneOf:
- $ref: '#/components/schemas/CategoryEnum'
- type: 'null'
end_user_origin_id:
type: string
end_user_organization_name:
type: string
end_user_email_address:
type: string
format: email
status:
type: string
webhook_listener_url:
type: string
format: uri
is_duplicate:
type:
- boolean
- 'null'
description: >-
Whether a Production Linked Account's credentials match another existing Production Linked Account. This
field is `null` for Test Linked Accounts, incomplete Production Linked Accounts, and ignored duplicate
Production Linked Account sets.
account_type:
type: string
completed_at:
type:
- string
- 'null'
format: date-time
description: The time at which account completes the linking flow.
instance_id:
type:
- string
- 'null'
instance_display_value:
type:
- string
- 'null'
title: AccountDetails
CategoriesEnum:
type: string
enum:
- hris
- ats
- accounting
- ticketing
- crm
- mktg
- filestorage
- knowledgebase
title: CategoriesEnum
AccountIntegrationCategoryBetaStatus:
type: object
properties: {}
description: Category or categories this integration is in beta status for.
title: AccountIntegrationCategoryBetaStatus
AccountIntegration:
type: object
properties:
name:
type: string
description: Company name.
abbreviated_name:
type:
- string
- 'null'
description: >-
Optional. This shortened name appears in places with limited space, usually in conjunction with the
platform's logo (e.g., Merge Link menu).
Example: Workforce Now (in lieu of ADP Workforce Now),
SuccessFactors (in lieu of SAP SuccessFactors)
categories:
type: array
items:
$ref: '#/components/schemas/CategoriesEnum'
description: >-
Category or categories this integration belongs to. Multiple categories should be comma separated, i.e.
[ats, hris].
image:
type:
- string
- 'null'
format: uri
description: Company logo in rectangular shape.
square_image:
type:
- string
- 'null'
format: uri
description: Company logo in square shape.
color:
type: string
description: >-
The color of this integration used for buttons and text throughout the app and landing pages. Choose a
darker, saturated color.
slug:
type: string
api_endpoints_to_documentation_urls:
type: object
additionalProperties:
description: Any type
description: >-
Mapping of API endpoints to documentation urls for support. Example: {'GET': [['/common-model-scopes',
'https://docs.merge.dev/accounting/common-model-scopes/#common_model_scopes_retrieve'],['/common-model-actions',
'https://docs.merge.dev/accounting/common-model-actions/#common_model_actions_retrieve']], 'POST': []}
webhook_setup_guide_url:
type:
- string
- 'null'
description: Setup guide URL for third party webhook creation. Exposed in Merge Docs.
category_beta_status:
$ref: '#/components/schemas/AccountIntegrationCategoryBetaStatus'
description: Category or categories this integration is in beta status for.
required:
- name
title: AccountIntegration
AccountToken:
type: object
properties:
account_token:
type: string
integration:
$ref: '#/components/schemas/AccountIntegration'
id:
type: string
required:
- account_token
- integration
- id
title: AccountToken
RegenerateAccountToken:
type: object
properties:
linked_account_id:
type: string
account_token:
type: string
required:
- linked_account_id
- account_token
description: |-
# The RegenerateAccountToken Object
### Description
The `RegenerateAccountToken` object is used to exchange an old account token for a new one.
### Usage Example
Post to receive a new `RegenerateAccountToken`.
title: RegenerateAccountToken
deleteAccount_delete_Response_200:
type: object
properties: {}
description: Empty response body
title: deleteAccount_delete_Response_200
IssuesGetParametersStatus:
type: string
enum:
- ONGOING
- RESOLVED
title: IssuesGetParametersStatus
IssueStatusEnum:
type: string
enum:
- ONGOING
- RESOLVED
title: IssueStatusEnum
Issue:
type: object
properties:
id:
type: string
format: uuid
status:
$ref: '#/components/schemas/IssueStatusEnum'
description: Status of the issue.
error_description:
type: string
end_user:
type: object
additionalProperties:
description: Any type
first_incident_time:
type:
- string
- 'null'
format: date-time
last_incident_time:
type:
- string
- 'null'
format: date-time
is_muted:
type: boolean
error_details:
type: array
items:
type: string
required:
- error_description
title: Issue
PaginatedIssueList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/Issue'
title: PaginatedIssueList
LinkedAccountsGetParametersCategory:
type: string
enum:
- accounting
- ats
- chat
- crm
- filestorage
- hris
- knowledgebase
- mktg
- ticketing
title: LinkedAccountsGetParametersCategory
AccountDetailsAndActionsStatusEnum:
type: string
enum:
- COMPLETE
- INCOMPLETE
- RELINK_NEEDED
- IDLE
title: AccountDetailsAndActionsStatusEnum
ModelOperation:
type: object
properties:
model_name:
type: string
available_operations:
type: array
items:
type: string
required_post_parameters:
type: array
items:
type: string
supported_fields:
type: array
items:
type: string
required:
- model_name
- available_operations
- required_post_parameters
- supported_fields
description: |-
# The ModelOperation Object
### Description
The `ModelOperation` object is used to represent the operations that are currently supported for a given model.
### Usage Example
View what operations are supported for the `Candidate` endpoint.
title: ModelOperation
AccountDetailsAndActionsIntegration:
type: object
properties:
name:
type: string
categories:
type: array
items:
$ref: '#/components/schemas/CategoriesEnum'
image:
type: string
square_image:
type: string
color:
type: string
slug:
type: string
passthrough_available:
type: boolean
available_model_operations:
type: array
items:
$ref: '#/components/schemas/ModelOperation'
required:
- name
- categories
- color
- slug
- passthrough_available
title: AccountDetailsAndActionsIntegration
AccountDetailsAndActions:
type: object
properties:
id:
type: string
category:
$ref: '#/components/schemas/CategoryEnum'
status:
$ref: '#/components/schemas/AccountDetailsAndActionsStatusEnum'
status_detail:
type: string
end_user_origin_id:
type: string
end_user_organization_name:
type: string
end_user_email_address:
type: string
subdomain:
type: string
description: The tenant or domain the customer has provided access to.
webhook_listener_url:
type: string
is_duplicate:
type:
- boolean
- 'null'
description: >-
Whether a Production Linked Account's credentials match another existing Production Linked Account. This
field is `null` for Test Linked Accounts, incomplete Production Linked Accounts, and ignored duplicate
Production Linked Account sets.
integration:
$ref: '#/components/schemas/AccountDetailsAndActionsIntegration'
account_type:
type: string
completed_at:
type: string
format: date-time
integration_specific_fields:
type: object
additionalProperties:
description: Any type
required:
- id
- status
- end_user_organization_name
- end_user_email_address
- webhook_listener_url
- account_type
- completed_at
description: |-
# The LinkedAccount Object
### Description
The `LinkedAccount` object is used to represent an end user's link with a specific integration.
### Usage Example
View a list of your organization's `LinkedAccount` objects.
title: AccountDetailsAndActions
PaginatedAccountDetailsAndActionsList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/AccountDetailsAndActions'
title: PaginatedAccountDetailsAndActionsList
EnabledActionsEnum:
type: string
enum:
- READ
- WRITE
title: EnabledActionsEnum
CommonModelScopesBodyRequest:
type: object
properties:
model_id:
type: string
enabled_actions:
type: array
items:
$ref: '#/components/schemas/EnabledActionsEnum'
disabled_fields:
type: array
items:
type: string
required:
- model_id
- enabled_actions
- disabled_fields
title: CommonModelScopesBodyRequest
ModelPermissionDeserializerRequest:
type: object
properties:
is_enabled:
type: boolean
title: ModelPermissionDeserializerRequest
FieldPermissionDeserializerRequest:
type: object
properties:
enabled_fields:
type: array
items:
description: Any type
disabled_fields:
type: array
items:
description: Any type
title: FieldPermissionDeserializerRequest
IndividualCommonModelScopeDeserializerRequest:
type: object
properties:
model_name:
type: string
model_permissions:
type: object
additionalProperties:
$ref: '#/components/schemas/ModelPermissionDeserializerRequest'
field_permissions:
$ref: '#/components/schemas/FieldPermissionDeserializerRequest'
required:
- model_name
title: IndividualCommonModelScopeDeserializerRequest
LanguageEnum:
type: string
enum:
- en
- de
title: LanguageEnum
CompletedAccountInitialScreenEnum:
type: string
enum:
- SELECTIVE_SYNC
title: CompletedAccountInitialScreenEnum
EndUserDetailsRequest:
type: object
properties:
end_user_email_address:
type: string
description: >-
Your end user's email address. This is purely for identification purposes - setting this value will not
cause any emails to be sent.
end_user_organization_name:
type: string
description: Your end user's organization.
end_user_origin_id:
type: string
description: >-
This unique identifier typically represents the ID for your end user in your product's database. This value
must be distinct from other Linked Accounts' unique identifiers.
categories:
type: array
items:
$ref: '#/components/schemas/CategoriesEnum'
description: The integration categories to show in Merge Link.
integration:
type:
- string
- 'null'
description: >-
The slug of a specific pre-selected integration for this linking flow token. For examples of slugs, see
https://docs.merge.dev/guides/merge-link/single-integration/.
link_expiry_mins:
type: integer
default: 30
description: >-
An integer number of minutes between [30, 720 or 10080 if for a Magic Link URL] for how long this token is
valid. Defaults to 30.
should_create_magic_link_url:
type:
- boolean
- 'null'
default: false
description: >-
Whether to generate a Magic Link URL. Defaults to false. For more information on Magic Link, see
https://merge.dev/blog/integrations-fast-say-hello-to-magic-link.
hide_admin_magic_link:
type:
- boolean
- 'null'
default: false
description: >-
Whether to generate a Magic Link URL on the Admin Needed screen during the linking flow. Defaults to false.
For more information on Magic Link, see https://merge.dev/blog/integrations-fast-say-hello-to-magic-link.
common_models:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/CommonModelScopesBodyRequest'
description: >-
An array of objects to specify the models and fields that will be disabled for a given Linked Account. Each
object uses model_id, enabled_actions, and disabled_fields to specify the model, method, and fields that are
scoped for a given Linked Account.
category_common_model_scopes:
type:
- object
- 'null'
additionalProperties:
type: array
items:
$ref: '#/components/schemas/IndividualCommonModelScopeDeserializerRequest'
description: >-
When creating a Link Token, you can set permissions for Common Models that will apply to the account that is
going to be linked. Any model or field not specified in link token payload will default to existing
settings.
language:
oneOf:
- $ref: '#/components/schemas/LanguageEnum'
- type: 'null'
description: The following subset of IETF language tags can be used to configure localization.
are_syncs_disabled:
type:
- boolean
- 'null'
default: false
description: The boolean that indicates whether initial, periodic, and force syncs will be disabled.
integration_specific_config:
type:
- object
- 'null'
additionalProperties:
description: Any type
description: A JSON object containing integration-specific configuration options.
completed_account_initial_screen:
oneOf:
- $ref: '#/components/schemas/CompletedAccountInitialScreenEnum'
- type: 'null'
description: >-
When creating a Link token, you can specifiy the initial screen of Linking Flow for a completed Linked
Account.
linked_destination_id:
type:
- string
- 'null'
format: uuid
description: The UUID of the linked destination that you want this Linked Account to be tied to.
credential_id:
type:
- string
- 'null'
format: uuid
description: The id of the credential that you want this Linked Account to be tied to.
ekm_enabled:
type: boolean
default: false
description: Whether to enable EKM (External Key Management) for this Linked Account.
required:
- end_user_email_address
- end_user_organization_name
- end_user_origin_id
- categories
title: EndUserDetailsRequest
LinkToken:
type: object
properties:
link_token:
type: string
integration_name:
type: string
magic_link_url:
type: string
required:
- link_token
title: LinkToken
FieldMappingApiInstanceTargetField:
type: object
properties:
name:
type: string
description:
type: string
is_organization_wide:
type: boolean
required:
- name
- description
- is_organization_wide
title: FieldMappingApiInstanceTargetField
FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo:
type: object
properties:
method:
type:
- string
- 'null'
url_path:
type:
- string
- 'null'
field_traversal_path:
type:
- array
- 'null'
items:
type: string
required:
- method
- url_path
- field_traversal_path
title: FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo
FieldMappingApiInstanceRemoteField:
type: object
properties:
remote_key_name:
type:
- string
- 'null'
schema:
type:
- object
- 'null'
additionalProperties:
description: Any type
remote_endpoint_info:
$ref: '#/components/schemas/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo'
required:
- remote_key_name
- schema
- remote_endpoint_info
title: FieldMappingApiInstanceRemoteField
FieldMappingApiInstance:
type: object
properties:
id:
type: string
format: uuid
is_integration_wide:
type: boolean
target_field:
oneOf:
- $ref: '#/components/schemas/FieldMappingApiInstanceTargetField'
- type: 'null'
remote_field:
oneOf:
- $ref: '#/components/schemas/FieldMappingApiInstanceRemoteField'
- type: 'null'
jmes_path:
type:
- string
- 'null'
advanced_mapping_expression:
type:
- string
- 'null'
title: FieldMappingApiInstance
FieldMappingApiInstanceResponse:
type: object
properties:
User:
type: array
items:
$ref: '#/components/schemas/FieldMappingApiInstance'
Group:
type: array
items:
$ref: '#/components/schemas/FieldMappingApiInstance'
Conversation:
type: array
items:
$ref: '#/components/schemas/FieldMappingApiInstance'
Member:
type: array
items:
$ref: '#/components/schemas/FieldMappingApiInstance'
title: FieldMappingApiInstanceResponse
CreateFieldMappingRequest:
type: object
properties:
target_field_name:
type: string
description: >-
The name of the target field you want this remote field to map to. Required if
organization_wide_target_field is not provided.
target_field_description:
type: string
description: >-
The description of the target field you want this remote field to map to. Required if
organization_wide_target_field is not provided.
organization_wide_target_field:
type: string
description: >-
The name or key of an existing Organization-wide target field to map to. When provided, target_field_name
and target_field_description are optional.
is_integration_wide:
type: boolean
default: false
description: >-
If true, creates an integration-wide field mapping that applies to all Linked Accounts for the integration.
Requires organization_wide_target_field.
remote_field_traversal_path:
type: array
items:
description: Any type
description: The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint.
remote_method:
type: string
description: The method of the remote endpoint where the remote field is coming from.
remote_url_path:
type: string
description: The path of the remote endpoint where the remote field is coming from.
common_model_name:
type: string
description: The name of the Common Model that the remote field corresponds to in a given category.
jmes_path:
type: string
description: 'DEPRECATED: Use ''advanced_mapping_expression'' instead.'
advanced_mapping_expression:
type: string
description: A JSONata expression used to transform the remote field data.
required:
- remote_field_traversal_path
- remote_method
- remote_url_path
- common_model_name
title: CreateFieldMappingRequest
ValidationProblemSource:
type: object
properties:
pointer:
type: string
required:
- pointer
title: ValidationProblemSource
WarningValidationProblem:
type: object
properties:
source:
$ref: '#/components/schemas/ValidationProblemSource'
title:
type: string
detail:
type: string
problem_type:
type: string
block_merge_link:
type: boolean
raw_error:
type: string
error_code:
type: integer
required:
- title
- detail
- problem_type
title: WarningValidationProblem
ErrorValidationProblem:
type: object
properties:
source:
$ref: '#/components/schemas/ValidationProblemSource'
title:
type: string
detail:
type: string
problem_type:
type: string
block_merge_link:
type: boolean
raw_error:
type: string
error_code:
type: integer
required:
- title
- detail
- problem_type
title: ErrorValidationProblem
DebugModelLogSummary:
type: object
properties:
url:
type: string
method:
type: string
status_code:
type: integer
required:
- url
- method
- status_code
title: DebugModelLogSummary
DebugModeLog:
type: object
properties:
log_id:
type: string
dashboard_view:
type: string
log_summary:
$ref: '#/components/schemas/DebugModelLogSummary'
required:
- log_id
- dashboard_view
- log_summary
title: DebugModeLog
FieldMappingInstanceResponse:
type: object
properties:
model:
$ref: '#/components/schemas/FieldMappingApiInstance'
warnings:
type: array
items:
$ref: '#/components/schemas/WarningValidationProblem'
errors:
type: array
items:
$ref: '#/components/schemas/ErrorValidationProblem'
logs:
type: array
items:
$ref: '#/components/schemas/DebugModeLog'
required:
- model
- warnings
- errors
title: FieldMappingInstanceResponse
PatchedEditFieldMappingRequest:
type: object
properties:
remote_field_traversal_path:
type: array
items:
description: Any type
description: The field traversal path of the remote field listed when you hit the GET /remote-fields endpoint.
remote_method:
type: string
description: The method of the remote endpoint where the remote field is coming from.
remote_url_path:
type: string
description: The path of the remote endpoint where the remote field is coming from.
jmes_path:
type: string
description: 'DEPRECATED: Use ''advanced_mapping_expression'' instead.'
advanced_mapping_expression:
type: string
description: A JSONata expression used to transform the remote field data.
title: PatchedEditFieldMappingRequest
RemoteEndpointInfo:
type: object
properties:
method:
type: string
url_path:
type: string
field_traversal_path:
type: array
items:
description: Any type
required:
- method
- url_path
- field_traversal_path
title: RemoteEndpointInfo
AdvancedMetadata:
type: object
properties:
id:
type: string
format: uuid
display_name:
type: string
description:
type: string
is_required:
type: boolean
is_custom:
type: boolean
field_choices:
type: array
items:
description: Any type
required:
- id
title: AdvancedMetadata
RemoteFieldApiCoverage:
oneOf:
- type: integer
- type: number
format: double
title: RemoteFieldApiCoverage
RemoteFieldAPI:
type: object
properties:
schema:
type: object
additionalProperties:
description: Any type
remote_key_name:
type: string
remote_endpoint_info:
$ref: '#/components/schemas/RemoteEndpointInfo'
example_values:
type:
- array
- 'null'
items:
description: Any type
advanced_metadata:
oneOf:
- $ref: '#/components/schemas/AdvancedMetadata'
- type: 'null'
coverage:
oneOf:
- $ref: '#/components/schemas/RemoteFieldApiCoverage'
- type: 'null'
required:
- schema
- remote_key_name
- remote_endpoint_info
- advanced_metadata
title: RemoteFieldAPI
RemoteFieldAPIResponse:
type: object
properties:
User:
type: array
items:
$ref: '#/components/schemas/RemoteFieldAPI'
Group:
type: array
items:
$ref: '#/components/schemas/RemoteFieldAPI'
Conversation:
type: array
items:
$ref: '#/components/schemas/RemoteFieldAPI'
Member:
type: array
items:
$ref: '#/components/schemas/RemoteFieldAPI'
title: RemoteFieldAPIResponse
ExternalTargetFieldAPI:
type: object
properties:
name:
type:
- string
- 'null'
description:
type:
- string
- 'null'
is_mapped:
type:
- string
- 'null'
title: ExternalTargetFieldAPI
ExternalTargetFieldAPIResponse:
type: object
properties:
User:
type: array
items:
$ref: '#/components/schemas/ExternalTargetFieldAPI'
Group:
type: array
items:
$ref: '#/components/schemas/ExternalTargetFieldAPI'
Conversation:
type: array
items:
$ref: '#/components/schemas/ExternalTargetFieldAPI'
Member:
type: array
items:
$ref: '#/components/schemas/ExternalTargetFieldAPI'
title: ExternalTargetFieldAPIResponse
CreateTargetFieldRequest:
type: object
properties:
name:
type: string
description: The name of the target field.
description:
type: string
default: ''
description: The description of the target field.
common_model:
type: string
description: The name of the Common Model to associate the target field with.
required:
- name
- common_model
title: CreateTargetFieldRequest
AvailableActions:
type: object
properties:
integration:
$ref: '#/components/schemas/AccountIntegration'
passthrough_available:
type: boolean
available_model_operations:
type: array
items:
$ref: '#/components/schemas/ModelOperation'
required:
- integration
- passthrough_available
description: |-
# The AvailableActions Object
### Description
The `Activity` object is used to see all available model/operation combinations for an integration.
### Usage Example
Fetch all the actions available for the `Zenefits` integration.
title: AvailableActions
ModelPermissionDeserializer:
type: object
properties:
is_enabled:
type: boolean
title: ModelPermissionDeserializer
FieldPermissionDeserializer:
type: object
properties:
enabled_fields:
type: array
items:
description: Any type
disabled_fields:
type: array
items:
description: Any type
title: FieldPermissionDeserializer
IndividualCommonModelScopeDeserializer:
type: object
properties:
model_name:
type: string
model_permissions:
type: object
additionalProperties:
$ref: '#/components/schemas/ModelPermissionDeserializer'
field_permissions:
$ref: '#/components/schemas/FieldPermissionDeserializer'
required:
- model_name
title: IndividualCommonModelScopeDeserializer
CommonModelScopeAPI:
type: object
properties:
common_models:
type: array
items:
$ref: '#/components/schemas/IndividualCommonModelScopeDeserializer'
description: The common models you want to update the scopes for
required:
- common_models
title: CommonModelScopeAPI
LinkedAccountCommonModelScopeDeserializerRequest:
type: object
properties:
common_models:
type: array
items:
$ref: '#/components/schemas/IndividualCommonModelScopeDeserializerRequest'
description: The common models you want to update the scopes for
required:
- common_models
title: LinkedAccountCommonModelScopeDeserializerRequest
MethodEnum:
type: string
enum:
- GET
- OPTIONS
- HEAD
- POST
- PUT
- PATCH
- DELETE
title: MethodEnum
EncodingEnum:
type: string
enum:
- RAW
- BASE64
- GZIP_BASE64
title: EncodingEnum
MultipartFormFieldRequest:
type: object
properties:
name:
type: string
description: The name of the form field
data:
type: string
description: The data for the form field.
encoding:
oneOf:
- $ref: '#/components/schemas/EncodingEnum'
- type: 'null'
description: The encoding of the value of `data`. Defaults to `RAW` if not defined.
file_name:
type:
- string
- 'null'
description: The file name of the form field, if the field is for a file.
content_type:
type:
- string
- 'null'
description: The MIME type of the file, if the field is for a file.
required:
- name
- data
description: |-
# The MultipartFormField Object
### Description
The `MultipartFormField` object is used to represent fields in an HTTP request using `multipart/form-data`.
### Usage Example
Create a `MultipartFormField` to define a multipart form entry.
title: MultipartFormFieldRequest
RequestFormatEnum:
type: string
enum:
- JSON
- XML
- MULTIPART
title: RequestFormatEnum
DataPassthroughRequest:
type: object
properties:
method:
$ref: '#/components/schemas/MethodEnum'
path:
type: string
description: The path of the request in the third party's platform.
base_url_override:
type:
- string
- 'null'
description: An optional override of the third party's base url for the request.
data:
type:
- string
- 'null'
description: The data with the request. You must include a `request_format` parameter matching the data's format
multipart_form_data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/MultipartFormFieldRequest'
description: >-
Pass an array of `MultipartFormField` objects in here instead of using the `data` param if `request_format`
is set to `MULTIPART`.
headers:
type:
- object
- 'null'
additionalProperties:
description: Any type
description: >-
The headers to use for the request (Merge will handle the account's authorization headers). `Content-Type`
header is required for passthrough. Choose content type corresponding to expected format of receiving
server.
request_format:
oneOf:
- $ref: '#/components/schemas/RequestFormatEnum'
- type: 'null'
normalize_response:
type: boolean
description: >-
Optional. If true, the response will always be an object of the form `{"type": T, "value": ...}` where `T`
will be one of `string, boolean, number, null, array, object`.
required:
- method
- path
description: |-
# The DataPassthrough Object
### Description
The `DataPassthrough` object is used to send information to an otherwise-unsupported third-party endpoint.
### Usage Example
Create a `DataPassthrough` to get team hierarchies from your Rippling integration.
title: DataPassthroughRequest
ResponseTypeEnum:
type: string
enum:
- JSON
- BASE64_GZIP
title: ResponseTypeEnum
RemoteResponse:
type: object
properties:
method:
type: string
path:
type: string
status:
type: integer
response:
description: Any type
response_headers:
type: object
additionalProperties:
description: Any type
response_type:
$ref: '#/components/schemas/ResponseTypeEnum'
headers:
type: object
additionalProperties:
description: Any type
required:
- method
- path
- status
- response
description: |-
# The RemoteResponse Object
### Description
The `RemoteResponse` object is used to represent information returned from a third-party endpoint.
### Usage Example
View the `RemoteResponse` returned from your `DataPassthrough`.
title: RemoteResponse
AsyncPassthroughReciept:
type: object
properties:
async_passthrough_receipt_id:
type: string
format: uuid
required:
- async_passthrough_receipt_id
title: AsyncPassthroughReciept
LastSyncResultEnum:
type: string
enum:
- SYNCING
- DONE
- FAILED
- DISABLED
- PAUSED
- PARTIALLY_SYNCED
title: LastSyncResultEnum
StatusFd5Enum:
type: string
enum:
- SYNCING
- DONE
- FAILED
- DISABLED
- PAUSED
- PARTIALLY_SYNCED
title: StatusFd5Enum
SelectiveSyncConfigurationsUsageEnum:
type: string
enum:
- IN_NEXT_SYNC
- IN_LAST_SYNC
title: SelectiveSyncConfigurationsUsageEnum
SyncStatus:
type: object
properties:
model_name:
type: string
model_id:
type: string
last_sync_start:
type: string
format: date-time
next_sync_start:
type: string
format: date-time
last_sync_result:
$ref: '#/components/schemas/LastSyncResultEnum'
last_sync_finished:
type: string
format: date-time
status:
$ref: '#/components/schemas/StatusFd5Enum'
is_initial_sync:
type: boolean
selective_sync_configurations_usage:
$ref: '#/components/schemas/SelectiveSyncConfigurationsUsageEnum'
required:
- model_name
- model_id
- status
- is_initial_sync
description: |-
# The SyncStatus Object
### Description
The `SyncStatus` object is used to represent the syncing state of an account
### Usage Example
View the `SyncStatus` for an account to see how recently its models were synced.
title: SyncStatus
PaginatedSyncStatusList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/SyncStatus'
title: PaginatedSyncStatusList
GenerateRemoteKeyRequest:
type: object
properties:
name:
type: string
description: The name of the remote key
required:
- name
description: |-
# The GenerateRemoteKey Object
### Description
The `GenerateRemoteKey` object is used to represent a request for a new remote key.
### Usage Example
Post a `GenerateRemoteKey` to create a new remote key.
title: GenerateRemoteKeyRequest
RemoteKey:
type: object
properties:
name:
type: string
key:
type: string
required:
- name
- key
description: |-
# The RemoteKey Object
### Description
The `RemoteKey` object is used to represent a request for a new remote key.
### Usage Example
Post a `GenerateRemoteKey` to receive a new `RemoteKey`.
title: RemoteKey
RemoteKeyForRegenerationRequest:
type: object
properties:
name:
type: string
description: The name of the remote key
required:
- name
description: |-
# The RemoteKeyForRegeneration Object
### Description
The `RemoteKeyForRegeneration` object is used to exchange an old remote key for a new one
### Usage Example
Post a `RemoteKeyForRegeneration` to swap out an old remote key for a new one
title: RemoteKeyForRegenerationRequest
RoleEnum:
type: string
enum:
- ADMIN
- DEVELOPER
- MEMBER
- API
- SYSTEM
- MERGE_TEAM
- SUPPORT
title: RoleEnum
EventTypeEnum:
type: string
enum:
- CREATED_REMOTE_PRODUCTION_API_KEY
- DELETED_REMOTE_PRODUCTION_API_KEY
- CREATED_TEST_API_KEY
- DELETED_TEST_API_KEY
- REGENERATED_PRODUCTION_API_KEY
- REGENERATED_WEBHOOK_SIGNATURE
- INVITED_USER
- TWO_FACTOR_AUTH_ENABLED
- TWO_FACTOR_AUTH_DISABLED
- DELETED_LINKED_ACCOUNT
- DELETED_ALL_COMMON_MODELS_FOR_LINKED_ACCOUNT
- CREATED_DESTINATION
- DELETED_DESTINATION
- CHANGED_DESTINATION
- CHANGED_SCOPES
- CHANGED_PERSONAL_INFORMATION
- CHANGED_ORGANIZATION_SETTINGS
- ENABLED_INTEGRATION
- DISABLED_INTEGRATION
- ENABLED_CATEGORY
- DISABLED_CATEGORY
- CHANGED_PASSWORD
- RESET_PASSWORD
- ENABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION
- ENABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT
- DISABLED_REDACT_UNMAPPED_DATA_FOR_ORGANIZATION
- DISABLED_REDACT_UNMAPPED_DATA_FOR_LINKED_ACCOUNT
- CREATED_INTEGRATION_WIDE_FIELD_MAPPING
- CREATED_LINKED_ACCOUNT_FIELD_MAPPING
- CHANGED_INTEGRATION_WIDE_FIELD_MAPPING
- CHANGED_LINKED_ACCOUNT_FIELD_MAPPING
- DELETED_INTEGRATION_WIDE_FIELD_MAPPING
- DELETED_LINKED_ACCOUNT_FIELD_MAPPING
- CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
- CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
- DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
- FORCED_LINKED_ACCOUNT_RESYNC
- MUTED_ISSUE
- GENERATED_MAGIC_LINK
- ENABLED_MERGE_WEBHOOK
- DISABLED_MERGE_WEBHOOK
- MERGE_WEBHOOK_TARGET_CHANGED
- END_USER_CREDENTIALS_ACCESSED
title: EventTypeEnum
AuditLogEvent:
type: object
properties:
id:
type: string
format: uuid
user_name:
type:
- string
- 'null'
description: The User's full name at the time of this Event occurring.
user_email:
type:
- string
- 'null'
format: email
description: The User's email at the time of this Event occurring.
role:
$ref: '#/components/schemas/RoleEnum'
description: >-
Designates the role of the user (or SYSTEM/API if action not taken by a user) at the time of this Event
occurring.
ip_address:
type: string
event_type:
$ref: '#/components/schemas/EventTypeEnum'
description: Designates the type of event that occurred.
event_description:
type: string
created_at:
type: string
format: date-time
required:
- role
- ip_address
- event_type
- event_description
title: AuditLogEvent
PaginatedAuditLogEventList:
type: object
properties:
next:
type:
- string
- 'null'
previous:
type:
- string
- 'null'
results:
type: array
items:
$ref: '#/components/schemas/AuditLogEvent'
title: PaginatedAuditLogEventList
securitySchemes:
tokenAuth:
type: http
scheme: bearer
description: Token-based authentication with required prefix "Bearer"