The /users
resource allows access to user settings for the current user (used to authenticate), as well as sub-users, provided the user used to authenticate has the Admin role.
Listing all users
Request
GET /users
Arguments
Argument | Type | Description |
---|---|---|
count | Number | How many users to include in each page of results |
page | Number | The page to retrieve |
Response
A list of users, including metadata for each user. You’ll find more details about what’s available for every User below.
Example Response
// GET /users GET /users?count=10&page=1 { "metadata": { "resultset": { "count": 10, "page": 1, "total_count": 17, "total_pages": 2 } }, "results": [ { "active": true, "currency": "USD", "region": "us", "is_owner": false, "share_of_profit": "1.00", "last_login": "2021-12-21T11:12:13", "timezone": "Eastern Standard Time", "account": { "id": 12345678, "company": "Appfigures", "auto_import": true, "last_import": "2021-09-23T00:00:00", "plan": "Explore", "plan_id": 1, "is_premium": true }, "id": 34567812, "role": "admin", "name": "John", "email": "john@smith.com", "products": null, "avatar_url": "https://secure.gravatar.com/avatar/...", "date_format": "MM/dd/yy", "entitlements": [ "sales", "ads", "alerts", "toplists", "ranks", "reviews", "featured", "autoimport" ] }, ... ] }
Getting details for a user
Request
GET /users/{email or user_id}
Scope: This resource requires the account:read scope.
Arguments
Argument | Type | Description |
---|---|---|
String | The email address of the user to look up. Must be a member of your account. |
Response
Field | Type | Description |
---|---|---|
active | Bool | (true|false) whether or not the user is active |
currency | String | The user’s preferred currency. Also the currency all monetary reports will be reported in. Currencies can be found here. |
region | String | (us|gb) The user’s preferred region for date and time format. |
is_owner | Bool | (true | false) True if this user created the account, false otherwise. |
last_login | Date | Date of the user’s last login to the site |
timezone | String | The user’s preferred timezone. Also the timezone ranks reports will be reported in. |
account | Account | An object representing the user’s account. See table below for details. |
id | Number | The user’s Appfigures ID |
role | String | The permission level of this user. Possible values are: viewer, admin. Some resources cannot be accessed by viewer users. Requests to those resources will result in a 403 Forbidden error. |
name | String | The user’s full name |
String | The user’s email address. | |
products | List | An array of products that this user has access to. Scroll down to the next method for more details about the product object. |
date_format | String | A format to match the user’s region. |
Account
Field | Type | Description |
---|---|---|
id | String | The account’s Appfigures ID |
name | String | Account’s name |
company | String | Account’s company name |
auto_import | String | (true | false) whether or not the account supports autoimport |
last_import | String | (legacy) We no longer report the account’s last import date in this API. This will always be the current date. |
plan | String | The account’s plan: free, premium, publisher. Some resources cannot be accessed by users who are on the free plan. These resources will result in a 403 Forbidden error. |
Example Response
// GET /users/john@fobsdirect.com { "active": true, "currency": "USD", "region": "US", "is_owner": false, "share_of_profit": "1.00", "last_login": "2021-09-23T13:02:47", "timezone": "Eastern Standard Time", "account": { "id": 42, "company": "Smith's", "auto_import": "N/A", "last_import": "2021-09-23T00:00:00", "plan": "explore" }, "id": 12345678, "role": "admin", "name": "John", "email": "john@smith.com", "date_format": "MM/dd/yy", "products": [ ... ] }
Changing a user’s status
Request
PUT /users/{user_id}
With the following JSON payload { "active": <true|false> }
Arguments
Argument | Type | Description |
---|---|---|
ID | Number | |
Active | Bool |
Example
// PUT /users/12345678 {"active": false}
Response
If successful, this endpoint will respond with the full representation of the User that’s being updated.
Deleting a user
Request
DELETE /users/{user_id}
Arguments
Argument | Type | Description |
---|---|---|
user_id | Number | The ID of the user you’d like to delete. |
Response
This endpoint will respond with a 204 No Content
if the deletion was successful, or a 404 Not Found
if the ID does not exist or is not a member of this account.
Note: User deletions cannot be undone. To temporarily disable a user change its status instead.