Hilos Conversation API
The Conversation API from Hilos — 2 operation(s) for conversation.
The Conversation API from Hilos — 2 operation(s) for conversation.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/hilos-conversation-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Hilos Contact Conversation API
version: 1.0.0
description: 'All of the below API endpoints require API key authentication, get your token at https://app.hilos.io/dev/api-keys.
To use this token, send with every request an `Authorization: Token <your token>` header.
Production API server is located at api.hilos.io using HTTPS.
No versioning info is required for now.'
servers:
- url: https://api.hilos.io
description: Production Server
security:
- tokenAuth: []
tags:
- name: Conversation
paths:
/api/inbox/conversation:
get:
tags:
- Conversation
summary: List Conversations
description: 'Lists Conversations. '
operationId: List Conversations
parameters:
- in: query
name: contact
schema:
type: string
format: uuid
description: A Contact Id to filter the Conversations and only get those from that Contact.
examples:
OnlyReturnTheConversationsOfThisContact:
value: a3ff7ee5-0c11-49e2-a0d6-7e316626f7b1
summary: Only return the Conversations of this Contact
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: search
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedConversationReadSimpleList'
description: ''
security:
- tokenAuth: []
/api/inbox/conversation/{id}/update:
patch:
tags:
- Conversation
summary: Partially Update a Conversation
description: Partially update a Conversation
operationId: Partially update a Conversation
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedConversationEdit'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedConversationEdit'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedConversationEdit'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ConversationEdit'
description: ''
security:
- tokenAuth: []
put:
tags:
- Conversation
summary: Update a conversation
description: Update a Conversation
operationId: Update a Conversation
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ConversationEdit'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ConversationEdit'
multipart/form-data:
schema:
$ref: '#/components/schemas/ConversationEdit'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ConversationEdit'
description: ''
security:
- tokenAuth: []
components:
schemas:
ConversationStatusEnum:
enum:
- CREATED
- FLOW
- FLOW_PAUSED
- NEW
- IN_PROGRESS
- RESOLVED
- CLOSED
type: string
ConversationReadSimple:
type: object
properties:
id:
type: string
description: The UUID of the Conversation.
contact:
type: string
format: uuid
status:
allOf:
- $ref: '#/components/schemas/ConversationStatusEnum'
readOnly: true
first_message:
allOf:
- $ref: '#/components/schemas/WhatsAppMessageSimple'
description: The first Message of the Conversation.
assigned:
type: array
items:
$ref: '#/components/schemas/AccountMemberUserBasicRead'
description: The Users assigned to the Conversation.
tags:
type: array
items:
$ref: '#/components/schemas/ConversationTag'
description: The Tags assigned to the Conversation.
created_on:
type: string
format: date-time
readOnly: true
title: Creado el
source:
allOf:
- $ref: '#/components/schemas/ConversationSourceEnum'
readOnly: true
assigned_team:
type: integer
description: The ID of the Team assigned to the Conversation.
channel:
type:
- integer
- 'null'
required:
- assigned
- contact
- created_on
- first_message
- id
- source
- status
ConversationEdit:
type: object
properties:
id:
type: string
description: The UUID of the Conversation.
contact:
type: string
format: uuid
status:
$ref: '#/components/schemas/ConversationStatusEnum'
assigned:
type: array
items:
$ref: '#/components/schemas/AccountMemberUserBasicEdit'
description: The Users assigned to the Conversation.
tags:
type: array
items:
$ref: '#/components/schemas/ConversationTag'
description: The Tags assigned to the Conversation.
created_on:
type: string
format: date-time
readOnly: true
title: Creado el
source:
allOf:
- $ref: '#/components/schemas/ConversationSourceEnum'
readOnly: true
assigned_team:
type: integer
description: The ID of the Team assigned to the Conversation.
channel:
type:
- integer
- 'null'
required:
- assigned
- contact
- created_on
- id
- source
MessageStatusEnum:
enum:
- new
- retry
- accepted
- sending
- sent
- receiving
- received
- delivered
- undelivered
- failed
- read
- deleted
type: string
MessageTypeEnum:
enum:
- audio
- voice
- button
- document
- text
- image
- interactive
- order
- sticker
- system
- unknown
- video
- unsupported
- location
- contacts
- template
- reaction
- ephemeral
type: string
ConversationSourceEnum:
enum:
- INBOX
- AUTO_RESPONSE
- API
- BROADCAST
- FLOW
- UNKNOWN
type: string
PaginatedConversationReadSimpleList:
type: object
properties:
count:
type: integer
example: 123
next:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ConversationReadSimple'
WhatsAppMessageSimple:
type: object
properties:
id:
type: string
to_number:
type: string
readOnly: true
from_number:
type: string
readOnly: true
body:
type:
- string
- 'null'
direction:
type: string
timestamp:
type: string
format: date-time
readOnly: true
contact:
type: string
status:
allOf:
- $ref: '#/components/schemas/MessageStatusEnum'
readOnly: true
queued_on:
type: string
format: date-time
readOnly: true
accepted_on:
type: string
format: date-time
readOnly: true
sent_on:
type: string
format: date-time
readOnly: true
delivered_on:
type: string
format: date-time
readOnly: true
read_on:
type: string
format: date-time
readOnly: true
failed_on:
type: string
format: date-time
readOnly: true
provider_id:
type: string
readOnly: true
provider_error_code:
type: string
readOnly: true
provider_error_message:
type: string
readOnly: true
sent_by:
$ref: '#/components/schemas/SimpleUser'
is_deleted:
type: boolean
readOnly: true
content:
type: object
additionalProperties: {}
readOnly: true
whatsapp_template:
type: string
format: uuid
readOnly: true
content_type:
type: string
readOnly: true
content_url:
type:
- string
- 'null'
format: uri
maxLength: 200
msg_type:
$ref: '#/components/schemas/MessageTypeEnum'
failed_attempts:
type: integer
readOnly: true
source:
allOf:
- $ref: '#/components/schemas/MessageSourceEnum'
readOnly: true
required:
- accepted_on
- contact
- content
- content_type
- delivered_on
- direction
- failed_attempts
- failed_on
- from_number
- id
- is_deleted
- provider_error_code
- provider_error_message
- provider_id
- queued_on
- read_on
- sent_by
- sent_on
- source
- status
- timestamp
- to_number
- whatsapp_template
UserRoleEnum:
enum:
- AGENT
- MANAGER
- ADMIN
- FINANCE
type: string
AccountMemberUserBasicRead:
type: object
properties:
id:
type: integer
first_name:
type: string
readOnly: true
last_name:
type: string
readOnly: true
email:
type: string
format: email
readOnly: true
title: Email address
account:
type: integer
readOnly: true
profile_image:
type: string
format: uri
readOnly: true
date_joined:
type: string
format: date-time
readOnly: true
required:
- account
- date_joined
- email
- first_name
- id
- last_name
- profile_image
MessageSourceEnum:
enum:
- INBOUND
- INBOX
- AUTO_RESPONSE
- API
- BROADCAST
- FLOW
type: string
AccountMemberUserBasicEdit:
type: object
properties:
id:
type: integer
required:
- id
SimpleUser:
type: object
properties:
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
email:
type: string
format: email
title: Email address
maxLength: 254
id:
type: integer
readOnly: true
profile_image:
type:
- string
- 'null'
format: uri
role:
$ref: '#/components/schemas/UserRoleEnum'
required:
- id
PatchedConversationEdit:
type: object
properties:
id:
type: string
description: The UUID of the Conversation.
contact:
type: string
format: uuid
status:
$ref: '#/components/schemas/ConversationStatusEnum'
assigned:
type: array
items:
$ref: '#/components/schemas/AccountMemberUserBasicEdit'
description: The Users assigned to the Conversation.
tags:
type: array
items:
$ref: '#/components/schemas/ConversationTag'
description: The Tags assigned to the Conversation.
created_on:
type: string
format: date-time
readOnly: true
title: Creado el
source:
allOf:
- $ref: '#/components/schemas/ConversationSourceEnum'
readOnly: true
assigned_team:
type: integer
description: The ID of the Team assigned to the Conversation.
channel:
type:
- integer
- 'null'
ConversationTag:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 100
required:
- id
- name
securitySchemes:
tokenAuth:
type: apiKey
in: header
name: Authorization
description: Token-based authentication with required prefix "Token"