Users Endpoint
Endpoint Actions
Create Record
POST /v2/users
{ "user": { "primary_location_id":"{{location_id}}", "branding_domain_id":"{{branding_domain_id}}", "first_name":"test", "last_name":"user", "email":"testuser@test.com", "username":"{{user_name}}", "password":"Password123!", "user_type_id":"200", "user_api_key": "jfg9j8ashf83hrisdjw983hu4rbfsd8h3" // Optional } }
{ "user": { "id": "{id}", "domain_id": "{branding_domain_id}", "contact_id": "{contact_id}", "username": "{user_name}", "email": "testuser@test.com", "user_type_id": 200, "locale": "en-US", "status_id": 1, "tz": "America/New_York", "login_attempts": null, "current_login_ip": "", "current_login": null, "last_login_ts": 1518627249, "requires_new_password": "", "created_ts": 1422030616, "modified_ts": 1422030616, "primary_location_id": "{location_id}", "branding_domain_url": "{branding_domain_url}", "created_user_id": "11e7a84asdf098as768b2661a9a", "terms_condition_id": "20136422.00", "terms_accepted_ts": 1518627249, "terms_agree_ip": "24.255.177.186", "current_date_time": "2019-03-11T10:38:26-0700", "ui_prefs": { "entry_page": "dashboard", "page_size": 15, "report_export_type": "csv", "process_method": "virtual_terminal", "default_terminal": "11e7ce9sd8f9d388281db01" }, "user_api_key": null, "user_hash_key": null, "first_name": "test", "last_name": "user", "address": null, "city": null, "state": null, "zip": null, "account_number": null, "date_of_birth": null, "email_trx_receipt": false, "company_name": null, "home_phone": null, "cell_phone": null, "office_phone": null, "office_ext_phone": null, "_links": { "self": { "href": "{url}/v2/users/{id}" } } } }
Generate User API Key
For more information about using user_api_key please take a look at the Authentication page.
IMPORTANT: If you want to use a custom user_api_key you need to provide this value during the Create Record POST. If you need to to use a user_api_key after the user is already created there is a specific endpoint that can be used to generate a user_api_key. Details about using this other endpoint to generate a user_api_key can be found below.
POST /v2/users/{id}/generateuserapikey
Sample Response
{ "user": { "user_api_key": "234bas8dfn8238f923w2" } }
Update Record
PUT /v2/users/{id}
{ "user": { "first_name":"John" ... // Other fields to update } }
{ "user": { "id": "{id}", "domain_id": "{branding_domain_id}", "contact_id": "{contact_id}", "username": "{user_name}", "email": "testuser@test.com", "user_type_id": 200, "locale": "en-US", "status_id": 1, "tz": "America/New_York", "login_attempts": null, "current_login_ip": "", "current_login": null, "last_login_ts": 1518627249, "requires_new_password": "", "created_ts": 1422030616, "modified_ts": 1422030616, "primary_location_id": "{location_id}", "branding_domain_url": "{branding_domain_url}", "created_user_id": "11e7a84asdf098as768b2661a9a", "terms_condition_id": "20136422.00", "terms_accepted_ts": 1518627249, "terms_agree_ip": "24.255.177.186", "current_date_time": "2019-03-11T10:38:26-0700", "ui_prefs": { "entry_page": "dashboard", "page_size": 15, "report_export_type": "csv", "process_method": "virtual_terminal", "default_terminal": "11e7ce9sd8f9d388281db01" }, "user_api_key": null, "user_hash_key": null, "first_name": "John", "last_name": "user", "address": null, "city": null, "state": null, "zip": null, "account_number": null, "date_of_birth": null, "email_trx_receipt": false, "company_name": null, "home_phone": null, "cell_phone": null, "office_phone": null, "office_ext_phone": null, "_links": { "self": { "href": "{url}/v2/users/{id}" } } } }
Update Password
PUT /v2/users/{id}
This endpoint can be used to change a users password. When changing a users password the following criteria apply:
- If the logged in user changing the password of another user, the password is only good for one time use.
- If the logged in user is changing their own password, the old password field must be supplied.
Below is an example of a user changing another users password which is good for one time use.
{ "user": { "old_password": "Password123!", "password": "New_Password123! } }
{ "user": { "id": "{id}", "domain_id": "{branding_domain_id}", "contact_id": "{contact_id}", "username": "{user_name}", "email": "testuser@test.com", "user_type_id": 200, "locale": "en-US", "status_id": 1, "tz": "America/New_York", "login_attempts": null, "current_login_ip": "", "current_login": null, "last_login_ts": 1518627249, "requires_new_password": "", "created_ts": 1422030616, "modified_ts": 1422030616, "primary_location_id": "{location_id}", "branding_domain_url": "{branding_domain_url}", "created_user_id": "11e7a84asdf098as768b2661a9a", "terms_condition_id": "20136422.00", "terms_accepted_ts": 1518627249, "terms_agree_ip": "24.255.177.186", "current_date_time": "2019-03-11T10:38:26-0700", "ui_prefs": { "entry_page": "dashboard", "page_size": 15, "report_export_type": "csv", "process_method": "virtual_terminal", "default_terminal": "11e7ce9sd8f9d388281db01" }, "user_api_key": null, "user_hash_key": null, "first_name": "John", "last_name": "user", "address": null, "city": null, "state": null, "zip": null, "account_number": null, "date_of_birth": null, "email_trx_receipt": false, "company_name": null, "home_phone": null, "cell_phone": null, "office_phone": null, "office_ext_phone": null, "_links": { "self": { "href": "{url}/v2/users/{id}" } } } }
View Single Record
GET /v2/users/{id}
{ // Empty Payload - Nothing Needed Here }
{ "user": { "id": "{id}", "domain_id": "{branding_domain_id}", "contact_id": "{contact_id}", "username": "{user_name}", "email": "testuser@test.com", "user_type_id": 200, "locale": "en-US", "status_id": 1, "tz": "America/New_York", "login_attempts": null, "current_login_ip": "", "current_login": null, "last_login_ts": 1518627249, "requires_new_password": "", "created_ts": 1422030616, "modified_ts": 1422030616, "primary_location_id": "{location_id}", "branding_domain_url": "{branding_domain_url}", "created_user_id": "11e7a84asdf098as768b2661a9a", "terms_condition_id": "20136422.00", "terms_accepted_ts": 1518627249, "terms_agree_ip": "24.255.177.186", "current_date_time": "2019-03-11T10:38:26-0700", "ui_prefs": { "entry_page": "dashboard", "page_size": 15, "report_export_type": "csv", "process_method": "virtual_terminal", "default_terminal": "11e7ce9sd8f9d388281db01" }, "user_api_key": null, "user_hash_key": null, "first_name": "test", "last_name": "user", "address": null, "city": null, "state": null, "zip": null, "account_number": null, "date_of_birth": null, "email_trx_receipt": false, "company_name": null, "home_phone": null, "cell_phone": null, "office_phone": null, "office_ext_phone": null, "_links": { "self": { "href": "{url}/v2/users/{id}" } } } }
View Self Record
GET /v2/users/me
{ // Empty Payload - Nothing Needed Here }
{ "user": { "id": "{id}", "domain_id": "{branding_domain_id}", "contact_id": "{contact_id}", "username": "{user_name}", "email": "testuser@test.com", "user_type_id": 200, "locale": "en-US", "status_id": 1, "tz": "America/New_York", "login_attempts": null, "current_login_ip": "", "current_login": null, "last_login_ts": 1518627249, "requires_new_password": "", "created_ts": 1422030616, "modified_ts": 1422030616, "primary_location_id": "{location_id}", "branding_domain_url": "{branding_domain_url}", "created_user_id": "11e7a84asdf098as768b2661a9a", "terms_condition_id": "20136422.00", "terms_accepted_ts": 1518627249, "terms_agree_ip": "24.255.177.186", "current_date_time": "2019-03-11T10:38:26-0700", "ui_prefs": { "entry_page": "dashboard", "page_size": 15, "report_export_type": "csv", "process_method": "virtual_terminal", "default_terminal": "11e7ce9sd8f9d388281db01" }, "user_api_key": null, "user_hash_key": null, "first_name": "test", "last_name": "user", "address": null, "city": null, "state": null, "zip": null, "account_number": null, "date_of_birth": null, "email_trx_receipt": false, "company_name": null, "home_phone": null, "cell_phone": null, "office_phone": null, "office_ext_phone": null, "_links": { "self": { "href": "{url}/v2/users/{id}" } } } }
View Record List
GET /v2/users
Note: Filters can be used to search for Users by including the columns you want to filter on as URL parameters. i.e. /v2/users?field=value&field2=value2
{ // Empty Payload - Nothing Needed Here }
{ "users": [ { "id": "{id}", "domain_id": "{branding_domain_id}", "contact_id": "{contact_id}", "username": "{user_name}", "email": "testuser@test.com", "user_type_id": 200, "locale": "en-US", "status_id": 1, "tz": "America/New_York", "login_attempts": null, "current_login_ip": "", "current_login": null, "last_login_ts": 1518627249, "requires_new_password": "", "created_ts": 1422030616, "modified_ts": 1422030616, "primary_location_id": "{location_id}", "branding_domain_url": "{branding_domain_url}", "created_user_id": "11e7a84asdf098as768b2661a9a", "terms_condition_id": "20136422.00", "terms_accepted_ts": 1518627249, "terms_agree_ip": "24.255.177.186", "current_date_time": "2019-03-11T10:38:26-0700", "ui_prefs": { "entry_page": "dashboard", "page_size": 15, "report_export_type": "csv", "process_method": "virtual_terminal", "default_terminal": "11e7ce9sd8f9d388281db01" }, "user_api_key": null, "user_hash_key": null, "first_name": "test", "last_name": "user", "address": null, "city": null, "state": null, "zip": null, "account_number": null, "date_of_birth": null, "email_trx_receipt": false, "company_name": null, "home_phone": null, "cell_phone": null, "office_phone": null, "office_ext_phone": null, "_links": { "self": { "href": "{url}/v2/users/{id}" } } }, ... // Other Users Here ], "meta": { "pagination": { "links": { "self": { "href": "{url}/v2/users?page_size=3&page=1" }, "next": { "href": "{url}/v2/users?page_size=3&page=2" }, "last": { "href": "{url}/v2/users?page_size=3&page=3" } }, "totalCount": 8, "pageCount": 3, "currentPage": 0, "perPage": 3 }, "sort": { "attributes": { "id": "desc" } } } }
Delete Record
DELETE /v2/users/{id}
{ // Empty Payload - Nothing Needed Here }
Conditional JSON Response on HTTP Response Code: 204 - Success, User was deleted. 409 - Fail, User was not deleted. Validation error provided.
Fields
Name | Format | Min. | Max. | Allowed on POST | Allowed on PUT | System Generated | Comments |
---|---|---|---|---|---|---|---|
id | string | 36 | ✔ | ID | |||
account_number | string | 32 | ✔ | Account Number | |||
address | string | 64 | ✔ | Address | |||
branding_domain_url | string | 64 | system generated | ||||
cell_phone | string | 10 | |||||
city | string | 100 | City Name | ||||
company_name | string | 64 | |||||
contact_id | string | 36 | ✔ | Contact ID | |||
created_ts | integer | 10 | ✔ | Created Time Stamp | |||
created_user_id | string | 36 | |||||
current_date_time | string | ✔ | Current date and time | ||||
current_login | date | ✔ | Datetime | ||||
current_login_ip | string | 64 | ✔ | Current Login IP | |||
date_of_birth | yyyy-mm-dd | Datetime | |||||
domain_id | string | 36 | ✔ | Payment method | |||
string | 128 | ✔ | |||||
email_trx_receipt | boolean | ✔ | Set to true to email transaction receipts | ||||
home_phone | string | 10 | |||||
first_name | string | 64 | First Name | ||||
last_login_ts | integer | Last login timestamp | |||||
last_name | string | 64 | Last Name | ||||
locale | string | 8 | Locale | ||||
login_attempts | integer | Login attempts | |||||
modified_ts | integer | 10 | ✔ | Modified Time Stamp | |||
office_phone | string | 10 | |||||
office_ext_phone | string | 10 | |||||
primary_location_id | string | 36 | ✔ | Primary Location ID | |||
requires_new_password | string | 1 | Required new password | ||||
state | string | 100 | State name | ||||
status_id | integer | ✔ | "1" indicates an "active" status for the User record, and "0" indicates an inactive User record. | ||||
terms_accepted_ts | integer | ✔ | Timestamp of when terms were accepted | ||||
terms_agree_ip | string | IP address of client machine from which terms were accepted | |||||
terms_condition_id | string | 36 | UUID for set of terms and conditions | ||||
tz | string | 30 | Time Zone | ||||
ui_prefs | JSON | ✔ | Contains various User preferences in JSON object | ||||
ui_prefs[entry_page] | string | ✔ | Default: "dashboard" | ||||
ui_prefs[page_size] | integer | ✔ | Default: 15 | ||||
ui_prefs[report_export_type] | string | ✔ | Default: "csv" | ||||
ui_prefs[process_method] | string | ✔ | Default: "virtual_terminal" | ||||
ui_prefs[default_terminal] | string | 36 | ✔ | Default: {Default terminal UUID from User's Location} | |||
username | string | 64 | ✔ | User name used for logging into UI depending on integration | |||
user_api_key | string | 64 | ✔ | ✔ | Used for authentication with certain integration types | ||
user_hash_key | string | ✔ | Used for authentication with certain integration types | ||||
user_type_id | integer | 8 |
Used to identify role/permissions. Users with user_type_id of 250 are labelled as Client Admins in UI. |
||||
zip | string | 10 | Zip code |