Overview

UserEcho provides an API that lets you perform all the operations available to users and admins via WEB interface and more.

API consists of the Base API and Advanced API. Base API - allows read access to data. currently in development, will give you access to create and maintain objects.

Requests format

All calls to the API must be made at:
https://[alias].userecho.com/api/v2/

Typical call format is:
https://[alias].userecho.com/api/v2/[command].[format]?access_token=[api_token]
where:
[alias] - your project alias.
[command] - any of the supported commands from list below.
[format] - output format. We support json and xml.
[access_token] - Your access token key. You can get key under Setup->Advanced features->API.

You should replace the [user_id],[feedback_id],[forum_id],... with suitable values

Types of responses

We support JSON and XML response formats. Feel free to request what's you need at our support forum. Replace [format] with json or xml.

Response structure

Response has parameter "status" that can be "success" or "error". If "status" is "success" than requested information will be in parameter "data". Other way error will be described in parameter "message".

Also parameter "details" may be available with some additional information. For example, current page, count items, etc..

Common params

We support pagination in all requests. By default all queries limited to 50 records.
For pagination we use two params.
page - select page
limit - limit records on page

Sample request

Let's suppose than we need get users of your support forum.
https://[alias].userecho.com/api/v2/users.json?access_token=[replace with access token] - return all users. https://[alias].userecho.com/api/v2/users.json?page=11&limit=2&access_token=[replace with access token] - return 11th page of user list

{
    "status": "success",
    "data": [
        {
            "rating": 23,
            "display_name": "Best user",
            "avatar_url": "https://secure.gravatar.com/avatar/09b4a1f47e5d064b5344c7e6433dd751?default=https%3A%2F%2Fcdn.userecho.com%2Fimages%2Fno_avatar_48.jpg&s=48",
            "updates_count": 1,
            "id": 7966,
            "is_staff": false,
            "last_activity": "2013-12-01T20:51:10.895Z",
            "date_joined": "2013-12-01T20:51:10.895Z"
        },
        {
            "rating": 6,
            "display_name": "MARK3906",
            "avatar_url": "https://secure.gravatar.com/avatar/92eedc79ef0eb55e8868f808157360b7?default=https%3A%2F%2Fcdn.userecho.com%2Fimages%2Fno_avatar_48.jpg&s=48",
            "updates_count": 1,
            "id": 7967,
            "is_staff": false,
            "last_activity": "2013-12-01T20:51:16.254Z",
            "date_joined": "2013-12-01T20:51:16.254Z"
        }
    ],
    "details": {
        "count": 78,
        "limit": 2,
        "from": 21,
        "page": 11
    }
}
Example of error response
{
    "status": "fail",
    "message": "User doesn't exists"
}

For more detail look at API reference.