Was this helpful?

A role represents a set of permissions that enable certain operations to be performed on a specific endpoint. You can assign a user to a role, and in this way give the user the permissions associated with that role. For further information about roles and their use, see Managing access by defining permission rules.

Using App services APIs you can create, retrieve, update, delete, and query roles. See Default data entities for a list of the system-defined properties for roles. In addition, you can create role properties specific to your application.

Note: Although not shown in the API examples below, you need to provide a valid access token with each API call. See Authenticating users and application clients for details.

Also, the /rolenames endpoint is no longer valid. If your code currently makes calls to /rolenames, you need to change the calls to use /roles.

Retrieving the roles in an application

Use the GET method to get the roles for a specific application.

Example request

Request URI

GET /{org_id}/{app_id}/roles

Parameters

Parameter Description
arg uuid|string org_id Organization UUID or organization name
arg uuid|string app_id Application UUID or application name
curl -X GET "https://api.usergrid.com/my-org/my-app/roles"

It is recommended that you use the Admin Portal for administrative activities instead of using JavaScript to do them programmatically in your app.

Note: You can see the response below in the Admin Portal by using the JavaScript Console.

The example assumes use of the Ruby SDK.

app = Usergrid::Application.new 'https://api.usergrid.com/my-org/my-app/'
roles = app['roles'].collection

The example assumes use of the Node.js module.

var options = {
    method:'GET',
    endpoint:'roles'
};
client.request(options, function (err, data) {
    if (err) {
        //error — GET failed
    } else {
        //success — data will contain raw results from API call       
    }
});

Example response

	{
	  "action" : "get",
	  "application" : "7fb8d891-477d-11e1-b2bd-22000a1c4e22",
	  "params" : {
	    "_" : [ "1328058070002" ]
	  },
	  "uri" : "https://api.usergrid.com/22000a1c4e22-7fb8d891-477d-11e1-b2bd/7fb8d891-477d-11e1-b2bd-22000a1c4e22",
	  "entities" : [ 
	{
	      "uuid": "70f39f36-1825-379d-8385-7a7fbe9ec74a",
	      "type": "role",
	      "name": "admin",
	      "created": 1342198809382,
	      "modified": 1350688633265,
	      "inactivity": 0,
	      "metadata": {
	        "path": "/roles/70f39f36-1825-379d-8385-7a7fbe9ec74a",
	        "sets": {
	          "permissions": "/roles/70f39f36-1825-379d-8385-7a7fbe9ec74a/permissions"
	        },
	        "collections": {
	          "groups": "/roles/70f39f36-1825-379d-8385-7a7fbe9ec74a/groups",
	          "users": "/roles/70f39f36-1825-379d-8385-7a7fbe9ec74a/users"
	        }
	      },
	      "roleName": "admin",
	      "title": "Administrator"
	    },
	    {
	      "uuid": "b8f8f336-30c9-3553-b447-6891f3e1e6bf",
	      "type": "role",
	      "name": "default",
	      "created": 1342198809472,
	      "modified": 1350688633282,
	      "inactivity": 0,
	      "metadata": {
	        "path": "/roles/b8f8f336-30c9-3553-b447-6891f3e1e6bf",
	        "sets": {
	          "permissions": "/roles/b8f8f336-30c9-3553-b447-6891f3e1e6bf/permissions"
	        },
	        "collections": {
	          "groups": "/roles/b8f8f336-30c9-3553-b447-6891f3e1e6bf/groups",
	          "users": "/roles/b8f8f336-30c9-3553-b447-6891f3e1e6bf/users"
	        }
	      },
	      "roleName": "default",
	      "title": "Default"
	    },
	    {
	      "uuid": "bd397ea1-a71c-3249-8a4c-62fd53c78ce7",
	      "type": "role",
	      "name": "guest",
	      "created": 1342198809551,
	      "modified": 1350688633299,
	      "inactivity": 0,
	      "metadata": {
	        "path": "/roles/bd397ea1-a71c-3249-8a4c-62fd53c78ce7",
	        "sets": {
	          "permissions": "/roles/bd397ea1-a71c-3249-8a4c-62fd53c78ce7/permissions"
	        },
	        "collections": {
	          "groups": "/roles/bd397ea1-a71c-3249-8a4c-62fd53c78ce7/groups",
	          "users": "/roles/bd397ea1-a71c-3249-8a4c-62fd53c78ce7/users"
	        }
	      },
	      "roleName": "guest",
	      "title": "Guest"
	    }
	  ],
	  "timestamp": 1353351684225,
	  "duration": 35,
	  "organization": "my-org",
	  "applicationName": "my-app"
	}

Deleting a role

Use the DELETE method to delete the specified role and return the revised set of application roles.

Example request

Request URI

DELETE /{org_id}/{app_id}/roles/{rolename}

Parameters

Parameter Description
arg uuid|string org_id Organization UUID or organization name
arg uuid|string app_id Application UUID or application name
arg string rolename Role name
curl -X DELETE "https://api.usergrid.com/my-org/my-app/roles/manager"

It is recommended that you use the Admin Portal for administrative activities instead of using JavaScript to do them programmatically in your app.

Note: You can see the response below in the Admin Portal by using the JavaScript Console.

The example assumes use of the Ruby SDK.

app = Usergrid::Application.new 'https://api.usergrid.com/my-org/my-app/'
app['roles/manager'].delete

The example assumes use of the Node.js module.

var options = {
    method:'DELETE',
    endpoint:'roles'
};
client.request(options, function (err, data) {
    if (err) {
        //error — DELETE failed
    } else {
        //success — data will contain raw results from API call       
    }
});

Example response

	{
	  "action" : "delete",
	  "application" : "7fb8d891-477d-11e1-b2bd-22000a1c4e22",
	  "params" : {
	    "_" : [ "1328058070002" ]
	  },
	  "path": "/roles",
	  "uri" : "https://api.usergrid.com/22000a1c4e22-7fb8d891-477d-11e1-b2bd/7fb8d891-477d-11e1-b2bd-22000a1c4e22",
	  "entities": [
	    {
	      "uuid": "382d0991-74bb-3548-8166-6b07e44495ef",
	      "type": "role",
	      "name": "manager",
	      "created": 1353358474924,
	      "modified": 1353358474924,
	      "inactivity": 0,
	      "metadata": {
	        "path": "/roles/382d0991-74bb-3548-8166-6b07e44495ef",
	        "sets": {
	          "permissions": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/permissions"
	        },
	        "collections": {
	          "groups": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/groups",
	          "users": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users"
	        }
	      },
	      "roleName": "manager",
	      "title": "Manager"
	    }
	  ],
	  "timestamp": 1353359131580,
	  "duration": 218,
	  "organization": "my-org",
	  "applicationName": "my-app"
	}

Getting permissions for an application role

Use the GET method to get permissions for the specific app role.

Example request

Request URI

GET /{org_id}/{app_id}/roles/{rolename|role_id}/permissions

Parameters

Parameter Description
arg uuid|string org_id Organization UUID or organization name
arg uuid|string app_id Application UUID or application name
arg  uuid|string rolename Role UUID or role name
curl -X GET "https://api.usergrid.com/my-org/my-app/roles/manager/permissions"

It is recommended that you use the Admin Portal for administrative activities instead of using JavaScript to do them programmatically in your app.

Note: You can see the response below in the Admin Portal by using the JavaScript Console.

The example assumes use of the Ruby SDK.

app = Usergrid::Application.new 'https://api.usergrid.com/my-org/my-app/'
response = app['roles']['guest']['permissions'].entity

The example assumes use of the Node.js module.

var options = {
    method:'GET',
    endpoint:'roles/manager/permissions'
};
client.request(options, function (err, data) {
    if (err) {
        //error — GET failed
    } else {
        //success — data will contain raw results from API call       
    }
});

Example response

	{
	  "action" : "get",
	  "application" : "f34f4222-a166-11e2-a7f7-02e81adcf3d0",
	  "params" : { },
	  "uri" : "http://api.usergrid.com/your-org/your-app",
	  "entities" : [ ],
	  "data" : [ "get,post,put,delete:/**", "post:/devices", "post:/users", "put:/devices/*" ],
	  "timestamp" : 1376589421592,
	  "duration" : 89,
	  "organization" : "your-org",
	  "applicationName" : "your-app"
	}
	

Adding permissions to an application role

Use the POST method to add permissions for the specified application role.

Example request

Request URI

POST /{org_id}/{app_id}/roles/{rolename|role_id}/permissions {request body}

Parameters

Parameter Description
arg uuid|string org_id Organization UUID or organization name
arg uuid|string app_id Application UUID or application name
arg uuid|string rolename Role UUID or role name
request body

JSON object with a single permissions property. The value of that property is a string containing a permissions specification. The spec is a comma-separated list of verbs, followed by a colon, followed by a URL pattern:

		{ "permission" : "get,put,post,delete:/users/me/groups" }
curl -X POST "https://api.usergrid.com/my-org/my-app/roles/manager/permissions" -d '{"permission":"get,put,post,delete:/users/me/groups" }'

It is recommended that you use the Admin Portal for administrative activities instead of using JavaScript to do them programmatically in your app.

Note: You can see the response below in the Admin Portal by using the JavaScript Console.

The example assumes use of the Ruby SDK.

app = Usergrid::Application.new 'https://api.usergrid.com/my-org/my-app/'
app['roles/manager/permissions'].post permission:'get,put,post,delete:/users/me/groups'

The example assumes use of the Node.js.

var options = {
    method:'POST',
    endpoint:'roles/manager/permissions',
    body:{ permission:'get,put,post,delete:/users/me/groups' }    
};
client.request(options, function (err, data) {
    if (err) {
        //error — POST failed
    } else {
        //success — data will contain raw results from API call        
    }
});

Example response

	{
	  "action" : "post",
	  "application" : "f34f4222-a166-11e2-a7f7-02e815df8rd0",
	  "params" : { },
	  "uri" : "http://api.usergrid.com/your-org/your-app",
	  "entities" : [ ],
	  "data" : [ "get,put,post,delete:/users/me/groups" ],
	  "timestamp" : 1376590904061,
	  "duration" : 21,
	  "organization" : "your-org",
	  "applicationName" : "your-app"
	}

Deleting permissions from an application role

Use the DELETE method to remove permissions from the specified application role.

Example request

Request URI

DELETE /{org_id}/{app_id}/roles/{rolename|role_id}/permissions?permission={permissions_spec}

Parameters

Parameter Description
uuid|string org_id Organization UUID or organization name
uuid|string app_id Application UUID or application name
uuid|string rolename Role UUID or role name
grant_url_pattern The pattern on which the permissions were granted.
curl -X DELETE -H "authorization: Bearer INSERT_BEARER_TOKEN_HERE" "https://api.usergrid.com/my-org/my-app/roles/default/permissions?permission=get,post,delete:/notes"

It is recommended that you use the Admin Portal for administrative activities instead of using JavaScript to do them programmatically in your app.

Note: You can see the response below in the Admin Portal by using the JavaScript Console.

The example assumes use of the Ruby SDK.

app = Usergrid::Application.new 'https://api.usergrid.com/my-org/my-app/'
app['roles/manager/permission'].delete permission:'delete'

The example assumes use of the Node.js module.

var options = {
    method:'DELETE',
    endpoint:'roles/manager/permission',
    body:{ permission:'delete' }    
};
client.request(options, function (err, data) {
    if (err) {
        //error — DELETE failed
    } else {
        //success — data will contain raw results from API call        
    }
});

Example response

	{
	  "action" : "delete",
	  "application" : "7fb8d891-477d-11e1-b2bd-22000a1c4e22",
	  "params" : {
	    "permission":  [
	       "delete"
	    ]
	  },
	  "path": "/roles",
	  "uri" : "https://api.usergrid.com/22000a1c4e22-7fb8d891-477d-11e1-b2bd/7fb8d891-477d-11e1-b2bd-22000a1c4e22",
	  "entities":  [
	      {
	      "uuid": "382d0991-74bb-3548-8166-6b07e44495ef",
	      "type": "role",
	      "name": "manager",
	      "created": 1353359536973,
	      "modified": 1353359536973,
	      "inactivity": 0,
	      "metadata":  {
	        "path": "/roles/382d0991-74bb-3548-8166-6b07e44495ef",
	        "sets":  {
	          "permissions": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/permissions"
	        },
	        "collections":  {
	          "groups": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/groups",
	          "users": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users"
	        }
	      },
	      "roleName": "manager",
	            "title": "Manager"
	          }
	   ],
	   "timestamp": 1353360762403,
	   "duration": 181,
	   "organization": "my-org",
	   "applicationName": "my-app"
	}

Adding a user to a role

Use the POST method to add a user to a role.

Example - Request

Request URI

		POST /{org_id}/{app_id}/roles/{role_id}/users/{uuid|username}

or

		POST /{org_id}/{app_id}/users/{uuid|username}/roles/{role_id}

Parameters

Parameter Description
arg uuid|string org_id Organization UUID or organization name
arg uuid|string app_id Application UUID or application name
arg uuid|string role_id Role UUID or role name
arg uuid|string uuid|name User UUID or username
curl -X POST "https://api.usergrid.com/my-org/my-app/roles/manager/users/john.doe"

It is recommended that you use the Admin Portal for administrative activities instead of using JavaScript to do them programmatically in your app.

Note: You can see the response below in the Admin Portal by using the JavaScript Console.

The example assumes use of the Ruby SDK.

app = Usergrid::Application.new 'https://api.usergrid.com/my-org/my-app/'
app['roles/manager/users/someuser'].post nil

The example assumes use of the Node.js module.

var options = {
    method:'POST',
    endpoint:'roles/manager/users/john.doe'
};
client.request(options, function (err, data) {
    if (err) {
        //error — POST failed
    } else {
        //success — data will contain raw results from API call       
    }
});

Example response

	{
	  "action": "post",
	  "application": "3400ba10-cd0c-11e1-bcf7-12313d1c4491",
	  "params": {},
	  "path": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users",
	  "uri": "https://api.usergrid.com/my-org/my-app/roles/382d0991-74bb-3548-8166-6b07e44495ef/users",
	  "entities": [
	    {
	      "uuid": "34e26bc9-2d00-11e2-a065-02e81ae640dc",
	      "type": "user",
	      "name": "John Doe",
	      "created": 1352748968504,
	      "modified": 1352748968504,
	      "activated": true,
	      "email": "john.doe@mail.com",
	      "metadata": {
	        "path": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc",
	        "sets": {
	          "rolenames": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/rolenames",
	          "permissions": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/permissions"
	        },
	        "connections": {
	          "likes": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/likes"
	        },
	        "collections": {
	          "activities": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/activities",
	          "devices": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/devices",
	          "feed": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/feed",
	          "groups": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/groups",
	          "roles": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/roles",
	          "following": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/following",
	          "followers": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/followers"
	        }
	      },
	      "picture": "http://www.gravatar.com/avatar/90f82dba15655b8cc8e3b4d63377576f",
	      "username": "someuser"
	    }
	  ],
	  "timestamp": 1352999087337,
	  "duration": 65,
	  "organization": "my-org",
	  "applicationName": "my-app"
	}

Getting the users in a role

Use the GET method to get the users in a role.

Example request

Request URI

		GET /{org_id}/{app_id}/roles/{role_id}/users

Parameters

Parameter Description
arg uuid|string org_id Organization UUID or organization name
arg uuid|string app_id Application UUID or application name
arg uuid|string role_id Role UUID or role name
curl -X GET "https://api.usergrid.com/my-org/my-app/roles/manager/users"

It is recommended that you use the Admin Portal for administrative activities instead of using JavaScript to do them programmatically in your app.

Note: You can see the response below in the Admin Portal by using the JavaScript Console.

The example assumes use of the Ruby SDK.

app = Usergrid::Application.new 'https://api.usergrid.com/my-org/my-app/'
users = app['roles/manager/users'].collection

The example assumes use of the Node.js module.

var options = {
    method:'GET',
    endpoint:'roles/manager/users'
};
client.request(options, function (err, data) {
    if (err) {
        //error — GET failed
    } else {
        //success — data will contain raw results from API call       
    }
});

Example response

	{
	  "action": "get",
	  "application": "3400ba10-cd0c-11e1-bcf7-12313d1c4491",
	  "params": {
	    "_": [
	      "1352999121468"
	    ]
	  },
	  "path": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users",
	  "uri": "https://api.usergrid.com/my-org/my-app/roles/382d0991-74bb-3548-8166-6b07e44495ef/users",
	  "entities": [
	    {
	      "uuid": "34e26bc9-2d00-11e2-a065-02e81ae640dc",
	      "type": "user",
	      "name": "John Doe",
	      "created": 1352748968504,
	      "modified": 1352748968504,
	      "activated": true,
	      "email": "john.doe@mail.com",
	      "metadata": {
	        "path": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc",
	        "sets": {
	          "rolenames": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/rolenames",
	          "permissions": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/permissions"
	        },
	        "connections": {
	          "likes": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/likes"
	        },
	        "collections": {
	          "activities": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/activities",
	          "devices": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/devices",
	          "feed": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/feed",
	          "groups": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/groups",
	          "roles": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/roles",
	          "following": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/following",
	          "followers": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/followers"
	        }
	      },
	      "picture": "http://www.gravatar.com/avatar/90f823ba15655b8cc8e3b4d63377576f",
	      "username": "john.doe"
	    }
	  ],
	  "timestamp": 1352999119136,
	  "duration": 28,
	  "organization": "my-org",
	  "applicationName": "my-app"
	

Deleting a user from a role

Use the DELETE method to delete a user from a role.

Example - Request

Request URI

		DELETE /{org_id}/{app_id}/roles/{role_id}/users/{uuid|username}

Parameters

Parameter Description
arg uuid|string org_id Organization UUID or organization name
arg uuid|string app_id Application UUID or application name
arg uuid|string role_id Role UUID or role name
arg uuid|string uuid|name User UUID or username
curl -X DELETE "https://api.usergrid.com/my-org/my-app/roles/manager/users/john.doe"

It is recommended that you use the Admin Portal for administrative activities instead of using JavaScript to do them programmatically in your app.

Note: You can see the response below in the Admin Portal by using the JavaScript Console.

The example assumes use of the Ruby SDK.

app = Usergrid::Application.new 'https://api.usergrid.com/my-org/my-app/'
app['roles/manager/users/john.doe'].delete

The example assumes use of the Node.js module.

var options = {
    method:'DELETE',
    endpoint:'roles/manager/users/john.doe'
};
client.request(options, function (err, data) {
    if (err) {
        //error — DELETE failed
    } else {
        //success — data will contain raw results from API call       
    }
});

Example response

	{
	   "action": "delete",
	   "application": "3400ba10-cd0c-11e1-bcf7-12313d1c4491",
	   "params": {
	     "_": [
	       "1353000719265"
	     ]
	   },
	   "path": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users",
	   "uri": "equest
	curl -X DELETE "https://api.usergrid.com/my-org/my-app/roles/382d0991-74bb-3548-8166-6b07e44495ef/users",
	   "entities": [
	     {
	       "uuid": "34e26bc9-2d00-11e2-a065-02e81ae640dc",
	       "type": "user",
	       "name": "John Doe",
	       "created": 1352748968504,
	       "modified": 1352748968504,
	       "activated": true,
	       "email": "john.doe@mail.com",
	       "metadata": {
	         "path": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc",
	         "sets": {
	           "rolenames": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/rolenames",
	           "permissions": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/permissions"
	         },
	         "connections": {
	           "likes": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/likes"
	         },
	         "collections": {
	           "activities": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/activities",
	           "devices": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/devices",
	           "feed": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/feed",
	           "groups": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/groups",
	           "roles": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/roles",
	           "following": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/following",
	           "followers": "/roles/382d0991-74bb-3548-8166-6b07e44495ef/users/34e26bc9-2d00-11e2-a065-02e81ae640dc/followers"
	         }
	       },
	       "picture": "http://www.gravatar.com/avatar/90f823ba13655b8cc8e3b4d63377576f",
	       "username": "john.doe"
	     }
	   ],
	   "timestamp": 1353000717531,
	   "duration": 338,
	   "organization": "my-org",
	   "applicationName": "my-app"
	 }
	

Add new comment

Provide your email address if you wish to be contacted offline about your comment.
We will not display your email address as part of your comment.

We'd love your feedback and perspective! Please be as specific as possible.
Type the characters you see in this picture. (verify using audio)

Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.