chore: Move agent availability to Account level (#3074)

- Move agent availability to the account level
This commit is contained in:
Sojan Jose
2021-10-07 13:21:46 +05:30
committed by GitHub
parent 1c6a539c0a
commit c54aae21ff
84 changed files with 618 additions and 148 deletions

View File

@@ -0,0 +1,19 @@
tags:
- Account AgentBots
operationId: create-an-account-agent-bot
summary: Create an Agent Bot
description: Create an agent bot in the account
parameters:
- $ref: '#/parameters/account_id'
- name: data
in: body
required: true
schema:
$ref: '#/definitions/agent_bot_create_update_payload'
responses:
200:
description: Success
schema:
$ref: '#/definitions/agent_bot'
401:
description: Unauthorized

View File

@@ -0,0 +1,12 @@
tags:
- Account AgentBots
operationId: delete-an-account-agent-bot
summary: Delete an AgentBot
description: Delete an AgentBot from the account
responses:
200:
description: Success
401:
description: Unauthorized
404:
description: The agent bot does not exist in the account

View File

@@ -0,0 +1,16 @@
tags:
- Account AgentBots
operationId: list-all-account-agent-bots
summary: List all AgentBots
description: List all agent bots available for the current account
responses:
200:
description: Success
schema:
type: array
description: 'Array of agent bots'
items:
- $ref: '#/definitions/agent_bot'
401:
description: Unauthorized

View File

@@ -0,0 +1,14 @@
tags:
- Account AgentBots
operationId: get-details-of-a-single-account-agent-bot
summary: Get an agent bot details
description: Get the details of an agent bot in the account
responses:
200:
description: Success
schema:
$ref: '#/definitions/agent_bot'
401:
description: Unauthorized
404:
description: The given agent bot ID does not exist in the account

View File

@@ -0,0 +1,18 @@
tags:
- Account AgentBots
operationId: update-an-account-agent-bot
summary: Update an agent bot
description: Update an agent bot's attributes
parameters:
- name: data
in: body
required: true
schema:
$ref: '#/definitions/agent_bot_create_update_payload'
responses:
200:
description: Success
schema:
$ref: '#/definitions/agent_bot'
401:
description: Unauthorized

View File

@@ -0,0 +1,42 @@
tags:
- Agent
operationId: add-new-agent-to-account
summary: Add a New Agent
description: Add a new Agent to Account
security:
- userApiKey: []
parameters:
- name: data
in: body
required: true
schema:
type: object
properties:
name:
type: string
description: Full Name of the agent
required: true
email:
type: string
description: Email of the Agent
required: true
role:
type: string
enum: ['agent', 'administrator']
description: Whether its administrator or agent
required: true
availability_status:
type: string
enum: ['available', 'busy', 'offline']
description: The availability status of the agent.
auto_offline:
type: boolean
description: Whether the availability status of agent is configured to go offline automatically when away.
responses:
200:
description: Success
schema:
description: 'Newly Created Agent'
$ref: '#/definitions/agent'
403:
description: Access denied

View File

@@ -0,0 +1,21 @@
tags:
- Agent
operationId: delete-agent-from-account
summary: Remove an Agent from Account
description: Remove an Agent from Account
security:
- userApiKey: []
parameters:
- in: path
name: id
schema:
type: integer
required: true
description: The ID of the agent to be deleted
responses:
200:
description: Success
404:
description: Agent not found
403:
description: Access denied

View File

@@ -0,0 +1,17 @@
tags:
- Agent
operationId: get-account-agents
summary: List Agents in Account
description: Get Details of Agents in an Account
security:
- userApiKey: []
responses:
200:
description: Success
schema:
type: array
description: 'Array of all active agents'
items:
$ref: '#/definitions/agent'
403:
description: Access denied

View File

@@ -0,0 +1,42 @@
tags:
- Agent
operationId: update-agent-in-account
summary: Update Agent in Account
description: Update an Agent in Account
security:
- userApiKey: []
parameters:
- in: path
name: id
schema:
type: integer
required: true
description: The ID of the agent to be updated.
- name: data
in: body
required: true
schema:
type: object
properties:
role:
type: string
enum: ['agent', 'administrator']
description: Whether its administrator or agent
required: true
availability_status:
type: string
enum: ['available', 'busy', 'offline']
description: The availability status of the agent.
auto_offline:
type: boolean
description: Whether the availability status of agent is configured to go offline automatically when away.
responses:
200:
description: Success
schema:
description: 'The updated agent'
$ref: '#/definitions/agent'
404:
description: Agent not found
403:
description: Access denied

View File

@@ -0,0 +1,36 @@
post:
tags:
- Contact
operationId: contactInboxCreation
description: Create a contact inbox record for an inbox
summary: Create contact inbox
parameters:
- $ref: '#/parameters/account_id'
- name: id
in: path
type: number
description: ID of the contact
required: true
- name: data
in: body
required: true
schema:
type: object
properties:
inbox_id:
type: number
description: The ID of the inbox
required: true
source_id:
$ref: '#/parameters/source_id'
responses:
200:
description: Success
schema:
$ref: '#/definitions/contact_inboxes'
401:
description: Authentication error
schema:
$ref: '#/definitions/bad_request_error'
422:
description: Incorrect payload

View File

@@ -0,0 +1,24 @@
get:
tags:
- Contact
operationId: contactableInboxesGet
description: Get List of contactable Inboxes
summary: Get Contactable Inboxes
parameters:
- $ref: '#/parameters/account_id'
- name: id
in: path
type: number
description: ID of the contact
required: true
responses:
200:
description: Success
schema:
$ref: '#/definitions/contactable_inboxes'
401:
description: Authentication error
schema:
$ref: '#/definitions/bad_request_error'
422:
description: Incorrect payload

View File

@@ -0,0 +1,22 @@
get:
tags:
- Contact
operationId: contactConversations
summary: Contact Conversations
description: Get conversations associated to that contact
parameters:
- $ref: '#/parameters/account_id'
- name: id
in: path
type: number
description: ID of the contact
required: true
responses:
200:
description: Success
schema:
$ref: '#/definitions/contact_conversations'
404:
description: Contact not found
403:
description: Access denied

View File

@@ -0,0 +1,69 @@
get:
tags:
- Contact
operationId: contactDetails
summary: Show Contact
description: Get a contact belonging to the account using ID
parameters:
- $ref: '#/parameters/account_id'
- name: id
in: path
type: number
description: ID of the contact
required: true
responses:
200:
description: Success
schema:
$ref: '#/definitions/extended_contact'
404:
description: Contact not found
403:
description: Access denied
put:
tags:
- Contact
operationId: contactUpdate
summary: Update Contact
description: Update a contact belonging to the account using ID
parameters:
- $ref: '#/parameters/account_id'
- name: id
in: path
type: number
description: ID of the contact
required: true
- name: data
in: body
required: true
schema:
$ref: '#/definitions/contact_update'
responses:
204:
description: Success
schema:
$ref: '#/definitions/contact_base'
404:
description: Contact not found
403:
description: Access denied
delete:
tags:
- Contact
operationId: contactDelete
summary: Delete Contact
parameters:
- name: id
in: path
type: number
description: ID of the contact
required: true
responses:
200:
description: Success
401:
description: Unauthorized
404:
description: Contact not found

View File

@@ -0,0 +1,42 @@
get:
tags:
- Contact
operationId: contactList
description: Listing all the resolved contacts with pagination (Page size = 15) . Resolved contacts are the ones with a value for identifier, email or phone number
summary: List Contacts
parameters:
- $ref: '#/parameters/account_id'
- $ref: '#/parameters/contact_sort_param'
- $ref: '#/parameters/page'
responses:
200:
description: Success
schema:
$ref: '#/definitions/contact_list'
400:
description: Bad Request Error
schema:
$ref: '#/definitions/bad_request_error'
post:
tags:
- Contact
operationId: contactCreate
description: Create a new Contact
summary: Create Contact
parameters:
- $ref: '#/parameters/account_id'
- name: data
in: body
required: true
schema:
$ref: '#/definitions/contact_create'
responses:
200:
description: Success
schema:
$ref: '#/definitions/extended_contact'
400:
description: Bad Request Error
schema:
$ref: '#/definitions/bad_request_error'

View File

@@ -0,0 +1,26 @@
get:
tags:
- Contact
operationId: contactSearch
description: Search the resolved contacts using a search key, currently supports email search (Page size = 15). Resolved contacts are the ones with a value for identifier, email or phone number
summary: Search Contacts
parameters:
- $ref: '#/parameters/account_id'
- name: q
in: query
type: string
description: Search using contact `name`, `identifier`, `email` or `phone number`
- $ref: '#/parameters/contact_sort_param'
- $ref: '#/parameters/page'
responses:
200:
description: Success
schema:
type: object
properties:
payload:
$ref: '#/definitions/contact_list'
401:
description: Authentication error
schema:
$ref: '#/definitions/bad_request_error'

View File

@@ -0,0 +1,27 @@
tags:
- Conversation Assignment
operationId: assign-a-conversation
summary: Assign Conversation
description: Assign a conversation to an agent or a team
parameters:
- name: data
in: body
required: true
schema:
type: object
properties:
assignee_id:
type: number
description: Id of the assignee user
team_id:
type: number
description: Id of the team. If the assignee_id is present, this param would be ignored
responses:
200:
description: Success
schema:
$ref: '#/definitions/user'
404:
description: Conversation not found
401:
description: Unauthorized

View File

@@ -0,0 +1,41 @@
get:
tags:
- Conversation
operationId: conversationList
description: List all the conversations with pagination
summary: Conversations List
parameters:
- $ref: '#/parameters/account_id'
- name: assignee_type
in: query
type: string
enum: ['me', 'unassigned', 'all', 'assigned']
required: true
- name: status
in: query
type: string
enum: ['open', 'resolved', 'pending']
required: true
- name: page
in: query
type: integer
required: true
- name: inbox_id
in: query
type: integer
- name: labels
in: query
type: array
items:
type: string
responses:
200:
description: Success
schema:
$ref: '#/definitions/conversation_list'
400:
description: Bad Request Error
schema:
$ref: '#/definitions/bad_request_error'
description: Access denied

View File

@@ -0,0 +1,93 @@
get:
tags:
- Conversation
operationId: conversationSearch
description: Search for conversations containing a messages with the query string
summary: Conversations Search
parameters:
- name: q
in: query
type: string
- name: assignee_type
in: query
type: string
enum: ['me', 'unassigned', 'all', 'assigned']
- name: status
in: query
type: string
enum: ['open', 'resolved', 'pending', 'all']
- name: page
in: query
type: integer
- name: inbox_id
in: query
type: integer
- name: labels
in: query
type: array
items:
type: string
- $ref: '#/parameters/account_id'
responses:
200:
description: Success
schema:
$ref: '#/definitions/conversation_list'
400:
description: Bad Request Error
schema:
$ref: '#/definitions/bad_request_error'
description: Access denied
post:
tags:
- Conversation
operationId: newConversation
summary: Create New Conversation
description: "Creating a conversation in chatwoot requires a source id. \n\n Learn more about source_id: https://github.com/chatwoot/chatwoot/wiki/Building-on-Top-of-Chatwoot:-Importing-Existing-Contacts-and-Creating-Conversations"
security:
- userApiKey: []
- agentBotApiKey: []
parameters:
- $ref: '#/parameters/account_id'
- name: data
in: body
required: true
schema:
type: object
properties:
source_id:
$ref: '#/parameters/source_id'
inbox_id:
type: string
description: "Id of inbox in which the conversation is created <br/> Allowed Inbox Types: Website, Phone, Api, Email "
contact_id:
type: string
description: Contact Id for which conversation is created
additional_attributes:
type: object
description: Lets you specify attributes like browser information
status:
type: string
enum: ['open', 'resolved', 'pending']
description: Specify the conversation whether it's pending, open, closed
responses:
200:
description: Success
schema:
type: object
properties:
id:
type: number
description: ID of the conversation
account_id:
type: number
description: Account Id
inbox_id:
type: number
description: ID of the inbox
403:
description: Access denied

View File

@@ -0,0 +1,26 @@
tags:
- Conversation Labels
operationId: conversation-add-labels
summary: Add Labels
description: Add labels to a conversation. Note that this API would overwrite the existing list of labels associated to the conversation.
parameters:
- name: data
in: body
required: true
schema:
type: object
properties:
labels:
type: array
description: Array of labels (comma-separated strings)
properties:
type: string
responses:
200:
description: Success
schema:
$ref: '#/definitions/conversation_labels'
404:
description: Conversation not found
401:
description: Unauthorized

View File

@@ -0,0 +1,14 @@
tags:
- Conversation Labels
operationId: list-all-labels-of-a-conversation
summary: List Labels
description: Lists all the labels of a conversation
responses:
200:
description: Success
schema:
$ref: '#/definitions/conversation_labels'
404:
description: Conversation not found
401:
description: Unauthorized

View File

@@ -0,0 +1,25 @@
tags:
- Messages
operationId: create-a-new-message-in-a-conversation
summary: Create New Message
description: Create a new message in the conversation
security:
- userApiKey: []
- agentBotApiKey: []
parameters:
- name: data
in: body
required: true
schema:
$ref: '#/definitions/conversation_message_create'
responses:
200:
description: Success
schema:
allOf:
- $ref: '#/definitions/generic_id'
- $ref: '#/definitions/message'
404:
description: Conversation not found
403:
description: Access denied

View File

@@ -0,0 +1,47 @@
post:
tags:
- Messages
operationId: conversationNewMessageAttachment
summary: Create New Message Attachment
description: Create an attachment message. Refer to this discussion if you have any further doubts. https://github.com/chatwoot/chatwoot/discussions/1809#discussioncomment-1211845
consumes:
- multipart/form-data
security:
- userApiKey: []
- agentBotApiKey: []
parameters:
- $ref: '#/parameters/account_id'
- $ref: '#/parameters/conversation_id'
required: true
- in: formData
name: content
type: string
description: The content of the message
required: true
- in: formData
name: message_type
type: string
enum: ['outgoing', 'incoming']
- in: formData
name: private
type: boolean
description: Flag to identify if it is a private note
- in: formData
name: attachments[]
type: array
description: The files to be uploaded.
items:
type: file
responses:
200:
description: Success
schema:
allOf:
- $ref: '#/definitions/generic_id'
- $ref: '#/definitions/message'
404:
description: Conversation not found
403:
description: Access denied

View File

@@ -0,0 +1,12 @@
tags:
- Messages
operationId: delete-a-message
summary: Delete a message
description: Delete a message and it's attachments from the conversation.
responses:
200:
description: Success
401:
description: Unauthorized
404:
description: The message or conversation does not exist in the account

View File

@@ -0,0 +1,18 @@
tags:
- Messages
operationId: list-all-messages
summary: Get messages
description: List all messages of a conversation
responses:
200:
description: Success
type: array
description: Array of messages
schema:
allOf:
- $ref: '#/definitions/generic_id'
- $ref: '#/definitions/message'
404:
description: Conversation not found
401:
description: Unauthorized

View File

@@ -0,0 +1,14 @@
tags:
- Conversation
operationId: get-details-of-a-conversation
summary: Conversation Details
description: Get all details regarding a conversation with all messages in the conversation
responses:
200:
description: Success
schema:
$ref: '#/definitions/conversation_show'
404:
description: Conversation not found
403:
description: Access denied

View File

@@ -0,0 +1,29 @@
tags:
- Conversation
operationId: toggle-status-of-a-conversation
summary: Toggle Status
description: Toggles the status of the conversation between open and resolved
security:
- userApiKey: []
- agentBotApiKey: []
parameters:
- name: data
in: body
required: true
schema:
type: object
properties:
status:
type: string
enum: ["open", "resolved", "pending"]
required: true
description: The status of the conversation
responses:
200:
description: Success
schema:
$ref: '#/definitions/conversation_status_toggle'
404:
description: Conversation not found
401:
description: Unauthorized

View File

@@ -0,0 +1,19 @@
post:
tags:
- Conversation
operationId: conversationUpdateLastSeen
summary: Update Last Seen
description: Updates the last seen of the conversation so that conversations will have the bubbles in the agents screen
parameters:
- name: id
in: path
type: number
description: ID of the conversation
required: true
responses:
200:
description: Success
404:
description: Contact not found
403:
description: Access denied

View File

@@ -0,0 +1,19 @@
tags:
- Custom Filter
operationId: create-a-custom-filter
summary: Create a custom filter
description: Create a custom filter in the account
parameters:
- $ref: '#/parameters/account_id'
- name: data
in: body
required: true
schema:
$ref: '#/definitions/custom_filter_create_update_payload'
responses:
200:
description: Success
schema:
$ref: '#/definitions/custom_filter'
401:
description: Unauthorized

View File

@@ -0,0 +1,12 @@
tags:
- Custom Filter
operationId: delete-a-custom-filter
summary: Delete a custom filter
description: Delete a custom filter from the account
responses:
200:
description: Success
401:
description: Unauthorized
404:
description: The custom filter does not exist in the account

View File

@@ -0,0 +1,15 @@
tags:
- Custom Filter
operationId: list-all-filters
summary: List all custom filters
description: List all custom filters in a category of a user
responses:
200:
description: Success
schema:
type: array
description: 'Array of custom filters'
items:
$ref: '#/definitions/custom_filter'
401:
description: Unauthorized

View File

@@ -0,0 +1,14 @@
tags:
- Custom Filter
operationId: get-details-of-a-single-custom-filter
summary: Get a custom filter details
description: Get the details of a custom filter in the account
responses:
200:
description: Success
schema:
$ref: '#/definitions/custom_filter'
401:
description: Unauthorized
404:
description: The given team ID does not exist in the account

View File

@@ -0,0 +1,18 @@
tags:
- Custom Filter
operationId: update-a-custom-filter
summary: Update a custom filter
description: Update a custom filter's attributes
parameters:
- name: data
in: body
required: true
schema:
$ref: '#/definitions/custom_filter_create_update_payload'
responses:
200:
description: Success
schema:
$ref: '#/definitions/custom_filter'
401:
description: Unauthorized

View File

@@ -0,0 +1,50 @@
post:
tags:
- Inbox
operationId: inboxCreation
summary: Create an inbox
description: You can create more than one website inbox in each account
parameters:
- $ref: '#/parameters/account_id'
- name: data
in: body
required: true
schema:
type: object
properties:
name:
type: string
description: The name of the inbox
avatar:
type: file
description: File for avatar image
channel:
type: object
properties:
type:
type: string
enum: ['web_widget']
website_url:
type: string
description: URL at which the widget will be loaded
welcome_title:
type: string
description: Welcome title to be displayed on the widget
welcome_tagline:
type: string
description: Welcome tagline to be displayed on the widget
agent_away_message:
type: string
description: A message which will be sent if there is not agent available. This is not available if agentbot is connected
widget_color:
type: string
description: A Hex-color string used to customize the widget
responses:
200:
description: Success
schema:
$ref: '#/definitions/inbox'
404:
description: Inbox not found
403:
description: Access denied

View File

@@ -0,0 +1,22 @@
get:
tags:
- Inbox
operationId: getInboxAgentBot
summary: Show Inbox Agent Bot
description: See if an agent bot is associated to the Inbox
parameters:
- $ref: '#/parameters/account_id'
- name: id
in: path
type: number
description: ID of the inbox
required: true
responses:
204:
description: Success
schema:
$ref: '#/definitions/agent_bot'
404:
description: Inbox not found, Agent bot not found
403:
description: Access denied

View File

@@ -0,0 +1,36 @@
tags:
- Inbox
operationId: add-new-agent-to-inbox
summary: Add a New Agent
description: Add a new Agent to Inbox
security:
- userApiKey: []
parameters:
- name: data
in: body
required: true
schema:
type: object
properties:
inbox_id:
type: string
description: The ID of the inbox
required: true
user_ids:
type: array
description: IDs of users to be added to the inbox
required: true
responses:
200:
description: Success
schema:
type: array
description: 'Array of all active agents'
items:
$ref: '#/definitions/agent'
404:
description: Inbox not found
403:
description: Access denied
422:
description: User must exist

View File

@@ -0,0 +1,31 @@
tags:
- Inbox
operationId: delete-agent-in-inbox
summary: Remove an Agent from Inbox
description: Remove an Agent from Inbox
security:
- userApiKey: []
parameters:
- name: data
in: body
required: true
schema:
type: object
properties:
inbox_id:
type: string
description: The ID of the inbox
required: true
user_ids:
type: array
description: IDs of users to be deleted from the inbox
required: true
responses:
200:
description: Success
404:
description: Inbox not found
403:
description: Access denied
422:
description: User must exist

View File

@@ -0,0 +1,21 @@
tags:
- Inbox
operationId: get-inbox-members
summary: List Agents in Inbox
description: Get Details of Agents in an Inbox
security:
- userApiKey: []
parameters:
- $ref: '#/parameters/inbox_id'
responses:
200:
description: Success
schema:
type: array
description: 'Array of all active agents'
items:
$ref: '#/definitions/agent'
404:
description: Inbox not found
403:
description: Access denied

View File

@@ -0,0 +1,36 @@
tags:
- Inbox
operationId: update-agents-in-inbox
summary: Update Agents in Inbox
description: All agents execept the one passed in params will be removed
security:
- userApiKey: []
parameters:
- name: data
in: body
required: true
schema:
type: object
properties:
inbox_id:
type: string
description: The ID of the inbox
required: true
user_ids:
type: array
description: IDs of users to be added to the inbox
required: true
responses:
200:
description: Success
schema:
type: array
description: 'Array of all active agents'
items:
$ref: '#/definitions/agent'
404:
description: Inbox not found
403:
description: Access denied
422:
description: User must exist

View File

@@ -0,0 +1,20 @@
get:
tags:
- Inbox
operationId: listAllInboxes
summary: List all inboxes
description: List all inboxes available in the current account
parameters:
- $ref: '#/parameters/account_id'
responses:
200:
description: Success
schema:
type: array
description: 'Array of inboxes'
items:
$ref: '#/definitions/inbox'
404:
description: Inbox not found
403:
description: Access denied

View File

@@ -0,0 +1,30 @@
post:
tags:
- Inbox
operationId: updateAgentBot
summary: Add or remove agent bot
description: To add an agent bot pass agent_bot id, to remove agent bot from an inbox pass null
parameters:
- $ref: '#/parameters/account_id'
- name: id
in: path
type: number
description: ID of the inbox
required: true
- name: data
in: body
required: true
schema:
type: object
properties:
agent_bot:
type: number
required: true
description: 'Agent bot ID'
responses:
204:
description: Success
404:
description: Inbox not found, Agent bot not found
403:
description: Access denied

View File

@@ -0,0 +1,22 @@
get:
tags:
- Inbox
operationId: GetInbox
summary: Get an inbox
description: Get an inbox available in the current account
parameters:
- $ref: '#/parameters/account_id'
- name: id
in: path
type: number
description: ID of the inbox
required: true
responses:
200:
description: Success
schema:
$ref: '#/definitions/inbox'
404:
description: Inbox not found
403:
description: Access denied

View File

@@ -0,0 +1,59 @@
patch:
tags:
- Inbox
operationId: updateInbox
summary: Update Inbox
description: Add avatar and disable auto assignment for an inbox
parameters:
- $ref: '#/parameters/account_id'
- name: id
in: path
type: number
description: ID of the inbox
required: true
- name: data
in: body
required: true
schema:
type: object
properties:
name:
type: string
description: The name of the inbox
enable_auto_assignment:
type: boolean
required: true
description: 'Enable Auto Assignment'
avatar:
type: file
required: false
description: 'Image file for avatar'
channel:
type: object
properties:
website_url:
type: string
description: URL at which the widget will be loaded
welcome_title:
type: string
description: Welcome title to be displayed on the widget
welcome_tagline:
type: string
description: Welcome tagline to be displayed on the widget
agent_away_message:
type: string
description: A message which will be sent if there is not agent available. This is not available if agentbot is connected
widget_color:
type: string
description: A Hex-color string used to customize the widget
responses:
200:
description: Success
schema:
type: object
description: 'Updated inbox object'
$ref: '#/definitions/inbox'
404:
description: Inbox not found
403:
description: Access denied

View File

@@ -0,0 +1,17 @@
tags:
- Integrations
operationId: get-details-of-all-integrations
summary: List all the Integrations
description: Get the details of all Integrations available for the account
responses:
200:
description: Success
schema:
type: array
description: 'Array of Integration apps'
items:
$ref: '#/definitions/integrations_app'
401:
description: Unauthorized
404:
description: Url not found

View File

@@ -0,0 +1,19 @@
tags:
- Integrations
operationId: create-an-integration-hook
summary: Create an integration hook
description: Create an integration hook
parameters:
- $ref: '#/parameters/account_id'
- name: data
in: body
required: true
schema:
$ref: '#/definitions/integrations_hook_create_payload'
responses:
200:
description: Success
schema:
$ref: '#/definitions/integrations_hook'
401:
description: Unauthorized

View File

@@ -0,0 +1,15 @@
tags:
- Integrations
operationId: delete-an-integration-hook
summary: Delete an Integration Hook
description: Delete an Integration Hook
parameters:
- $ref: '#/parameters/account_id'
- $ref: '#/parameters/hook_id'
responses:
200:
description: Success
401:
description: Unauthorized
404:
description: The hook does not exist in the account

View File

@@ -0,0 +1,20 @@
tags:
- Integrations
operationId: update-an-integrations-hook
summary: Update an Integration Hook
description: Update an Integration Hook
parameters:
- $ref: '#/parameters/account_id'
- $ref: '#/parameters/hook_id'
- name: data
in: body
required: true
schema:
$ref: '#/definitions/integrations_hook_update_payload'
responses:
200:
description: Success
schema:
$ref: '#/definitions/integrations_hook'
401:
description: Unauthorized

View File

@@ -0,0 +1,17 @@
tags:
- Reports
operationId: list-all-conversation-statistics
summary: Get Account reports
description: Get Account reports for a specific type, metric and date range
responses:
200:
description: Success
schema:
type: array
description: 'Array of date based conversation statistics'
items:
$ref: '#/definitions/report'
404:
description: reports not found
403:
description: Access denied

View File

@@ -0,0 +1,17 @@
tags:
- Reports
operationId: list-all-conversation-statistics-summary
summary: Get Account reports summary
description: Get Account reports summary for a specific type and date range
responses:
200:
description: Success
schema:
type: array
description: 'Array of date based conversation statistics'
items:
$ref: '#/definitions/report'
404:
description: reports not found
403:
description: Access denied

View File

@@ -0,0 +1,19 @@
tags:
- Teams
operationId: create-a-team
summary: Create a team
description: Create a team in the account
parameters:
- $ref: '#/parameters/account_id'
- name: data
in: body
required: true
schema:
$ref: '#/definitions/team_create_update_payload'
responses:
200:
description: Success
schema:
$ref: '#/definitions/team'
401:
description: Unauthorized

View File

@@ -0,0 +1,12 @@
tags:
- Teams
operationId: delete-a-team
summary: Delete a team
description: Delete a team from the account
responses:
200:
description: Success
401:
description: Unauthorized
404:
description: The team does not exist in the account

View File

@@ -0,0 +1,15 @@
tags:
- Teams
operationId: list-all-teams
summary: List all teams
description: List all teams available in the current account
responses:
200:
description: Success
schema:
type: array
description: 'Array of teams'
items:
$ref: '#/definitions/team'
401:
description: Unauthorized

View File

@@ -0,0 +1,14 @@
tags:
- Teams
operationId: get-details-of-a-single-team
summary: Get a team details
description: Get the details of a team in the account
responses:
200:
description: Success
schema:
$ref: '#/definitions/team'
401:
description: Unauthorized
404:
description: The given team ID does not exist in the account

View File

@@ -0,0 +1,18 @@
tags:
- Teams
operationId: update-a-team
summary: Update a team
description: Update a team's attributes
parameters:
- name: data
in: body
required: true
schema:
$ref: '#/definitions/team_create_update_payload'
responses:
200:
description: Success
schema:
$ref: '#/definitions/team'
401:
description: Unauthorized