SympoQ API
The SympoQ's Application programming interface (API) is a RESTful web service. It allows performing RESTful operations like request's submission, adding updates to a ticket, listing users (named agents and customers), listing various setting's items, etc. Based on the API description, you can build web, mobile, or server applications that can access your SympoQ data and services.
Overview
SympoQ APIs are plain JSON over HTTP and use the following HTTP commands:
Command | Description |
---|---|
POST | Create an object |
GET | Fetch one or more objects |
PUT | Update an object |
DELETE | Delete an object |
Resource URIs
The URIs used by the API have a common base URI followed by the response data format. The base URI contains the following parts:
- HTTPS protocol specified
- API server hostname, which is your account name
- API keywords
Example: https://acme.sympoq.com/app/desk/api/
Authentication
Before you can use any of the RESTful operations, you need to authenticate yourself using your personal API key. The API key must be sent as the request's Header key apikey.
For example, if the API key is dWIeGMRlikMIle
, then the corresponding curl command is:
curl -X GET \
https://acme.sympoq.com/app/desk/api/ticket/1 \
-H 'apikey: dWIeGMRlikMIle'
You can find your API key in the My profile page:
- Log in to your SympoQ account
- Click the My Profile link
- Your API key will be available at the bottom of the profile page.
Note
The ability to access data depends on the permissions available to your SympoQ user profile. For example, if your support role is "Agent" in a ticket Queue, then you can access only assigned tickets from the Queue.
Error Codes
API requests that result in errors return an appropriate HTTP status code. Please use the following table for the reference.
HTTP Code | status | Description |
---|---|---|
200 | OK | The Request was successful. For a GET request, the response contains an entity corresponding to the requested resource. In a POST request the response will contain an entity describing or containing the result of the action. |
201 | Created | Returned only for POST requests that create repository items. The request was successful and the repository item was created. |
400 | Bad Request | The request could not be completed because the request URL and/or parameters were improperly formatted. |
401 | Unauthorized | Client session does not have the proper security credentials to execute the method, property, or access the repository for the requested resource. |
403 | Forbidden | The specified property has been configured as not writable via the filtering configuration. |
404 | Not Found | The request could not be completed because it was made for a resource which does not exist or the URI pattern has not been followed. |
410 | Gone | Returned only for DELETE requests that remove repository items. The request was successful and the repository item was deleted. |
500 | Internal server error | The request could not be completed because an unexpected exception occurred. |
Rate limit
The API server limits the number of requests that can be sent during an interval of time with different limits for read and write operations.