IQADOT Platform
API v3
The IQADOT API is organized around REST. Our API has predictable resource-oriented URL's and uses JSON-encoded responses where possible. Additionally, the API uses HTTP authentication to authenticate and authorize organizations for making use of the API.
To use the API, each request needs to be authenticated in order to be authorized by IQADOT's runtime to get processed. IQADOT uses API keys that are assigned to each organization using our services.
Authentication to the API is performed via HTTP Basic Auth where the username is the name of the organization of your API key and the password the corresponding API key itself. Encoding is according to HTTP Basic Auth.
IQADOT will return a 401 HTTP status code in case of a mismatch in API key.
Note: Your organization may receive several API keys, each for different stages and purposes, so make sure you keep them secure.
IQADOT offers a REST-API for basic management of articles in a channel.
The API uses the GET, POST or DELETE methods
using JSON where applicable. The response of IQADOT will always be in JSON
wrapped in a data
variable like so:
{
"data":
{
"result": "false",
"message": "Missing or unknown parameters."
}
}
The result
parameter is used to tell whether the request was succesful
(true
) or not (false
).
Reference
/api/v3/admin/article/add
Your JSON request should contain the following parameters:
Parameter | Type | Description |
---|---|---|
subject |
string | Specifies the title |
body |
string | The text of article |
channel |
GUID | The GUID of the channel to post this article to |
Parameter | Type | Default value | Description |
---|---|---|---|
tags |
string | N/A | Specifies all #-tags seperated by a space |
allow_comments
|
boolean | false | Controls whether users are allowed to comment on the article |
author |
GUID | GUID of the Channel admin | Specifies the GUID of the author |
The response, when succesful is:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
where item
is the GUID that IQADOT has assigned to the article.
Note: when articles are added, they will not be visible to channel users until they are published.
To publish an article, using the GET method, send your request with the GUID of the article to the following endpoint:
/api/v3/admin/article/publish/[GUID]
When succesful, the response will contain the confirmation of the GUID of the article in
the
item
variable:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
Once published, the article will become visible in the channel's feed of the users.
Contrary to publishing an article, you can unpublish an article to make it invisible to the channel's users. To unpublish an article, you'll need to use the GET method with the GUID of the article and send your request to the following endpoint:
/api/v3/admin/article/unpublish/GUID
When succesful, the response will contain a confirmation of the GUID of the article:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
To delete an article, you'll need to use the DELETE method with the GUID of the article and send it to the following endpoint:
/api/v3/admin/article/delete/GUID
When succesful, the response will contain a confirmation of the GUID of the article:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
Note: when articles are deleted, they cannot be recovered anymore.
To obtain a list of the articles in a channel, using the GET method with the GUID of the channel, send your request the following endpoint:
/api/v3/admin/articles/GUID
When succesful, the response will contain a summarized list of the articles in the channel:
{
"data": {
"result": "true",
"channel": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"items": [
{
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subject": "Fyling to Eindhoven",
"timestamp": 1691882410
},
{
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subject": "This is an article about AI on the fly",
"timestamp": 1691882396
},
{
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subject": "When things don't go wrong",
"timestamp": 1691882344
}
]
}
}
To retrieve an article from a channel, using the GET method with the GUID of the article, send your request to the following endpoint:
/api/v3/admin/article/GUID
When succesful, the response will contain the full article, like so:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subject": "This is an article about AI on the fly",
"body": "As we all know by now, AI is not that intelligent...",
"channel": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"status": "PUBLISHED",
"author": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Eric Flyer",
"allow_comments": "true",
"timestamp": 1691882396
}
}
To update an article identified by GUID, use the POST method and send your JSON request to the following endpoint:
/api/v3/admin/article/update/GUID
Your JSON request should contain one or more of the parameters of properties that you want to update.
Parameter | Type | Remarks |
---|---|---|
subject
|
string | Updates the subject |
body |
string | Updates the body |
channel
|
GUID | Used for moving an article to another channel. Be aware that the author must be connected to the new channel. |
author
|
GUID | Used for chaning the author of an article. |
allow_comments
|
boolean | Update to true or false. |
tags |
string | Update the #-tags string seperated by spaces |
When succesful, the response will contain a confirmation of the GUID of the article:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
Static items are pre-answered questions that are typically added by a channel administrator, harvasted from trusted resources on the network, or even the Internet.
IQADOT offers a REST-API for basic management of static items in a channel.
The API uses the GET, POST or DELETE methods
using JSON where applicable. The response of IQADOT will always be in JSON
wrapped in a data
variable like so:
{
"data": {
"result": "false",
"message": "Missing or unknown parameters."
}
}
The result
parameter is used to tell whether the request was succesful
(true
) or not (false
).
Reference
To add a static item, you'll need to send a JSON request using the POST method to the following endpoint:
/api/v3/admin/static/add
Your JSON request should contain the following parameters:
Parameter | Type | Description |
---|---|---|
subject |
string | Specifies the title |
body |
string | The text of question |
answer |
string | The text of the answer |
channel |
GUID | The GUID of the channel to post this item to |
Parameter | Type | Default value | Description |
---|---|---|---|
tags |
string | N/A | Specifies all #-tags seperated by a space |
remarks |
string | N/A | Specifies the remarks or feedback for this item. |
author |
GUID | GUID of the Channel admin | Specifies the GUID of the author |
The response, when succesful is:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
where item
is the GUID that IQADOT has assigned to the static item.
Note: when static items are added, they will not be visible to channel users until they are published.
To publish an item, using the GET method, send your request with the GUID of the item to the following endpoint:
/api/v3/admin/static/publish/[GUID]
When succesful, the response will contain the confirmation of the GUID of the item in
the
item
parameter:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
Once published, the static item will become visible in the channel's feed of the users.
Contrary to publishing an item, you can unpublish an item to make it invisible to the channel's users. To unpublish an item you'll need to use the GET method with the GUID of the item and send your request to the following endpoint:
/api/v3/admin/static/unpublish/GUID
When succesful, the response will contain the confirmation of the GUID of the item in
the
item
parameter:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
To delete an item, you'll need to use the DELETE method with the GUID of the item and send it to the following endpoint:
/api/v3/admin/static/delete/GUID
When succesful, the response will contain the confirmation of the GUID of the item in
the
item
parameter:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
Note: when static items are deleted, they cannot be recovered anymore.
To obtain a list of the items in a channel, using the GET method with the GUID of the channel, send your request the following endpoint:
/api/v3/admin/static/items/GUID
When succesful, the response will contain a summarized list of the items in the channel:
{
"data": {
"result": "true",
"channel": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"items": [
{
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subject": "Flying permit in the Netherlands",
"timestamp": 1691882410
},
{
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subject": "Marketplace for used single seaters",
"timestamp": 1691882396
},
{
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subject": "Service management of CESNA23-A",
"timestamp": 1691882344
}
]
}
}
To retrieve an item from a channel, using the GET method with the GUID of the item, send your request to the following endpoint:
/api/v3/admin/static/item/GUID
When succesful, the response will contain the full item, like so:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subject": "Service management of CESNA23-A",
"body": "I have a model A23-A from 2009 and need more...",
"channel": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"status": "PUBLISHED",
"author": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Eric Flieger",
"answer": "You will need to obtain a service management ticket from ...",
"timestamp": 1691882344
}
}
To update an item identified by GUID, use the POST method and send your JSON request to the following endpoint:
/api/v3/admin/static/update/GUID
Your JSON request should contain one or more of the parameters of properties that you want to update.
Parameter | Type | Remarks |
---|---|---|
subject |
string | Updates the subject |
body |
string | Updates the body |
channel |
GUID | Used for moving an item to another channel. Be aware that the author must be connected to the new channel. |
author |
GUID | Used for chaning the author of an item. |
allow_comments
|
boolean | Update to true or false. |
tags |
string | Update the #-tags string seperated by spaces |
When succesful, the response will contain a confirmation of the GUID of the item:
{
"data": {
"result": "true",
"item": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}