- Access grants — tokenised links with optional use-count limits and expiry dates, shareable with anyone.
- Agent users — direct per-user access records tied to a specific HelpGenie account.
agent_access_requests record is created and the Genie owner can approve or deny it via resolve.
Actions
all
Returns all users who have been granted direct access to a Genie.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Genie UUID (passed as request ID) |
list
Returns all access grant links for a Genie (token-based access, not per-user).
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Genie UUID (passed as request ID) |
token is omitted for expired grants.
list-team-access
Returns direct per-user access records for a Genie, with profile data for each user.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Genie UUID (passed as request ID) |
create
Creates a new access grant link for a Genie. Returns the full token (only shown once).
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Genie UUID (passed as request ID) |
max_uses | number | No | Maximum number of times the link can be used. 0 means unlimited (default) |
expires_at | string | No | ISO 8601 expiry datetime |
201
update
Updates an existing access grant (use limit or expiry).
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Grant ID (numeric, passed as request ID) |
max_uses | number | No | New maximum use count |
expires_at | string | null | No | New expiry datetime, or null to remove expiry |
delete
Deletes an access grant link. Anyone using the link after deletion will lose access.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Grant ID (numeric, passed as request ID) |
update-user
Updates the expiry date for a specific user’s direct access to a Genie.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
agentId | string | Yes | Genie UUID |
userId | string | Yes | User UUID |
expires_at | string | null | No | New expiry datetime, or null to make access permanent |
delete-user
Revokes a specific user’s direct access to a Genie.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
agentId | string | Yes | Genie UUID |
userId | string | Yes | User UUID to revoke |
requests
Returns all inbound access requests for a Genie (visitors who clicked “Request access”).
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Genie UUID (passed as request ID) |
resolve
Approves or denies an access request. On approval, the requester receives an email with an access link and (if they have a HelpGenie account) is added to the Genie’s agent_users.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
requestId | string | Yes | Access request UUID |
solution | string | Yes | "approved" or "denied" |
expires_at | string | No | Expiry for the granted access (approval only) |
Error codes
| Code | Meaning |
|---|---|
VALIDATION_ERROR | Missing required parameter or request already resolved |
NOT_FOUND | Grant or access request not found |
FORBIDDEN | You do not own this Genie |
AGENT_NOT_FOUND | Genie does not exist |
INTERNAL_ERROR | Unexpected server error |

