API Documentation
The alexa360.io Developer API enables developers to seamlessly integrate messaging capabilities into their existing platforms or applications. The API provides a wide range of functionalities such as sending and receiving messages, managing contacts, and automating messaging campaigns. With the flexibility and scalability of the alexa360.io API, developers can streamline their messaging operations and create unique, tailored messaging experiences for their users.
Our API is built to be user-friendly and easy to understand, through the implementation of REST principles. The API follows RESTful conventions as much as possible and uses common methods like GET, POST, PUT, and DELETE for operations. The request and response bodies are encoded in JSON. Additionally, the API adheres to standard HTTP response codes and requires authentications for all requests to ensure secure and reliable integration.
The base URL for all API requests is api.chatapi.net, and all requests must be made over HTTPS.
๐ Get Started
Authentication
An API Access Token is used to authenticate the requests. You can view and manage your Access Token in Settings
> Integration
> Developer API
page.
You can generate up to 10 Access Tokens per workspace. Each organization is limited to generate a maximum of 10 Access Tokens.
The authentication is passed via the Authorization header with each request.
Rate Limiting
Alexa360.io API is subject to rate limiting. The limits are applied on the organization-level.
The API responses contain useful rate limit headers to check the remaining requests.
Retry-After
Number of seconds until you can retry the request
X-RateLimit-Limit
Number of requests allowed for this end point
X-RateLimit-Remaining
Number of requests remaining for this end point
Note that when you hit the ratelimit, a 429 (Too Many Requests)
HTTP Status Code is returned along with a Retry-After
header. These response headers are useful to determine when to make the next API call.
Rate Limits
Send a message
/contact/{identifier}/message
10
Get a message
/contact/{identifier}/message/{messageId}
15
Create a comment
/contact/{identifier}/comment
10
Get a contact
/contact/{identifier}
10
Create, update or delete a contact
/contact/{identifier}
5
Merge two contacts
/contact/merge
5
Create or update a contact
/contact/create_or_update/{identifier}
5
List the contacts
/contact/list
5
Add or delete tags
/contact/{identifier}/tag
5
List contact channels
/contact/{identifier}/channels
5
Get a contact channel
/contact/{identifier}/channel/{channelId}
10
Assign/unassign conversation
/contact/{identifier}/conversation/assignee
5
Open/close conversation
/contact/{identifier}/conversation/status
5
List space channels
/space/channel
5
List closing notes
/space/closing_notes
5
List space users
/space/user
5
Get a space user
/space/user/{id}
10
Create custom field
/space/contact_field
5
Get a custom field
/space/contact_field/{id}
10
List custom fields
/space/contact_field
5
200 Ok
The request is successful, and the appropriate response has been provided.
201 Created
The request has been fulfilled, resulting in the creation of a new resource.
400 Bad request
There is an error on the clientโs side and, as a result, the server cannot return a response. For example, contact email, phone or ID is invalid.
401 Unauthorised
The access token is not valid.
404 Not Found
Given the access token used, the resource does not exist.
429 Too many requests
This request exceeds the number of requests allowed. Slow down and try again.
449 Your request cannot be processed at the moment as it's in the queue. Please try again in a few minutes
This request cannot be processed as the resource is still being created, please try again later.
502/504 timeouts
The upstream server hasnโt provided a timely response to the second server, currently serving as a gateway or proxy. As a result, it cannot provide a response to the client.
503
The server cannot process the request because it is either overloaded or it is under maintenance.
Pagination
respond.io API has several endpoints that return lists of items over multiple pages. For performance reasons, the API does not return large record sets all at once. It breaks up the results into smaller subsets and returns them in pages.
The integration can use the pagination.next
in another request to receive the next part of the list or pagination.previous
to receive the previous part of the list
cursorId
integer
(optional) A cursor returned from a previous response, used to request the next page of results. Default: return results from the beginning of the list
limit
integer
(optional) The number of items to return. Default: 10 items Max: 100 items
Last updated