Oauth
Metadata
| Version | 1.0 | 
| Last Updated | December 30, 2016 | 
Actions
Clients
RESOURCE FIELDS
| Name | Type | Read-only | Description | 
|---|---|---|---|
| name | string | The title of the client application | |
| url | string | The URL to the page about the client application | |
| key | string | ||
| secret | string | Shown only once | |
| scopes | array | API scopes | |
| logo | Logo | ||
| description | string | Short description of what the application does | |
| author | string | The name of the author of the client application | |
| author_url | string | The URL to the page about the author | |
| callback_url | string | The URL of the client application, that will handle OAuth redirects | |
| creator | User | ||
| last_used_at | timestamp | ISO-8601 Format | |
| created_at | timestamp | ISO-8601 Format | |
| updated_at | timestamp | ISO-8601 Format | 
Logo
RESOURCE FIELDS
| Name | Type | Read-only | Description | 
|---|---|---|---|
| data | buffer | ||
| type | string | JPEG,PNGorGIF | |
| url | string | The URL to view the logo | |
| created_at | timestamp | ISO-8601 Format | 
Retrieve all clients
GET /api/v1/oauth/clients.jsonInformation
| Allowed for | Admins & Owners | 
Response
    {
        "status": 200,
        "data": [
{
    "id": 1,
    "name": "Brewfictus mobile app",
    "url": "https://brewfictus.com/apps/kayako",
    "key": "c054173c-89d2-48c2-b020-1ce3f7874462",
    "secret": null,
    "scopes": [],
    "logo": {
        "url": "https://brewfictus.kayako.com/api/v1/oauth/clients/1/logo",
        "created_at": "2016-12-29T16:07:04+00:00"
    },
    "description": "Support client for mobile devices",
    "author": "Brewfictus",
    "author_url": "https://brewfictus.com",
    "callback_url": "https://brewfictus.com/oauth/callback",
    "creator": 
{
    "id": 1,
    "resource_type": "user"
}
,
    "last_used_at": null,
    "created_at": "2016-12-29T16:06:27+00:00",
    "updated_at": null
    ,"resource_type": "oauth_client"
    ,"resource_url": "https://brewfictus.kayako.com/api/v1/oauth/clients/1"
}
        ],
        "resource": "oauth_client",
        "offset": 0,
        "limit": 10,
        "total_count": 1
    }
Retrieve a client
GET /api/v1/oauth/clients/:id.jsonInformation
| Allowed for | Admins & Owners | 
Response
    {
        "status": 200,
        "data": 
{
    "id": 1,
    "name": "Brewfictus mobile app",
    "url": "https://brewfictus.com/apps/kayako",
    "key": "c054173c-89d2-48c2-b020-1ce3f7874462",
    "secret": null,
    "scopes": [],
    "logo": {
        "url": "https://brewfictus.kayako.com/api/v1/oauth/clients/1/logo",
        "created_at": "2016-12-29T16:07:04+00:00"
    },
    "description": "Support client for mobile devices",
    "author": "Brewfictus",
    "author_url": "https://brewfictus.com",
    "callback_url": "https://brewfictus.com/oauth/callback",
    "creator": 
{
    "id": 1,
    "resource_type": "user"
}
,
    "last_used_at": null,
    "created_at": "2016-12-29T16:06:27+00:00",
    "updated_at": null
    ,"resource_type": "oauth_client"
    ,"resource_url": "https://brewfictus.kayako.com/api/v1/oauth/clients/1"
}
,
        "resource": "oauth_client"
    }
Add a client
POST /api/v1/oauth/clients.jsonInformation
| Allowed for | Admins & Owners | 
Parameters
| Name | Type | Mandatory | Description | 
|---|---|---|---|
| name | string | The title of the client application | |
| url | string | The URL to the page about the client application | |
| scopes | array | API scopes allowed for this application | |
| description | string | Short description of what the application does | |
| author | string | The name of the author of the client application | |
| author_url | string | The URL to the page about the author | |
| callback_url | string | The URL of the client application, that will handle OAuth redirects | |
| logo | File Upload | Image larger than 100x100will be scaled down | |
| logo_file_id | integer | The ID of the image file, see Two-step upload | 
Response
    {
        "status": 201,
        "data": 
{
    "id": 1,
    "name": "Brewfictus mobile app",
    "url": "https://brewfictus.com/apps/kayako",
    "key": "c054173c-89d2-48c2-b020-1ce3f7874462",
    "secret": "NGQzMDJjYzMtOTAxZS00OGEyLThjNTUtMjkyMzMxN2MyYTA5ZDAxNDhmMWQtYjljNC00MGUxLWFjMTYtMDZjMWRhNjU4Y2Rj",
    "scopes": [],
    "logo": {
        "url": "https://brewfictus.kayako.com/api/v1/oauth/clients/1/logo",
        "created_at": "2016-12-29T16:07:04+00:00"
    },
    "description": "Support client for mobile devices",
    "author": "Brewfictus",
    "author_url": "https://brewfictus.com",
    "callback_url": "https://brewfictus.com/oauth/callback",
    "creator": 
{
    "id": 1,
    "resource_type": "user"
}
,
    "last_used_at": null,
    "created_at": "2016-12-29T16:06:27+00:00",
    "updated_at": null
    ,"resource_type": "oauth_client"
    ,"resource_url": "https://brewfictus.kayako.com/api/v1/oauth/clients/1"
}
,
        "resource": "oauth_client"
    }
Update a client
PUT /api/v1/oauth/clients/:id.jsonInformation
| Allowed for | Admins & Owners | 
Parameters
| Name | Type | Mandatory | Description | 
|---|---|---|---|
| name | string | The title of the client application | |
| url | string | The URL to the page about the client application | |
| scopes | array | API scopes allowed for this application | |
| description | string | Short description of what the application does | |
| author | string | The name of the author of the client application | |
| author_url | string | The URL to the page about the author | |
| callback_url | string | The URL of the client application, that will handle OAuth redirects | |
| logo | File Upload | Image larger than 100x100will be scaled down | |
| logo_file_id | integer | The ID of the image file, see Two-step upload | 
Response
    {
        "status": 200,
        "data": 
{
    "id": 1,
    "name": "Brewfictus mobile app",
    "url": "https://brewfictus.com/apps/kayako",
    "key": "c054173c-89d2-48c2-b020-1ce3f7874462",
    "secret": null,
    "scopes": [],
    "logo": {
        "url": "https://brewfictus.kayako.com/api/v1/oauth/clients/1/logo",
        "created_at": "2016-12-29T16:07:04+00:00"
    },
    "description": "Support client for mobile devices",
    "author": "Brewfictus",
    "author_url": "https://brewfictus.com",
    "callback_url": "https://brewfictus.com/oauth/callback",
    "creator": 
{
    "id": 1,
    "resource_type": "user"
}
,
    "last_used_at": null,
    "created_at": "2016-12-29T16:06:27+00:00",
    "updated_at": null
    ,"resource_type": "oauth_client"
    ,"resource_url": "https://brewfictus.kayako.com/api/v1/oauth/clients/1"
}
,
        "resource": "oauth_client"
    }
Delete a client
DELETE /api/v1/oauth/clients/:id.jsonInformation
| Allowed for | Admins & Owners | 
Response
    {
        "status": 200
    }
Delete clients
DELETE /api/v1/oauth/clients.jsonInformation
| Allowed for | Admins & Owners | 
Arguments
| Name | Type | Mandatory | Description | 
|---|---|---|---|
| ids | string | The comma separated ids | 
Response
    {
        "status": 200,
        "total_count": 2
    }
User grants
Retrieve user grants
GET /api/v1/oauth/grants.jsonInformation
| Allowed for | Admins & Owners | 
Arguments
| Name | Type | Mandatory | Description | 
|---|---|---|---|
| user_id | integer | Filter grants by user ID | |
| client_id | integer | Filter grants by client ID | 
Response
    {
        "status": 200,
        "data": [
            {
    "id": 1,
    "user": 
{
    "id": 1,
    "resource_type": "user"
}
,
    "client": 
{
    "id": 1
    ,"resource_type": "oauth_client"
}
,
    "scopes": [ "conversations:write", "configuration:read" ],
    "created_at": "2016-12-16T12:26:43+00:00",
    "last_activity_at": "2017-06-07T18:50:47+00:00",
    "expiry_at": null,
    "resource_type": "oauth_grant",
    "resource_url": "https://brewfictus.kayako.com/api/v1/oauth/grants/1"
}
        ],
        "resource": "oauth_grant",
        "offset": 0,
        "limit": 10,
        "total_count": 1
    }
Retrieve a user grant
GET /api/v1/oauth/grants/:id.jsonInformation
| Allowed for | Admins & Owners | 
Response
    {
        "status": 200,
        "data": {
    "id": 1,
    "user": 
{
    "id": 1,
    "resource_type": "user"
}
,
    "client": 
{
    "id": 1
    ,"resource_type": "oauth_client"
}
,
    "scopes": [ "conversations:write", "configuration:read" ],
    "created_at": "2016-12-16T12:26:43+00:00",
    "last_activity_at": "2017-06-07T18:50:47+00:00",
    "expiry_at": null,
    "resource_type": "oauth_grant",
    "resource_url": "https://brewfictus.kayako.com/api/v1/oauth/grants/1"
}
,
        "resource": "oauth_grant"
    }
Delete a user grant
DELETE /api/v1/oauth/grants/:id.jsonInformation
| Allowed for | Admins & Owners | 
Response
    {
        "status": 200
    }
Delete user grants
DELETE /api/v1/oauth/grants.jsonInformation
| Allowed for | Admins & Owners | 
Arguments
| Name | Type | Mandatory | Description | 
|---|---|---|---|
| ids | string | The comma separated ids | 
Response
    {
        "status": 200,
        "total_count": 2
    }
Own grants
RESOURCE FIELDS
| Name | Type | Read-only | Description | 
|---|---|---|---|
| client | Client | ||
| scopes | array | API scopes | |
| created_at | timestamp | ISO-8601 Format | |
| last_activity_at | timestamp | ISO-8601 Format. The timestamp is not accurate. | |
| expiry_at | timestamp | ISO-8601 Format | 
Client
RESOURCE FIELDS
| Name | Type | Read-only | Description | 
|---|---|---|---|
| name | string | The title of the client application | |
| url | string | The URL to the page about the client application | |
| logo | Logo | ||
| description | string | Short description of what the application does | |
| author | string | The name of the author of the client application | |
| author_url | string | The URL to the page about the author | |
| created_at | timestamp | ISO-8601 Format | |
| updated_at | timestamp | ISO-8601 Format | 
Retrieve all own grants
GET /api/v1/oauth/my_grants.jsonInformation
| Allowed for | Collaborators, Agents, Admins & Owners | 
Response
    {
        "status": 200,
        "data": [
            {
    "id": 1,
    "client": 
{
    "name": "Brewfictus mobile app",
    "url": "https://brewfictus.com/apps/kayako",
    "logo": {
        "url": "https://brewfictus.kayako.com/api/v1/oauth/clients/1/logo",
        "created_at": "2016-12-29T16:07:04+00:00"
    },
    "description": "Support client for mobile devices",
    "author": "Brewfictus",
    "author_url": "https://brewfictus.com",
    "created_at": "2016-12-29T16:06:27+00:00",
    "updated_at": null
}
,
    "scopes": [ "conversations:write", "configuration:read" ],
    "created_at": "2016-12-22T15:30:55+00:00",
    "last_activity_at": "2017-06-07T18:51:15+00:00",
    "expiry_at": null,
    "resource_type": "my_oauth_grant",
    "resource_url": "https://brewfictus.kayako.com/api/v1/oauth/my_grants/1"
}
        ],
        "resource": "my_oauth_grant",
        "offset": 0,
        "limit": 10,
        "total_count": 1
    }
Retrieve an own grant
GET /api/v1/oauth/my_grants/:id.jsonInformation
| Allowed for | Collaborators, Agents, Admins & Owners | 
Response
    {
        "status": 200,
        "data": {
    "id": 1,
    "client": 
{
    "name": "Brewfictus mobile app",
    "url": "https://brewfictus.com/apps/kayako",
    "logo": {
        "url": "https://brewfictus.kayako.com/api/v1/oauth/clients/1/logo",
        "created_at": "2016-12-29T16:07:04+00:00"
    },
    "description": "Support client for mobile devices",
    "author": "Brewfictus",
    "author_url": "https://brewfictus.com",
    "created_at": "2016-12-29T16:06:27+00:00",
    "updated_at": null
}
,
    "scopes": [ "conversations:write", "configuration:read" ],
    "created_at": "2016-12-22T15:30:55+00:00",
    "last_activity_at": "2017-06-07T18:51:15+00:00",
    "expiry_at": null,
    "resource_type": "my_oauth_grant",
    "resource_url": "https://brewfictus.kayako.com/api/v1/oauth/my_grants/1"
}
,
        "resource": "my_oauth_grant"
    }
Delete an own grant
DELETE /api/v1/oauth/my_grants/:id.jsonInformation
| Allowed for | Collaborators, Agents, Admins & Owners | 
Response
    {
        "status": 200
    }
Delete own grants
DELETE /api/v1/oauth/my_grants.jsonInformation
| Allowed for | Collaborators, Agents, Admins & Owners | 
Arguments
| Name | Type | Mandatory | Description | 
|---|---|---|---|
| ids | string | The comma separated ids | 
Response
    {
        "status": 200,
        "total_count": 2
    }