Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Pipeliner Cloud Chat API
version: '100'
servers:
- url: https://us-east.api.pipelinersales.com/api/v100/rest/spaces/{space_id}
- url: https://eu-central.api.pipelinersales.com/api/v100/rest/spaces/{space_id}
- url: https://ca-central.api.pipelinersales.com/api/v100/rest/spaces/{space_id}
- url: https://ap-southeast.api.pipelinersales.com/api/v100/rest/spaces/{space_id}
tags:
- name: Chat
paths:
/entities/ChatConversations/{id}:
get:
description: Returns ChatConversation with given id
operationId: ChatConversations.get
summary: ChatConversations.get
tags:
- Chat
parameters:
- name: id
in: path
description: ID of ChatConversation to retrieve
required: true
schema:
type: string
format: uuid
responses:
'200':
description: ChatConversation data
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
description: True when response succeeded, false on error.
data:
$ref: '#/components/schemas/ChatConversation'
'404':
description: Sent when invalid ID is given
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
description: Removes ChatConversation with given id
operationId: ChatConversations.delete
summary: ChatConversations.delete
tags:
- Chat
parameters:
- name: id
in: path
description: ID of ChatConversation to delete
required: true
schema:
type: string
format: uuid
- name: validation-level
in: query
description: 'Specify validation level of ChatConversation on delete. Use them as bit mask: 0 - validate each field on entity,
2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,
16 - allows to set entity on deleted relationship.'
schema:
type: integer
format: int32
responses:
'200':
description: Removal confirmation
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
description: True when response succeeded, false on error.
data:
description: id of deleted ChatConversation
type: string
format: uuid
'404':
description: Sent when invalid ID is given
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
patch:
description: Modifies ChatConversation or ChatConversations with given id(s)
parameters:
- name: id
in: path
description: ID of ChatConversation to update
required: true
schema:
type: string
format: uuid
- name: validation-level
in: query
description: 'Specify validation level of ChatConversation on update. Use them as bit mask: 0 - validate each field on entity,
2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,
16 - allows to set entity on deleted relationship.'
schema:
type: integer
format: int32
operationId: ChatConversations.update
summary: ChatConversations.update
tags:
- Chat
requestBody:
description: id(s) of modified item(s) and fields to modify
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/updateChatConversationInput'
responses:
'200':
description: Modification confirmation. Returns resulting ChatConversation
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
description: True when response succeeded, false on error.
data:
$ref: '#/components/schemas/ChatConversation'
'404':
description: Sent when invalid ID is given
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/entities/ChatConversations:
get:
description: Returns all defined ChatConversations
operationId: ChatConversations.list
summary: ChatConversations.list
tags:
- Chat
parameters:
- name: include-deleted
in: query
description: if enabled, deleted ChatConversations are returned as well
required: false
schema:
type: boolean
- name: first
in: query
description: 'Number of entities to return from beginning of the result set. Max: 100. Default: 30'
required: false
schema:
type: integer
format: int32
- name: last
in: query
description: Return only the "last" number of entities from result set. When used with first parameter, then it returns last M records from the first N records.
required: false
schema:
type: integer
format: int32
- name: before
in: query
description: Cursor until which to take entities to result set.
required: false
schema:
type: string
- name: after
in: query
description: Cursor after which to start taking entities to result set.
required: false
schema:
type: string
- name: expand
in: query
description: Expand related entity. Use api_names of relation fields. You can use multiple values separated via ',' colon. If not used, URI link will be returned instead. You can use dots '.' to expand nested entities as well.
required: false
example: expand=owner,sales_unit,account_relations.account
schema:
type: string
- name: order-by
in: query
description: Order by values. Use api_name of field to sort by ascending. Prefix api_name with '-' to descending sort. You can use multiple values separated via ',' colon.
example: order-by=created,-modified
required: false
schema:
type: string
- name: filter
in: query
description: Use name of field in braces to filter by this field. To advanced filter, use with combination with filter-op parameter.
example: filter[name]=Example
required: false
schema:
type: object
style: deepObject
allowReserved: true
- name: filter-op
in: query
description: 'Filter operator. Specify a way how to filter fields. Supported operators: [eq, ieq, not-eq, not-ieq, contains, starts, ends, icontains, istarts, iends, null, not-null, empty, not-empty, gt, gte, lt, lte, between].'
example: filter-op[name]=eq
required: false
schema:
type: object
style: deepObject
allowReserved: true
- name: load-only
in: query
description: Loads only fields defined within this parameter. You can use multiple values separated via ',' colon. If not used, then all fields are returned. You can use dots '.' to specify load only fields in nested as well.
required: false
example: load-only=id,name,owner.id
schema:
type: string
responses:
'200':
description: list of ChatConversations
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
description: True when response succeeded, false on error.
data:
type: array
items:
$ref: '#/components/schemas/ChatConversation'
page_info:
type: object
properties:
start_cursor:
type: string
example: WyIwMSIsICJiMmYwODI0Ni1iYWE5LTQyY2QtYmM3Yi04YmM4MjY3M2E2NTgiXQ==
description: Start cursor of result set.
end_cursor:
type: string
example: WyIwNSIsICJmMjZhZjZiMC00ZWE4LTQ3MDgtODU2NC0wN2JmYzI4ZGQ5ZTgiXQ==
description: End cursor of result set.
has_previous_page:
type: boolean
example: true
description: If result set has previous page (if yes, use start_cursor value in before parameter to load it).
has_next_page:
type: boolean
example: true
description: If result set has next page (if yes, use end_cursor value in after parameter to load it).
description: Page info result set. Please note it is returned only when legacy limit & offset parameters are not used.
'500':
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
description: Creates new ChatConversation
operationId: ChatConversations.create
summary: ChatConversations.create
tags:
- Chat
parameters:
- name: validation-level
in: query
description: 'Specify validation level of ChatConversation on create. Use them as bit mask: 0 - validate each field on entity,
2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,
16 - allows to set entity on deleted relationship.'
schema:
type: integer
format: int32
requestBody:
description: data of new ChatConversation
required: true
content:
application / json:
schema:
$ref: '#/components/schemas/createChatConversationInput'
responses:
'201':
description: Creation confirmation. Returns created ChatConversation
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
description: True when response succeeded, false on error.
data:
$ref: '#/components/schemas/ChatConversation'
'500':
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/entities/ChatConversations/batch-delete:
post:
description: Removes ChatConversations with given list of ids
operationId: ChatConversations.batch_delete
summary: ChatConversations.batch_delete
tags:
- Chat
parameters:
- name: validation-level
in: query
description: 'Specify validation level of ChatConversations on delete. Use them as bit mask: 0 - validate each field on entity,
2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,
16 - allows to set entity on deleted relationship.'
schema:
type: integer
format: int32
- name: rollback-method
in: query
description: Specify rollback method for ChatConversations. 0 - rollback all, 1 - rollback only failed records.
schema:
type: integer
format: int32
requestBody:
description: List of ids to delete.
required: true
content:
application / json:
schema:
type: array
items:
type: string
description: An id of entity ChatConversation to delete.
format: uuid
responses:
'200':
description: Batch removal confirmation
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
description: True when response succeeded, false on error.
data:
type: array
items:
oneOf:
- type: string
description: An id of deleted ChatConversation.
format: uuid
- $ref: '#/components/schemas/Error'
'500':
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/entities/ChatConversations/batch-modify:
post:
description: Create or update an batch of ChatConversations
operationId: ChatConversations.batch_create_or_update
summary: ChatConversations.batch_create_or_update
tags:
- Chat
parameters:
- name: validation-level
in: query
description: 'Specify validation level of ChatConversations on change. Use them as bit mask: 0 - validate each field on entity,
2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,
16 - allows to set entity on deleted relationship.'
schema:
type: integer
format: int32
- name: rollback-method
in: query
description: Specify rollback method for ChatConversations. 0 - rollback all, 1 - rollback only failed records.
schema:
type: integer
format: int32
requestBody:
description: data of new ChatConversation
required: true
content:
application / json:
schema:
type: array
items:
$ref: '#/components/schemas/batchChatConversationInput'
responses:
'200':
description: Creation confirmation. Returns a list of created / updated ChatConversations
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
description: True when response succeeded, false on error.
data:
type: array
items:
oneOf:
- type: string
description: And ID of created / updated entity.
format: uuid
- $ref: '#/components/schemas/Error'
'500':
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/entities/ChatConversations/batch-restore:
post:
description: Restores ChatConversations with given list of ids
operationId: ChatConversations.batch_restore
summary: ChatConversations.batch_restore
tags:
- Chat
parameters:
- name: validation-level
in: query
description: 'Specify validation level of ChatConversations on restore. Use them as bit mask: 0 - validate each field on entity,
2 - validate only changed fields, 4 - validate only system fields, 8 - allows to override readonly fields,
16 - allows to set entity on deleted relationship.'
schema:
type: integer
format: int32
- name: rollback-method
in: query
description: Specify rollback method for ChatConversations. 0 - rollback all, 1 - rollback only failed records.
schema:
type: integer
format: int32
requestBody:
description: List of ids to restore.
required: true
content:
application / json:
schema:
type: array
items:
type: string
description: An id of entity ChatConversation to restore.
format: uuid
responses:
'200':
description: Batch restoration confirmation
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
example: true
description: True when response succeeded, false on error.
data:
type: array
items:
oneOf:
- type: string
description: An id of restored ChatConversation.
format: uuid
- $ref: '#/components/schemas/Error'
'500':
description: unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
batchChatConversationInput:
properties:
owner_id:
type: string
format: uuid
example: 01234567-abcd-dcba-ffff-000000000000
description: Id of the owning user.
type:
type: integer
description: 'Field whose values are strictly defined with an enumeration of values.
Integer enum value: 1 - AiChat, 2 - AiRecordDetail'
example: 1
enum:
- 1
- 2
messages:
type: array
items:
type: object
properties:
id:
type: string
format: uri
description: 'Relation to TextMessage, see: ''updateTextMessageInput'' object for properties.'
description: Messages exchanged in the conversation, in chronological order.
id:
description: ID of object to update.
type: string
format: uuid
Error:
properties:
http_status:
description: HTTP status code
type: integer
example: 400
code:
description: Internal API error code
type: integer
example: 117
name:
description: Name of the API error
type: string
example: ERROR_PARAMETER_INVALID
message:
description: Description of the API error
type: string
success:
description: Always false on error.
type: boolean
example: false
required:
- success
- http_status
createChatConversationInput:
properties:
modified:
type: string
format: date-time
example: '2019-01-01T00:00:00'
description: Last modification time.
readOnly: true
created:
type: string
format: date-time
example: '2019-01-01T00:00:00'
description: Creation time.
readOnly: true
owner_id:
type: string
format: uuid
example: 01234567-abcd-dcba-ffff-000000000000
description: Id of the owning user.
type:
type: integer
description: 'Field whose values are strictly defined with an enumeration of values.
Integer enum value: 1 - AiChat, 2 - AiRecordDetail'
example: 1
enum:
- 1
- 2
messages:
type: array
items:
type: object
properties:
id:
type: string
format: uri
description: 'Relation to TextMessage, see: ''createTextMessageInput'' object for properties.'
description: Messages exchanged in the conversation, in chronological order.
required:
- owner_id
updateChatConversationInput:
properties:
owner_id:
type: string
format: uuid
example: 01234567-abcd-dcba-ffff-000000000000
description: Id of the owning user.
type:
type: integer
description: 'Field whose values are strictly defined with an enumeration of values.
Integer enum value: 1 - AiChat, 2 - AiRecordDetail'
example: 1
enum:
- 1
- 2
messages:
type: array
items:
type: object
properties:
id:
type: string
format: uri
description: 'Relation to TextMessage, see: ''updateTextMessageInput'' object for properties.'
description: Messages exchanged in the conversation, in chronological order.
ChatConversation:
properties:
is_delete_protected:
type: boolean
example: false
description: Tells if the entity instance is protected against delete (Entities that need to be present in the system at any time). Delete action still may fail if entity is deletable, due some other additional validations.
readOnly: true
id:
type: string
format: uuid
example: 01234567-abcd-dcba-ffff-000000000000
description: Unique identifier of entity.
readOnly: true
is_deleted:
type: boolean
example: false
description: Specifies if the entity is considered deleted.
readOnly: true
modified:
type: string
format: date-time
example: '2019-01-01T00:00:00'
description: Last modification time.
readOnly: true
created:
type: string
format: date-time
example: '2019-01-01T00:00:00'
description: Creation time.
readOnly: true
owner:
type: string
format: uri
description: 'User the conversation belongs to.
Relation to Client. By default it is returned as URI to related resource. Using parameter ''expand'', it will return full entity. See: ''Client'' object for properties.'
context:
type: string
format: binary
example: blob
description: Record context the conversation was started in (entity type, entity id and the AI screen view). Empty for conversations not bound to a record.
owner_id:
type: string
format: uuid
example: 01234567-abcd-dcba-ffff-000000000000
description: Id of the owning user.
type:
type: integer
description: 'Field whose values are strictly defined with an enumeration of values.
Integer enum value: 1 - AiChat, 2 - AiRecordDetail'
example: 1
enum:
- 1
- 2
messages:
type: array
items:
type: string
format: uri
description: 'Relation to TextMessage. By default it is returned as URI to related resource. Using parameter ''expand'', it will return full entity. See: ''TextMessage'' object for properties.'
description: Messages exchanged in the conversation, in chronological order.
required:
- is_delete_protected
- id
- owner
- owner_id