Skip to main content

User API

Manage users in epilot organization(s)

Quick Startโ€‹

# List available operations
epilot user

# Call an operation
epilot user signUpUser

Common Flagsโ€‹

FlagDescription
-p key=valueSet a named parameter
-d '{...}'Request body JSON
-H 'Key: Value'Custom header
-t, --token <token>Bearer token for authentication
--profile <name>Use a named profile
-s, --server <url>Override server base URL
-i, --includeInclude response headers in output
--jsonOutput raw JSON (no formatting)
-v, --verboseVerbose output (show request details)
--jsonata <expr>JSONata expression to transform response
--definition <file>Override OpenAPI spec file/URL
--guidedPrompt for all parameters interactively
--no-interactiveDisable interactive prompts

Operationsโ€‹

User V2

Group

Navigation

  • createNavigation โ€” Create a new navigation configuration. Navigations are immutable and globally accessible across organizations.
  • getNavigation โ€” Get a navigation configuration by ID

User V1

  • getMe โ€” Get currently logged in user
  • listUsers โ€” Lists users in organizations you have access to
  • getUser โ€” Get user by id
  • getUserLoginParameters โ€” Get user organization login parameters by username

signUpUserโ€‹

POST /v2/users/public/signup

Parameters

NameInTypeRequiredDescription
tokenquerystringNoPartner invitation token

Request Body

Sample Call

epilot user signUpUser

With request body:

epilot user signUpUser \
-d '{
"organization_detail": {
"type": "Vendor",
"name": "Epilot",
"pricing_tier": "professional",
"email": "string",
"phone": "string",
"website": "string",
"is_privacy_policy_checked": false,
"is_terms_and_conditions_checked": false
},
"user_detail": {
"full_name": "Example user",
"email": "user@example.com",
"password": "AKjhdakjsdh@!34"
},
"language": "en"
}'

Using stdin pipe:

cat body.json | epilot user signUpUser

With JSONata filter:

epilot user signUpUser --jsonata 'user'
Sample Response
{
"user": {
"id": "string",
"organization_id": "string",
"email": "user@example.com",
"display_name": "Example user",
"name": "Example user",
"preferred_language": "de",
"signature": "<p>Thanks</p>",
"custom_navigation": "5gbe4nkp6jsfq",
"roles": ["Owner"],
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
},
"organization": {
"id": "string",
"type": "Vendor",
"name": "Epilot",
"signature": "<p>Thanks</p>",
"symbol": "EPI",
"pricing_tier": "professional",
"email": "someone@epilot.cloud",
"phone": 49123123123,
"website": "https://epilot.cloud",
"address": {
"country": "string",
"city": "string",
"postal_code": "string",
"street": "string",
"street_number": "string"
},
"logo_url": "https://epilot-playground-organization-data.s3.eu-central-1.amazonaws.com/epilot-logo.png",
"logo_thumbnail_url": "https://epilot-playground-organization-data.s3.eu-central-1.amazonaws.com/epilot-logo.png",
"is_unlicensed_org": false,
"cognito_details": {
"cognito_region": "eu-central-1",
"cognito_user_pool_id": "eu-central-sample",
"cognito_user_pool_client_id": "asbkh213ehkquwhdi",
"cognito_user_pool_arn": "arn:aws:cognito-idp:eu-central-1:123456789012:userpool/eu-central-sample"
}
}
}

getMeV2โ€‹

Get currently logged in user

GET /v2/users/me

Sample Call

epilot user getMeV2

With JSONata filter:

epilot user getMeV2 --jsonata 'id'
Sample Response
{
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {
"feature_name": true
},
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"favorites": {
"entity_views": {
"opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",
"order": "628aee91-7c2f-4047-ab0d-433582a19c49"
},
"dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
},
"email_notification_setting": {
"added_participant_opportunity": true,
"assigned_opportunity": true,
"assigned_task": true,
"comment_opportunity": true,
"deleted_task": true,
"escalated_task": true,
"message_receive_opportunity": true,
"message_send_opportunity": true,
"created_task": true,
"created_opportunity_manual": true,
"created_opportunity_auto": true,
"deleted_opportunity": true
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
}

listUsersV2โ€‹

Get the list of organization users

GET /v2/users

Parameters

NameInTypeRequiredDescription
queryquerystringNoQuery text to filter by
limitquerynumberNoLimit the results size
offsetquerynumberNoSpecify the offset

Sample Call

epilot user listUsersV2

With JSONata filter:

epilot user listUsersV2 --jsonata 'results[0]'
Sample Response
{
"results": [
{
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {
"feature_name": true
},
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"favorites": {
"entity_views": {
"opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",
"order": "628aee91-7c2f-4047-ab0d-433582a19c49"
},
"dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
},
"email_notification_setting": {
"added_participant_opportunity": true,
"assigned_opportunity": true,
"assigned_task": true,
"comment_opportunity": true,
"deleted_task": true,
"escalated_task": true,
"message_receive_opportunity": true,
"message_send_opportunity": true,
"created_task": true,
"created_opportunity_manual": true,
"created_opportunity_auto": true,
"deleted_opportunity": true
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
}
]
}

getUserV2โ€‹

Get user details by user id

GET /v2/users/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesThe Id of user

Sample Call

epilot user getUserV2 \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot user getUserV2 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot user getUserV2 -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata 'id'
Sample Response
{
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {
"feature_name": true
},
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"favorites": {
"entity_views": {
"opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",
"order": "628aee91-7c2f-4047-ab0d-433582a19c49"
},
"dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
},
"email_notification_setting": {
"added_participant_opportunity": true,
"assigned_opportunity": true,
"assigned_task": true,
"comment_opportunity": true,
"deleted_task": true,
"escalated_task": true,
"message_receive_opportunity": true,
"message_send_opportunity": true,
"created_task": true,
"created_opportunity_manual": true,
"created_opportunity_auto": true,
"deleted_opportunity": true
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
}

updateUserV2โ€‹

Update user details

PATCH /v2/users/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesThe Id of user

Request Body

Sample Call

epilot user updateUserV2 \
-p id=123e4567-e89b-12d3-a456-426614174000

With request body:

epilot user updateUserV2 \
-p id=123e4567-e89b-12d3-a456-426614174000 \
-d '{
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {
"feature_name": true
},
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"favorites": {
"entity_views": {
"opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",
"order": "628aee91-7c2f-4047-ab0d-433582a19c49"
},
"dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
},
"email_notification_setting": {
"added_participant_opportunity": true,
"assigned_opportunity": true,
"assigned_task": true,
"comment_opportunity": true,
"deleted_task": true,
"escalated_task": true,
"message_receive_opportunity": true,
"message_send_opportunity": true,
"created_task": true,
"created_opportunity_manual": true,
"created_opportunity_auto": true,
"deleted_opportunity": true
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
}'

Using positional args for path parameters:

epilot user updateUserV2 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot user updateUserV2 -p id=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot user updateUserV2 -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata 'id'
Sample Response
{
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {
"feature_name": true
},
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"favorites": {
"entity_views": {
"opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",
"order": "628aee91-7c2f-4047-ab0d-433582a19c49"
},
"dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
},
"email_notification_setting": {
"added_participant_opportunity": true,
"assigned_opportunity": true,
"assigned_task": true,
"comment_opportunity": true,
"deleted_task": true,
"escalated_task": true,
"message_receive_opportunity": true,
"message_send_opportunity": true,
"created_task": true,
"created_opportunity_manual": true,
"created_opportunity_auto": true,
"deleted_opportunity": true
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
}

deleteUserV2โ€‹

Delete user by user id

DELETE /v2/users/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesThe Id of user

Sample Call

epilot user deleteUserV2 \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot user deleteUserV2 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot user deleteUserV2 -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata 'id'
Sample Response
{
"id": "string",
"organization_id": "string",
"email": "user@example.com",
"display_name": "Example user",
"name": "Example user",
"preferred_language": "de",
"signature": "<p>Thanks</p>",
"custom_navigation": "5gbe4nkp6jsfq",
"roles": ["Owner"],
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
}

inviteUserโ€‹

Creates a new user in the caller's organization and sends an invite email to activate the user

POST /v2/users/invite

Request Body

Sample Call

epilot user inviteUser \
-d '{"email":"test@example.com","language":"en","roles":["123:owner"]}'

Using stdin pipe:

cat body.json | epilot user inviteUser

With JSONata filter:

epilot user inviteUser --jsonata 'id'
Sample Response
{
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {
"feature_name": true
},
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"favorites": {
"entity_views": {
"opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",
"order": "628aee91-7c2f-4047-ab0d-433582a19c49"
},
"dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
},
"email_notification_setting": {
"added_participant_opportunity": true,
"assigned_opportunity": true,
"assigned_task": true,
"comment_opportunity": true,
"deleted_task": true,
"escalated_task": true,
"message_receive_opportunity": true,
"message_send_opportunity": true,
"created_task": true,
"created_opportunity_manual": true,
"created_opportunity_auto": true,
"deleted_opportunity": true
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
}

resendUserInvitationโ€‹

Resend user invitation email

POST /v2/users/invite:resendEmail

Request Body

Sample Call

epilot user resendUserInvitation \
-d '{"email":"test@example.com","language":"en"}'

Using stdin pipe:

cat body.json | epilot user resendUserInvitation

With JSONata filter:

epilot user resendUserInvitation --jsonata 'id'
Sample Response
{
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {
"feature_name": true
},
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"favorites": {
"entity_views": {
"opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",
"order": "628aee91-7c2f-4047-ab0d-433582a19c49"
},
"dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
},
"email_notification_setting": {
"added_participant_opportunity": true,
"assigned_opportunity": true,
"assigned_task": true,
"comment_opportunity": true,
"deleted_task": true,
"escalated_task": true,
"message_receive_opportunity": true,
"message_send_opportunity": true,
"created_task": true,
"created_opportunity_manual": true,
"created_opportunity_auto": true,
"deleted_opportunity": true
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
}

getGroupsForUserโ€‹

Get groups of a user

GET /v2/users/{id}/groups

Parameters

NameInTypeRequiredDescription
idpathstringYesThe Id of user

Sample Call

epilot user getGroupsForUser \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot user getGroupsForUser 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot user getGroupsForUser -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'
Sample Response
[
{
"id": "string",
"org_id": "string",
"name": "Finance",
"created_at": "2024-02-08T04:44:32.246Z",
"updated_at": "2024-02-08T04:44:32.246Z",
"created_by": "123",
"crt_assignee": {
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {},
"image_uri": {},
"favorites": {},
"email_notification_setting": {},
"properties": [],
"crt_index": 3
},
"users": [
{}
]
}
]

getGroupsโ€‹

Lists groups in organizations you have access to

GET /v1/groups

Parameters

NameInTypeRequiredDescription
queryquerystringNoQuery name to filter by
limitquerynumberNoLimit the results size
offsetquerynumberNoSpecify the offset
hydratequerybooleanNoPass it true when you want to hydrate the group with full user details

Sample Call

epilot user getGroups

With JSONata filter:

epilot user getGroups --jsonata 'hits[0]'
Sample Response
{
"hits": 1,
"groups": [
{
"id": "string",
"org_id": "string",
"name": "Finance",
"created_at": "2024-02-08T04:44:32.246Z",
"updated_at": "2024-02-08T04:44:32.246Z",
"created_by": "123",
"crt_assignee": {},
"users": []
}
]
}

createGroupโ€‹

Create a new group

POST /v1/groups

Request Body

Sample Call

epilot user createGroup \
-d '{"name":"Finance","user_ids":["123","456"]}'

Using stdin pipe:

cat body.json | epilot user createGroup

With JSONata filter:

epilot user createGroup --jsonata 'id'
Sample Response
{
"id": "string",
"org_id": "string",
"name": "Finance",
"created_at": "2024-02-08T04:44:32.246Z",
"updated_at": "2024-02-08T04:44:32.246Z",
"created_by": "123",
"crt_assignee": {
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {
"feature_name": true
},
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"favorites": {
"entity_views": {},
"dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
},
"email_notification_setting": {
"added_participant_opportunity": true,
"assigned_opportunity": true,
"assigned_task": true,
"comment_opportunity": true,
"deleted_task": true,
"escalated_task": true,
"message_receive_opportunity": true,
"message_send_opportunity": true,
"created_task": true,
"created_opportunity_manual": true,
"created_opportunity_auto": true,
"deleted_opportunity": true
},
"properties": [
{}
],
"crt_index": 3
},
"users": [
{
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {},
"image_uri": {},
"favorites": {},
"email_notification_setting": {},
"properties": []
}
]
}

getGroupโ€‹

Get group by id

GET /v1/groups/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesGroup id
hydratequerybooleanNoPass it true when you want to hydrate the group with full user details

Sample Call

epilot user getGroup \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot user getGroup 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot user getGroup -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata 'id'
Sample Response
{
"id": "string",
"org_id": "string",
"name": "Finance",
"created_at": "2024-02-08T04:44:32.246Z",
"updated_at": "2024-02-08T04:44:32.246Z",
"created_by": "123",
"crt_assignee": {
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {
"feature_name": true
},
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"favorites": {
"entity_views": {},
"dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
},
"email_notification_setting": {
"added_participant_opportunity": true,
"assigned_opportunity": true,
"assigned_task": true,
"comment_opportunity": true,
"deleted_task": true,
"escalated_task": true,
"message_receive_opportunity": true,
"message_send_opportunity": true,
"created_task": true,
"created_opportunity_manual": true,
"created_opportunity_auto": true,
"deleted_opportunity": true
},
"properties": [
{}
],
"crt_index": 3
},
"users": [
{
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {},
"image_uri": {},
"favorites": {},
"email_notification_setting": {},
"properties": []
}
]
}

updateGroupโ€‹

Update group by id

PATCH /v1/groups/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesGroup id

Request Body

Sample Call

epilot user updateGroup \
-p id=123e4567-e89b-12d3-a456-426614174000 \
-d '{"name":"Finance","user_ids":["123","456"]}'

Using positional args for path parameters:

epilot user updateGroup 123e4567-e89b-12d3-a456-426614174000

Using stdin pipe:

cat body.json | epilot user updateGroup -p id=123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot user updateGroup -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata 'id'
Sample Response
{
"id": "string",
"org_id": "string",
"name": "Finance",
"created_at": "2024-02-08T04:44:32.246Z",
"updated_at": "2024-02-08T04:44:32.246Z",
"created_by": "123",
"crt_assignee": {
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {
"feature_name": true
},
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"favorites": {
"entity_views": {},
"dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
},
"email_notification_setting": {
"added_participant_opportunity": true,
"assigned_opportunity": true,
"assigned_task": true,
"comment_opportunity": true,
"deleted_task": true,
"escalated_task": true,
"message_receive_opportunity": true,
"message_send_opportunity": true,
"created_task": true,
"created_opportunity_manual": true,
"created_opportunity_auto": true,
"deleted_opportunity": true
},
"properties": [
{}
],
"crt_index": 3
},
"users": [
{
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {},
"image_uri": {},
"favorites": {},
"email_notification_setting": {},
"properties": []
}
]
}

deleteGroupโ€‹

Delete group by id

DELETE /v1/groups/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesGroup id

Sample Call

epilot user deleteGroup \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot user deleteGroup 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot user deleteGroup -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

advanceUserAssignmentโ€‹

Advance user assignment to next user in line

POST /v1/groups/{id}/user:next

Parameters

NameInTypeRequiredDescription
idpathstringYesGroup id

Sample Call

epilot user advanceUserAssignment \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot user advanceUserAssignment 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot user advanceUserAssignment -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata 'id'
Sample Response
{
"id": "string",
"org_id": "string",
"name": "Finance",
"created_at": "2024-02-08T04:44:32.246Z",
"updated_at": "2024-02-08T04:44:32.246Z",
"created_by": "123",
"crt_assignee": {
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {
"feature_name": true
},
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"favorites": {
"entity_views": {},
"dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
},
"email_notification_setting": {
"added_participant_opportunity": true,
"assigned_opportunity": true,
"assigned_task": true,
"comment_opportunity": true,
"deleted_task": true,
"escalated_task": true,
"message_receive_opportunity": true,
"message_send_opportunity": true,
"created_task": true,
"created_opportunity_manual": true,
"created_opportunity_auto": true,
"deleted_opportunity": true
},
"properties": [
{}
],
"crt_index": 3
},
"users": [
{
"id": "string",
"organization_id": "string",
"created_at": "1970-01-01T00:00:00.000Z",
"activated_at": "1970-01-01T00:00:00.000Z",
"display_name": "Example User",
"status": "Active",
"email": "user@example.com",
"draft_email": "user@example.com",
"department": "Sales",
"phone": 1234567890,
"secondary_phone": 1234567890,
"mfa_enabled": false,
"phone_verified": true,
"token": "string",
"signature": "<p>Thanks</p>",
"is_signature_enabled": true,
"preferred_language": "de",
"custom_start_page": "/app/dashboard",
"custom_navigation": "5gbe4nkp6jsfq",
"override_release_channel": "canary",
"feature_preferences": {},
"image_uri": {},
"favorites": {},
"email_notification_setting": {},
"properties": []
}
]
}

createNavigationโ€‹

Create a new navigation configuration. Navigations are immutable and globally accessible across organizations.

POST /v2/user/navigations

Request Body

Sample Call

epilot user createNavigation

With request body:

epilot user createNavigation \
-d '{
"name": "Sales Team Navigation",
"configuration": {
"customer_relations": [
{
"key": "dashboard"
},
{
"key": "contact"
}
],
"configurations": [
{
"name": "Product Catalog",
"subItems": [
{
"key": "product"
},
{
"key": "price"
}
]
},
{
"key": "journey"
}
]
}
}'

Using stdin pipe:

cat body.json | epilot user createNavigation

With JSONata filter:

epilot user createNavigation --jsonata 'id'
Sample Response
{
"id": "5gbe4nkp6jsfq",
"name": "Sales Team Navigation",
"configuration": {
"customer_relations": [
{
"key": "dashboard"
},
{
"key": "contact"
}
],
"configurations": [
{
"name": "Product Catalog",
"subItems": [
{
"key": "product"
},
{
"key": "price"
}
]
},
{
"key": "journey"
}
]
}
}

getNavigationโ€‹

Get a navigation configuration by ID

GET /v2/user/navigations/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesThe UUID of the navigation

Sample Call

epilot user getNavigation \
-p id=5gbe4nkp6jsfq

Using positional args for path parameters:

epilot user getNavigation 5gbe4nkp6jsfq

With JSONata filter:

epilot user getNavigation -p id=5gbe4nkp6jsfq --jsonata 'id'
Sample Response
{
"id": "5gbe4nkp6jsfq",
"name": "Sales Team Navigation",
"configuration": {
"customer_relations": [
{
"key": "dashboard"
},
{
"key": "contact"
}
],
"configurations": [
{
"name": "Product Catalog",
"subItems": [
{
"key": "product"
},
{
"key": "price"
}
]
},
{
"key": "journey"
}
]
}
}

verifyEmailWithTokenโ€‹

Update new email using an verification token

POST /v2/users/public/verifyEmail

Parameters

NameInTypeRequiredDescription
tokenquerystringYesVerification Token

Request Body

Sample Call

epilot user verifyEmailWithToken \
-p token=example \
-d '{"password":"AKjhdakjsdh@!34"}'

Using stdin pipe:

cat body.json | epilot user verifyEmailWithToken -p token=example

With JSONata filter:

epilot user verifyEmailWithToken -p token=example --jsonata '$'

checkInviteTokenโ€‹

Check an invite token

GET /v2/users/public/checkToken

Parameters

NameInTypeRequiredDescription
tokenquerystringYesInvite Token

Sample Call

epilot user checkInviteToken \
-p token=example

With JSONata filter:

epilot user checkInviteToken -p token=example --jsonata 'invitation_org_id'
Sample Response
{
"invitation_org_id": "string",
"invitation_org_name": "string",
"invitation_org_logo_url": "string",
"invitation_org_logo_thumbnail_url": "string",
"invitee_user_id": "string",
"invitee_primary_org_id": "string"
}

activateUserโ€‹

Activate user using an invite token

POST /v2/users/public/activate

Parameters

NameInTypeRequiredDescription
tokenquerystringYesInvite Token

Request Body

Sample Call

epilot user activateUser \
-p token=example \
-d '{"display_name":"Example User","password":"AKjhdakjsdh@!34"}'

Using stdin pipe:

cat body.json | epilot user activateUser -p token=example

With JSONata filter:

epilot user activateUser -p token=example --jsonata '$'

rejectInviteโ€‹

Reject an invite

DELETE /v2/users/public/reject

Parameters

NameInTypeRequiredDescription
tokenquerystringYesInvite Token

Sample Call

epilot user rejectInvite \
-p token=example

With JSONata filter:

epilot user rejectInvite -p token=example --jsonata 'success'
Sample Response
{
"success": true
}

getUserLoginParametersV2โ€‹

Get user organization login parameters by username

GET /v2/users/public/username/{username}:getLoginParameters

Parameters

NameInTypeRequiredDescription
usernamepathstringYesUsername

Sample Call

epilot user getUserLoginParametersV2 \
-p username=example

Using positional args for path parameters:

epilot user getUserLoginParametersV2 example

With JSONata filter:

epilot user getUserLoginParametersV2 -p username=example --jsonata 'login_parameters'
Sample Response
{
"login_parameters": [
{
"organization_id": "123",
"organization_name": "epilot GmbH",
"organization_type": "Vendor",
"organization_use": "Production",
"cognito_region": "eu-central-1",
"cognito_user_pool_id": "eu-central-sample",
"cognito_user_pool_client_id": "asbkh213ehkquwhdi",
"cognito_oauth_domain": "epilot-org-123",
"cognito_oauth_scopes": ["openid"],
"oauth_response_type": "code",
"passkey_enabled": true
}
]
}

beginPasskeyAuthenticationโ€‹

Begin passkey authentication flow. Returns WebAuthn options and a signed challenge token.

POST /v2/users/public/passkeys:authenticateBegin

Request Body

Sample Call

epilot user beginPasskeyAuthentication \
-d '{"email":"user@example.com"}'

Using stdin pipe:

cat body.json | epilot user beginPasskeyAuthentication

With JSONata filter:

epilot user beginPasskeyAuthentication --jsonata 'options'
Sample Response
{
"options": {},
"challenge_token": "string"
}

beginDiscoverablePasskeyAuthenticationโ€‹

Begin discoverable passkey authentication flow (no email required). Returns WebAuthn options with empty allowCredentials

POST /v2/users/public/passkeys:authenticateBeginDiscoverable

Sample Call

epilot user beginDiscoverablePasskeyAuthentication

With JSONata filter:

epilot user beginDiscoverablePasskeyAuthentication --jsonata 'options'
Sample Response
{
"options": {},
"challenge_token": "string"
}

resolveDiscoverableCredentialโ€‹

Resolve user identity from a discoverable passkey assertion. Returns the user's email and login parameters.

POST /v2/users/public/passkeys:resolveCredential

Request Body

Sample Call

epilot user resolveDiscoverableCredential \
-d '{"challenge_token":"string","assertion_response":{}}'

Using stdin pipe:

cat body.json | epilot user resolveDiscoverableCredential

With JSONata filter:

epilot user resolveDiscoverableCredential --jsonata 'email'
Sample Response
{
"email": "user@example.com",
"organization_id": "string",
"user_id": "string",
"login_parameters": [
{
"organization_id": "123",
"organization_name": "epilot GmbH",
"organization_type": "Vendor",
"organization_use": "Production",
"cognito_region": "eu-central-1",
"cognito_user_pool_id": "eu-central-sample",
"cognito_user_pool_client_id": "asbkh213ehkquwhdi",
"cognito_oauth_domain": "epilot-org-123",
"cognito_oauth_scopes": ["openid"],
"oauth_response_type": "code",
"passkey_enabled": true
}
]
}

beginPasskeyRegistrationโ€‹

Begin passkey registration flow for the authenticated user.

POST /v2/users/me/passkeys:registerBegin

Request Body

Sample Call

epilot user beginPasskeyRegistration \
-d '{"friendly_name":"My Laptop"}'

Using stdin pipe:

cat body.json | epilot user beginPasskeyRegistration

With JSONata filter:

epilot user beginPasskeyRegistration --jsonata 'options'
Sample Response
{
"options": {},
"challenge_token": "string"
}

completePasskeyRegistrationโ€‹

Complete passkey registration by verifying the attestation response.

POST /v2/users/me/passkeys:registerComplete

Request Body

Sample Call

epilot user completePasskeyRegistration \
-d '{"challenge_token":"string","registration_response":{},"friendly_name":"My Laptop"}'

Using stdin pipe:

cat body.json | epilot user completePasskeyRegistration

With JSONata filter:

epilot user completePasskeyRegistration --jsonata 'credential_id'
Sample Response
{
"credential_id": "string",
"friendly_name": "My Laptop",
"created_at": "1970-01-01T00:00:00.000Z",
"transports": ["string"],
"aaguid": "string"
}

listPasskeysโ€‹

List all passkeys registered for the authenticated user.

GET /v2/users/me/passkeys

Sample Call

epilot user listPasskeys

With JSONata filter:

epilot user listPasskeys --jsonata 'passkeys'
Sample Response
{
"passkeys": [
{
"credential_id": "string",
"friendly_name": "My Laptop",
"created_at": "1970-01-01T00:00:00.000Z",
"transports": ["string"],
"aaguid": "string"
}
]
}

deletePasskeyโ€‹

Delete a passkey by credential ID.

DELETE /v2/users/me/passkeys/{credentialId}

Parameters

NameInTypeRequiredDescription
credentialIdpathstringYes

Sample Call

epilot user deletePasskey \
-p credentialId=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot user deletePasskey 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot user deletePasskey -p credentialId=123e4567-e89b-12d3-a456-426614174000 --jsonata '$'

switchOrganizationโ€‹

Switch to another organization the user is part of

POST /v2/users/switchOrganization

Request Body

Sample Call

epilot user switchOrganization \
-d '{"org_id":"string"}'

Using stdin pipe:

cat body.json | epilot user switchOrganization

With JSONata filter:

epilot user switchOrganization --jsonata 'login_token'
Sample Response
{
"login_token": "string"
}

getMeโ€‹

Get currently logged in user

GET /v1/users/me

Sample Call

epilot user getMe

With JSONata filter:

epilot user getMe --jsonata 'id'
Sample Response
{
"id": "string",
"organization_id": "string",
"email": "user@example.com",
"display_name": "Example user",
"name": "Example user",
"preferred_language": "de",
"signature": "<p>Thanks</p>",
"custom_navigation": "5gbe4nkp6jsfq",
"roles": ["Owner"],
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
}

listUsersโ€‹

Lists users in organizations you have access to

GET /v1/users

Parameters

NameInTypeRequiredDescription
org_idsquerystring[]NoComma-separated list of organization ids to filter by
queryquerystringNoQuery text to filter by
limitquerynumberNoLimit the results size
offsetquerynumberNoSpecify the offset

Sample Call

epilot user listUsers

With JSONata filter:

epilot user listUsers --jsonata 'users'
Sample Response
{
"users": [
{
"id": "string",
"organization_id": "string",
"email": "user@example.com",
"display_name": "Example user",
"name": "Example user",
"preferred_language": "de",
"signature": "<p>Thanks</p>",
"custom_navigation": "5gbe4nkp6jsfq",
"roles": ["Owner"],
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
}
]
}

getUserโ€‹

Get user by id

GET /v1/users/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYesUser id

Sample Call

epilot user getUser \
-p id=123e4567-e89b-12d3-a456-426614174000

Using positional args for path parameters:

epilot user getUser 123e4567-e89b-12d3-a456-426614174000

With JSONata filter:

epilot user getUser -p id=123e4567-e89b-12d3-a456-426614174000 --jsonata 'id'
Sample Response
{
"id": "string",
"organization_id": "string",
"email": "user@example.com",
"display_name": "Example user",
"name": "Example user",
"preferred_language": "de",
"signature": "<p>Thanks</p>",
"custom_navigation": "5gbe4nkp6jsfq",
"roles": ["Owner"],
"image_uri": {
"original": "https://account-profile-images.epilot.cloud/1/avatar.png",
"thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
},
"properties": [
{
"name": "profileImageName",
"value": "avatar.png"
}
]
}

getUserLoginParametersโ€‹

Get user organization login parameters by username

GET /v1/users/username/{username}:getLoginParameters

Parameters

NameInTypeRequiredDescription
usernamepathstringYesUsername

Sample Call

epilot user getUserLoginParameters \
-p username=example

Using positional args for path parameters:

epilot user getUserLoginParameters example

With JSONata filter:

epilot user getUserLoginParameters -p username=example --jsonata 'login_parameters'
Sample Response
{
"login_parameters": [
{
"organization_id": "123",
"organization_name": "epilot GmbH",
"organization_type": "Vendor",
"organization_use": "Production",
"cognito_region": "eu-central-1",
"cognito_user_pool_id": "eu-central-sample",
"cognito_user_pool_client_id": "asbkh213ehkquwhdi",
"cognito_oauth_domain": "epilot-org-123",
"cognito_oauth_scopes": ["openid"],
"oauth_response_type": "code",
"passkey_enabled": true
}
]
}