IQADOT Platform

API v3

Overview

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.

 

Authentication

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. 

 


Articles API

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

 

 


Adding articles

To add an article you'll need send a JSON request using the POST method to the following endpoint:
                        /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

 

Optional parameters

 
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.

 

 


Publishing articles

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.

 

 


Unpublishing articles

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"
    }
}

 

 


Deleting articles

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.

 

 


Listing articles

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
            }
        ]
    }
}

 

 


Retrieving articles

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
    }
}

 

 


Updating articles

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 API

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

 

 

Adding items

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

 

Optional parameters

 
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.

 

 


Publishing items

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.

 

 


Unpublishing items

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"
    }
}

 

 


Deleting items

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.

 

 


Listing items

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
            }
        ]
    }
}

Retrieving items

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
    }
}

 

 


Updating items

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"
    }
}