{ "opencollection": "1.0.0", "info": { "name": "YOOBIC Public Answers Users API", "version": "1.0" }, "items": [ { "info": { "name": "Users", "type": "folder" }, "items": [ { "info": { "name": "Get", "type": "http" }, "http": { "method": "GET", "url": "https:///public/api/users/me", "headers": [ { "name": "Accept", "value": "application/json" } ], "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/", "accessTokenUrl": "/", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Get the serivce account user for the current token.\n\n**Important:**\nThe `tenant` property returned by this endpoint contains the string value of the company name that should be used as the prefix for new [Groups](#reference/groups/multiple-groups-api/create)." }, { "info": { "name": "Get", "type": "http" }, "http": { "method": "GET", "url": "https:///public/api/users/:id", "headers": [ { "name": "Accept", "value": "application/json" } ], "params": [ { "name": "id", "value": "53fb03c6546847ee0d30086a", "type": "path", "description": "The id of the User" } ], "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/", "accessTokenUrl": "/", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Get a user for the given id." }, { "info": { "name": "Partial Update", "type": "http" }, "http": { "method": "PATCH", "url": "https:///public/api/users/:id", "headers": [ { "name": "Accept", "value": "application/json" } ], "params": [ { "name": "id", "value": "53fb03c6546847ee0d30086a", "type": "path", "description": "The id of the User" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/", "accessTokenUrl": "/", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Update a subset of properties of an user. \n**Important** - `password` cannot be updated (will be ignored) via this endpoint." }, { "info": { "name": "Delete", "type": "http" }, "http": { "method": "DELETE", "url": "https:///public/api/users/:id", "params": [ { "name": "id", "value": "53fb03c6546847ee0d30086a", "type": "path", "description": "The id of the User" } ], "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/", "accessTokenUrl": "/", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Delete an user by id." }, { "info": { "name": "Change Password", "type": "http" }, "http": { "method": "PATCH", "url": "https:///public/api/users/:id/password-change", "headers": [ { "name": "Accept", "value": "application/json" } ], "params": [ { "name": "id", "value": "54ab03c6546847ee0d30086a", "type": "path", "description": "The id of the user" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/", "accessTokenUrl": "/", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Update user's `password`. \nNote - `dontSendMail` / boolean / not required / if `true` no email is sent to the user. If `false` or not specified, an email is sent to the user to inform them about the change." }, { "info": { "name": "Password History", "type": "http" }, "http": { "method": "GET", "url": "https:///public/api/users/:id/password-change?filter=:filter", "headers": [ { "name": "Accept", "value": "application/json" } ], "params": [ { "name": "id", "value": "54ab03c6546847ee0d30086a", "type": "path", "description": "The id of the user" }, { "name": "filter", "value": "{}", "type": "query", "description": "A valid JSON filter object" } ], "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/", "accessTokenUrl": "/", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Get the dates on which a user changed his password. \nNote - currently only the `date` field exists, thus filtering is done solely on it." }, { "info": { "name": "Archive", "type": "http" }, "http": { "method": "POST", "url": "https:///public/api/users/:id/archive", "headers": [ { "name": "Accept", "value": "application/json" } ], "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/", "accessTokenUrl": "/", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Archive a user" }, { "info": { "name": "Unarchive", "type": "http" }, "http": { "method": "POST", "url": "https:///public/api/users/:id/unarchive", "headers": [ { "name": "Accept", "value": "application/json" } ], "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/", "accessTokenUrl": "/", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Restore an archived user." }, { "info": { "name": "Get All", "type": "http" }, "http": { "method": "GET", "url": "https:///public/api/users?filter=:filter", "headers": [ { "name": "Accept", "value": "application/json" } ], "params": [ { "name": "filter", "value": "{}", "type": "query", "description": "A valid JSON filter object" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Get all the users. \n**Important:** \nCombination of `client_role` and `client_role_extension` defines the user's permission. A wrong combination of these two will cause a validation error, specifying an invalid permission. If `client_role_extension` is not passed (optional), `client_role` will refer to the corresponding base permission.\nTo filter on user roles, always pass both the `client_role` and `client_role_extension`. Example:\n\n```json\nfilter={\"where\": { \"client_role\": \"ROLEVIEWER\",\"c" }, { "info": { "name": "Get all archives", "type": "http" }, "http": { "method": "GET", "url": "https:///public/api/users/archives?filter=:filter", "headers": [ { "name": "Accept", "value": "application/json" } ], "params": [ { "name": "filter", "value": "{}", "type": "query", "description": "A valid JSON filter object" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Get all archived users. You can use the same filters as for the regular “Get all users” method" }, { "info": { "name": "Count", "type": "http" }, "http": { "method": "GET", "url": "https:///public/api/users/count?where=:where", "headers": [ { "name": "Accept", "value": "application/json" } ], "params": [ { "name": "where", "value": "{ \"property\": \"value\" }", "type": "query", "description": "A valid JSON [Where filter](#section-api-requests-filter-where)" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Count all the existing entities based on the where filter" }, { "info": { "name": "Create", "type": "http" }, "http": { "method": "POST", "url": "https:///public/api/users", "headers": [ { "name": "Accept", "value": "application/json" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/", "accessTokenUrl": "/", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "You may create a new single user or multiple users using this action. \nWhen creating a single user the body contains a json object, when creating multiple users the body contains an array of objects. \n**Warning: a maximum of 1000 items can be sent in a single request.**" }, { "info": { "name": "Invite users", "type": "http" }, "http": { "method": "POST", "url": "https:///public/api/users/reminders", "headers": [ { "name": "Accept", "value": "application/json" } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "oauth2", "flow": "authorization_code", "authorizationUrl": "/", "accessTokenUrl": "/", "credentials": { "clientId": "{{clientId}}", "clientSecret": "{{clientSecret}}" } } }, "docs": "Send account activation reminder\n\nSends a reminder email to users. Only users who have not already logged in the application and have a work email \n(`user.email`) will be notified. This email contains information for the user to log in the application with their account." }, { "info": { "name": "Export Weekly Schedule", "type": "http" }, "http": { "method": "GET", "url": "https:///public/api/users/weekly-schedule/export?type=:type&filter=:filter", "headers": [ { "name": "Accept", "value": "application/json" } ], "params": [ { "name": "type", "value": "csv", "type": "path", "description": "The type of file, either `csv` (default value) or `excel`" }, { "name": "filter", "value": "{}", "type": "query", "description": "A valid JSON filter object (does not accept a `fields` filter)" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Export all results as a file. \nThis action is asynchronous and returns the id of a job. See [`jobs`](#group-jobs) endpoint to query the status of the job. The file will contain the results with all of the fields specified on the resource." }, { "info": { "name": "Import Weekly Schedule", "type": "http" }, "http": { "method": "PATCH", "url": "https:///public/api/users/weekly-schedule/import?type=:type", "headers": [ { "name": "Content-Disposition", "value": "form-data; name=\"file\"; filename=\"file.csv\"" } ], "params": [ { "name": "type", "value": "csv", "type": "path", "description": "The type of file, either `csv` (default value) or `excel`" } ] }, "docs": "See the [Import file section](#section-import-jobs) for more information.\n\n### Fields\n\n| Field | Format | Required | Description |\n|--------------------------|---------|:---------:|-----------------|\n|`user_id` | string | | Unique user id |\n|`username` | string | x | Username |\n|`mon_hours` | string | | Contains data on the working hours for Monday i.e. 06:00-12:00,15:00-17:00|\n|`tue_hours` " }, { "info": { "name": "Import Users To Archive", "type": "http" }, "http": { "method": "POST", "url": "https:///public/api/users/archive/import?type=:type", "headers": [ { "name": "Content-Disposition", "value": "form-data; name=\"file\"; filename=\"file.csv\"" } ], "params": [ { "name": "type", "value": "csv", "type": "path", "description": "The type of file, either `csv` (default value) or `excel`" } ] }, "docs": "This method will archive all users found from the imported file.\n\n### Fields\n\n| Field | Format | Required | Description |\n|--------------------------|---------|:---------:|-----------------|\n|`user_id` | string | x | Unique user id |\n|`username` | string | x | Username |\n\nOnly one of user_id or username is required." }, { "info": { "name": "Export archived users", "type": "http" }, "http": { "method": "GET", "url": "https:///public/api/users_archived/export?type=:type&filter=:filter", "headers": [ { "name": "Accept", "value": "application/json" } ], "params": [ { "name": "type", "value": "csv", "type": "path", "description": "The type of file, either `csv` (default value) or `excel`" }, { "name": "filter", "value": "{}", "type": "query", "description": "A valid JSON filter object (does not accept a `fields` filter)" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Export all results as a file. \nThis action is asynchronous and returns the id of a job. See [`jobs`](#group-jobs) endpoint to query the status of the job. The file will contain the results with all of the fields specified on the resource." }, { "info": { "name": "Import Users To Un Archive", "type": "http" }, "http": { "method": "POST", "url": "https:///public/api/users/unarchive/import?type=:type", "headers": [ { "name": "Content-Disposition", "value": "form-data; name=\"file\"; filename=\"file.csv\"" } ], "params": [ { "name": "type", "value": "csv", "type": "path", "description": "The type of file, either `csv` (default value) or `excel`" } ] }, "docs": "This method will unarchive all users found from the imported file.\n\n### Fields\n\n| Field | Format | Required | Description |\n|--------------------------|---------|:---------:|-----------------|\n|`user_id` | string | x | Unique user id |\n|`username` | string | x | Username |\n\nOnly one of user_id or username is required." }, { "info": { "name": "Export", "type": "http" }, "http": { "method": "GET", "url": "https:///public/api/users/export?type=:type&filter=:filter", "headers": [ { "name": "Accept", "value": "application/json" } ], "params": [ { "name": "type", "value": "csv", "type": "path", "description": "The type of file, either `csv` (default value) or `excel`" }, { "name": "filter", "value": "{}", "type": "query", "description": "A valid JSON filter object (does not accept a `fields` filter)" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Export all results as a file. \nThis action is asynchronous and returns the id of a job. See [`jobs`](#group-jobs) endpoint to query the status of the job. The file will contain the results with all of the fields specified on the resource." }, { "info": { "name": "Import", "type": "http" }, "http": { "method": "POST", "url": "https:///public/api/users/import?type=:type", "headers": [ { "name": "Content-Disposition", "value": "form-data; name=\"file\"; filename=\"file.csv\"" } ], "params": [ { "name": "type", "value": "csv", "type": "path", "description": "The type of file, either `csv` (default value), `excel` or `json`" } ] }, "docs": "See the [Import file section](#section-import-jobs) for more information.\n\n### Fields\n\n| Field | Format | Required | Description |\n|--------------------------|---------|:---------:|-----------------|\n|`user_id` | string | | Unique user id |\n|`username` | string | x | Username |\n|`password` | string | x | Password, required on creation only.|\n|`first_name` | string | x | First" }, { "info": { "name": "Export manager users", "type": "http" }, "http": { "method": "GET", "url": "https:///public/api/users/managers/export?type=:type&filter=:filter", "headers": [ { "name": "Accept", "value": "application/json" } ], "params": [ { "name": "type", "value": "csv", "type": "path", "description": "The type of file, either `csv` (default value) or `excel`" }, { "name": "filter", "value": "{}", "type": "query", "description": "A valid JSON filter object (does not accept a `fields` filter)" } ], "body": { "type": "json", "data": "{}" } }, "docs": "User managers are used to replicate real-life hierarchy within the YOOBIC app. This enables the use of the Org Chart tab, which provides users with search and visualisation tools to find relationships between managers and their direct reports.\n\nExport all results as a file. \nThis action is asynchronous and returns the id of a job. See [`jobs`](#group-jobs) endpoint to query the status of the job. The file will contain the results with all of the fields specified on the resource." }, { "info": { "name": "Import manager users", "type": "http" }, "http": { "method": "PATCH", "url": "https:///public/api/users/managers/import?type=:type", "headers": [ { "name": "Content-Disposition", "value": "form-data; name=\"file\"; filename=\"file.csv\"" } ], "params": [ { "name": "type", "value": "csv", "type": "path", "description": "The type of file, either `csv` (default value) or `excel`" } ] }, "docs": "### Fields\n\n| Field | Type | Required | Description |\n|--------------------------|---------|:---------:|-----------------|\n|`manager_username` | string | x | Manager |\n|`direct_report_username` | string | x | Direct report of the manager |\n\n**Important:**\n\n- Each correspondance between a user and his manager should be entered as a single row in the import file\n\n- Each user can only have one manager\n\n- A user cannot be managed by another user w" } ] } ], "bundled": true }