GenuineAIGenuineAI
For usersFor developers
  • Overview
  • Guides
  • How-to
  • API reference
Documentation
  • Quickstart
  • Authentication
  • Errors
  • Rate limits
  • API reference
Platform
  • Platform overview
  • Solutions
  • Pricing
  • Sign in
Company
  • Status
  • Trust Center
  • Contact
  • Terms of Service
  • Privacy Policy

© 2026 GenuineAI Ventures LLC

support@genuinehq.com
Overview
Core
Media library
AI
Documents
Knowledge
Creative
Website & content
Automation
Customer channels
Administration
    Users
      List usersgetAdd a userpostGet a usergetUpdate a userpatchList user historygetSend a password resetpost
    Roles
    Workspace settings
    Audit
    Storage
    Usage breakdown
    Media tag groups
    Media status flows
    Issued share links
    Social connections
    Social calendar
Schemas
GenuineAI API
GenuineAI API

Users

The people in a workspace: their membership, the roles they hold, and the record of both.


List users

GET
https://api.genuineai.app/api/v1
/admin/users

Everyone holding a membership in the calling workspace. Each row carries both the user account and that membership, so roles and last login come back with it. external_user marks an account that belongs to another workspace and is only a guest in this one.

List users › query Parameters

cursor
​string · maxLength: 512 · pattern: ^[A-Za-z0-9_-]+$
external_user
​boolean
limit
​integer
memb_active
​boolean
memb_roles
​string
offset
​integer · min: 0
sort
​string · minLength: 1 · maxLength: 64 · pattern: ^-?[a-z0-9_]+$
usr_active
​boolean
usr_email
​string
usr_id
​string · uuid
usr_name
​string

List users › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

List users › Responses

Success

​User[] · required
has_more
​boolean · required

Whether more rows exist past this page.

next_cursor
​string | null · required

Pass back as cursor for the next page. Null on the last page.

GET/admin/users
curl https://api.genuineai.app/api/v1/admin/users \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
{ "data": [ { "usr_id": "00000000-0000-0000-0000-000000000000", "usr_email": "usr_email", "usr_created": "2024-08-25T15:00:00Z", "usr_active": true, "usr_name_first": "usr_name_first", "usr_name_last": "usr_name_last", "usr_lang": "usr_lang", "usr_theme": "usr_theme", "usr_name": "usr_name", "external_user": true, "memb_picture": "memb_picture", "memb_active": true, "memb_roles": [ "00000000-0000-0000-0000-000000000000" ], "memb_permissions": [ "string" ], "memb_settings": {}, "memb_last_login": "2024-08-25T15:00:00Z", "memb_attr": {} } ], "has_more": true, "next_cursor": "next_cursor" }
json
application/json

Add a user

POST
https://api.genuineai.app/api/v1
/admin/users

Adds a person to the workspace and sends them an invitation. A user already known to the platform is attached to this workspace rather than created again.

Add a user › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Add a user › Request Body

usr_name_first
​string · minLength: 1 · required
usr_name_last
​string · minLength: 1 · required
usr_email
​string · email · required
usr_active
​boolean · required
usr_pass
​string · minLength: 6
​array

Add a user › Responses

Success

No data returned
POST/admin/users
curl https://api.genuineai.app/api/v1/admin/users \ --request POST \ --header 'Content-Type: application/json' \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>' \ --data '{ "usr_name_first": "usr_name_first", "usr_name_last": "usr_name_last", "usr_pass": "usr_pass", "usr_email": "test@example.com", "usr_active": true, "memb_roles": [ {} ] }'
Example Request Body
{ "usr_name_first": "usr_name_first", "usr_name_last": "usr_name_last", "usr_pass": "usr_pass", "usr_email": "test@example.com", "usr_active": true, "memb_roles": [ {} ] }
json
Example Responses
No example specified for this content type

Get a user

GET
https://api.genuineai.app/api/v1
/admin/users/{id}

Returns one member with the roles they hold in this workspace.

Get a user › path Parameters

id
​string · uuid · required

Get a user › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Get a user › Responses

Success

A person in the workspace.
User
usr_id
​string · uuid
usr_email
​string
usr_created
​string · date-time
usr_active
​boolean
usr_name_first
​string
usr_name_last
​string
usr_lang
​string
usr_theme
​string
usr_name
​string
external_user
​boolean
memb_picture
​string
memb_active
​boolean
memb_roles
​string[]
memb_permissions
​string[]
memb_settings
​object
memb_last_login
​string · date-time
memb_attr
​object
GET/admin/users/{id}
curl https://api.genuineai.app/api/v1/admin/users/:id \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
{ "usr_id": "00000000-0000-0000-0000-000000000000", "usr_email": "usr_email", "usr_created": "2024-08-25T15:00:00Z", "usr_active": true, "usr_name_first": "usr_name_first", "usr_name_last": "usr_name_last", "usr_lang": "usr_lang", "usr_theme": "usr_theme", "usr_name": "usr_name", "external_user": true, "memb_picture": "memb_picture", "memb_active": true, "memb_roles": [ "00000000-0000-0000-0000-000000000000" ], "memb_permissions": [ "string" ], "memb_settings": {}, "memb_last_login": "2024-08-25T15:00:00Z", "memb_attr": {} }
json
application/json

Update a user

PATCH
https://api.genuineai.app/api/v1
/admin/users/{id}

This is where a user's roles are set, and so what they may do.

Update a user › path Parameters

id
​string · uuid · required

Update a user › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Update a user › Request Body optional

usr_name_first
​string · minLength: 1
usr_name_last
​string · minLength: 1
usr_email
​string · email
​array
usr_active
​boolean

Update a user › Responses

Success

A person in the workspace.
User
usr_id
​string · uuid
usr_email
​string
usr_created
​string · date-time
usr_active
​boolean
usr_name_first
​string
usr_name_last
​string
usr_lang
​string
usr_theme
​string
usr_name
​string
external_user
​boolean
memb_picture
​string
memb_active
​boolean
memb_roles
​string[]
memb_permissions
​string[]
memb_settings
​object
memb_last_login
​string · date-time
memb_attr
​object
PATCH/admin/users/{id}
curl https://api.genuineai.app/api/v1/admin/users/:id \ --request PATCH \ --header 'Content-Type: application/json' \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>' \ --data '{ "usr_name_first": "usr_name_first", "usr_name_last": "usr_name_last", "usr_email": "test@example.com", "memb_roles": [ {} ], "usr_active": true }'
Example Request Body
{ "usr_name_first": "usr_name_first", "usr_name_last": "usr_name_last", "usr_email": "test@example.com", "memb_roles": [ {} ], "usr_active": true }
json
Example Responses
{ "usr_id": "00000000-0000-0000-0000-000000000000", "usr_email": "usr_email", "usr_created": "2024-08-25T15:00:00Z", "usr_active": true, "usr_name_first": "usr_name_first", "usr_name_last": "usr_name_last", "usr_lang": "usr_lang", "usr_theme": "usr_theme", "usr_name": "usr_name", "external_user": true, "memb_picture": "memb_picture", "memb_active": true, "memb_roles": [ "00000000-0000-0000-0000-000000000000" ], "memb_permissions": [ "string" ], "memb_settings": {}, "memb_last_login": "2024-08-25T15:00:00Z", "memb_attr": {} }
json
application/json

List user history

GET
https://api.genuineai.app/api/v1
/admin/users/{id}/history

Every recorded change, newest first, each as a per-field {from, to} changeset.

List user history › path Parameters

id
​string · uuid · required

List user history › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

List user history › Responses

Success

​object[]
history_id
​string · uuid
history_timestamp
​string · date-time
history_user
​string | null · uuid
history_op
​string

The kind of change — insert, update or delete.

​object

One entry per field that changed, keyed by column name.

history_ref
​object

What the writer noted about the change rather than the columns: the action that made it, or the reason it was made.

GET/admin/users/{id}/history
curl https://api.genuineai.app/api/v1/admin/users/:id/history \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
[ { "history_id": "00000000-0000-0000-0000-000000000000", "history_timestamp": "2024-08-25T15:00:00Z", "history_user": "00000000-0000-0000-0000-000000000000", "history_op": "history_op", "history_changeset": { "key": { "from": {}, "to": {} } }, "history_ref": {} } ]
json
application/json

Send a password reset

POST
https://api.genuineai.app/api/v1
/admin/users/{id}/reset-password

Emails the user a reset link. No password is set or returned here.

Send a password reset › path Parameters

id
​string · uuid · required

Send a password reset › Headers

X-Tenant-Id
​string · uuid · required

The workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.

Send a password reset › Responses

Success

No data returned
POST/admin/users/{id}/reset-password
curl https://api.genuineai.app/api/v1/admin/users/:id/reset-password \ --request POST \ --header 'X-Tenant-Id: <string>' \ --header 'X-Api-Key: <api-key>'
Example Responses
No example specified for this content type

Voice agentsRoles