Login

New user? Create an account
Forgot your password? Get it back!

Sign up

Already a member? Login

2FA

2-Factor Authentication is enabled for this account
Login with a different user

Email Confirmation

Send confirmation email to the following
Login with a different user
Symbient AI API Documentation
Last updated: 14 June 2024

Symbient AI API Documentation

Symbient AI API Documentation

The Symbient AI APIs offer a set of endpoints designed to allow interaction with the various tools and services provided by Symbient AI. These APIs enable developers to integrate our tools into their applications, providing access to machine learning model customization and deployment, transcription services, and advanced automation capabilities.

The Symbient AI API can be tested at Symbient API Testing . The endpoint documentation within this link can be used to test, develop, and debug any systems that utilize the Symbient APIs.


Authorization

Before making requests to the API endpoints listed in this document, you must first obtain authorization. There are two methods to achieve this: 1) using a Bearer Token or 2) a combination of API Key and Encryption Key (Enc Key). Below are the instructions for both methods.

API and ENC Keys

  • Accessing The Keys:
    1. Open a Browser: Launch your preferred web browser.
    2. Log In: Navigate to the Symbient login page and enter your credentials to access your account.
    3. Locate Keys: Once logged in, go to the settings page (gear icon at bottom-left of menu bar). You can find your API and Encryption (Enc) Keys listed on the "Integrations" tab. If you need more detailed guidance on locating these keys, please see Integrations.
  • Authorization Process:
    1. Provide your API and Enc keys within the header of all requests.
    2. Here’s an example of headers within a Javascript request:

Request Headers:

{
  'Content-Type': 'application/json',
  'X-API-Key': 'your_api_key_here', 
  'X-Enc-Key': 'your_enc_key_here' 
}

Verification:

  • After setting up your authorization headers, it's a good practice to verify it's working correctly. You can do this by testing the "/api/v1/auth/confirm" endpoint.
  • Example Javascript fetch request:
fetch('https://symbient.ai/api/v1/auth/confirm', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'your_api_key_here', 
    'X-Enc-Key': 'your_enc_key_here' 
  }
})

If successful, this will return information about your group.

Bearer Token

  1. Request Authentication:
    • To request a Bearer Token, make a POST request to the "/api/v1/login" endpoint. Include your credentials such as your email address and password in the request body, or your API and Enc keys in the headers. If your account has multi-factor authentication (MFA) enabled, you will be required to provide an MFA key in the body as well.
    • Example Javascript fetch request:
fetch('https://symbient.ai/api/v1/login', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    email:    'your_username',
    password: 'your_password',
    mfacode:  'your_optional_mfa_code'
  })
})
  1. Receive Token:
    • Upon successful authentication, the API will return a JSON response containing the Bearer Token. The token is found in the "token" field of the response.
    • Example Response:
{
  "success": true,
  "token": "efJgxGocOi4IUzI1NiIoiI2NoTAKcyMTEk0Y"
}
  1. Using the Token:
    • Use the retrieved Bearer Token in the Authorization header of your subsequent API requests.

Example request using a bearer token:

fetch('https://symbient.ai/api/v1/auth/confirm', {
  method: 'POST',
  headers: {
    'Content-Type':  'application/json',
    'Authorization': 'Bearer your_bearer_token_here'
  }
}) 


Activities

/api/v1/toolbox/tools/activities/get

Path: https://symbient.ai/api/v1/toolbox/tools/activities/get

Method: GET

Summary: Retrieve a list of activities with the option to filter by their active status. This endpoint is useful for identifying the unique activity ID required for further activity-related operations, such as updating or deleting specific activities. Administrators and Activity Managers can utilize this endpoint to monitor and manage activities within their organization.

Available To Roles:

  • Company Admin
  • Activity Manager

Request Query Parameters

  • isactive (optional): Boolean - Filter activities by their active status. Provide "true" to get active activities or "false" for inactive activities.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/activities/get?isactive=true

Example Responses

200 OK:

{
  "success": true,
  "activities": [
    {
      "isactive": true,
      "activityid": "activity123",
      "name": "Example Activity",
      "modelid": "model456",
      "description": "This is an example activity.",
      "prompt": "Please describe your activity."
    }
  ]
}

/api/v1/toolbox/tools/activities/delete

Path: https://symbient.ai/api/v1/toolbox/tools/activities/delete

Method: DELETE

Summary: Delete one or multiple activities using their unique activity IDs. This endpoint is essential for company administrators and activity managers to remove obsolete or unwanted activities from the system, helping maintain a clean and organized activity database.

Available To Roles:

  • Company Admin
  • Activity Manager

Request Body Parameters

  • activities (required): Array of strings - Array containing the "activityid" of any Activities that should be deleted. For more information about retrieving an "activityid", see the /api/v1/toolbox/tools/activities/get endpoint.

Example JSON Request Body

{
  "activities": [
    "activity123",
    "activity456",
    "activity789"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Activities deleted successfully."
}


Activity

/api/v1/toolbox/tools/activity/get

Path: https://symbient.ai/api/v1/toolbox/tools/activity/get

Method: GET

Summary: Retrieve detailed information about a specific activity using its unique activity ID. This endpoint is essential for obtaining the current status, name, and other attributes of an activity, allowing administrators and activity managers to check if an activity is active, view its description, model association, and other pertinent details. This information is crucial for managing and tracking activities within the system.

Available To Roles:

  • Company Admin
  • Activity Manager

Request Query Parameters

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/activity/get?activityid=activity123

Example Responses

200 OK:

{
  "success": true,
  "activity": {
    "isactive": true,
    "activityid": "activity123",
    "name": "Example Activity",
    "modelid": "model456",
    "description": "This is an example activity.",
    "prompt": "Please describe your activity."
  }
}

400 Bad Request:

{
  "success": false,
  "error": "Activity not found."
}

/api/v1/toolbox/tools/activity/save

Path: https://symbient.ai/api/v1/toolbox/tools/activity/save

Method: POST

Summary: Save a new activity or update an existing one by providing its unique activity ID. This endpoint is utilized by company administrators and activity managers to create, modify, and maintain activities within the system, ensuring that all activity details, such as name, description, and model association, are current and accurate.

Available To Roles:

  • Company Admin
  • Activity Manager

Request Body Parameters

  • activityid (optional): String - The unique identifier of the activity to update. If not provided, a new activity will be created.
  • name (required): String - Name of the activity.
  • modelid (required): String - The model ID associated with this activity.
  • description (optional): String - A brief description of the activity.
  • prompt (optional): String - Example prompt to use for the activity.
  • isactive (optional): Boolean - Indicates whether the activity is currently active.

Example JSON Request Body

Creating a new activity:

{
  "name": "New Activity",
  "modelid": "model123",
  "description": "A new activity description.",
  "prompt": "Describe your new activity.",
  "isactive": true
}

Updating an existing activity:

{
  "activityid": "activity123",
  "name": "Updated Activity",
  "modelid": "model123",
  "description": "An updated activity description.",
  "prompt": "Update the activity description.",
  "isactive": true
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Activity saved successfully.",
  "activityid": "new-generated-activity-id"
}

400 Bad Request:

{
  "success": false,
  "error": "You have already activated the maximum number of activities you can activate as per your membership plan. Please upgrade your membership to increase the number of activities you can activate."
}

/api/v1/toolbox/tools/activity/clone

Path: https://symbient.ai/api/v1/toolbox/tools/activity/clone

Method: POST

Summary: Clone an existing activity by providing its unique activity ID and assign a new name to the cloned activity. This endpoint is useful for company administrators and activity managers who need to duplicate activities while preserving the original activity's settings and attributes, facilitating the creation of similar activities without starting from scratch.

Available To Roles:

  • Company Admin
  • Activity Manager

Request Body Parameters

  • activityid (required): String - The "activityid" of the activity to clone. For more information about retrieving a target "activityid", see the /api/v1/toolbox/tools/activities/get endpoint
  • name (required): String - New name for the cloned activity.

Example JSON Request Body

{
  "activityid": "activity123",
  "name": "Cloned Activity"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Activity cloned successfully.",
  "activityid": "new-generated-activity-id"
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid activity id."
}


Agent

/api/v1/toolbox/tools/agent/get

Path: https://symbient.ai/api/v1/toolbox/tools/agent/get

Method: GET

Summary: Retrieve detailed information about a specific agent using its unique agent ID. This endpoint is crucial for company administrators and agent managers to access an agent's status, description, and associated personas, enabling effective management and utilization of agents within the system.

Available To Roles:

  • Company Admin
  • Agent Manager

Request Query Parameters

  • agentid (required): String - ID used to retrieve the agent.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/agent/get?agentid=agent123

Example Responses

200 OK:

{
  "success": true,
  "agent": {
      "agentid": "agent123",
      "name": "Example Agent",
      "description": "This is an example agent.",
      "isactive": true,
      "prompt": "Describe your task.",
      "personas": ["persona1", "persona2"]
    }
  }
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid agentid."
}

/api/v1/toolbox/tools/agent/save

Path: https://symbient.ai/api/v1/toolbox/tools/agent/save

Method: POST

Summary: Saves a new AI Agent or updates existing ones. If a "agentid" is provided, the existing AI Agent is updated. Otherwise, a new AI Agent is created. This endpoint is essential for company administrators and agent managers to create and modify agents, ensuring that their attributes, such as name, description, and personas, are accurate and up-to-date.

Available To Roles:

  • Company Admin
  • Agent Manager

Request Body Parameters

  • agentid (optional): String - ID of the agent.
  • name (required): String - Name of the agent.
  • description (optional): String - Agent description.
  • isactive (optional): Boolean - Is the agent active?
  • prompt (optional): String - Prompt for the agent to use.
  • personas (optional): Array of strings - List of personas for the agent.

Example JSON Request Body

{
  "name": "New Agent",
  "description": "This is a new AI agent.",
  "isactive": true,
  "prompt": "Describe your task.",
  "personas": [
    "persona1",
    "persona2"
  ]
}

Updating an existing agent:

{
  "agentid": "agent123",
  "name": "Updated Agent",
  "description": "This is an updated AI agent.",
  "isactive": true,
  "prompt": "Update the task description.",
  "personas": [
    "persona1",
    "persona3"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Agent saved successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid agent name."
}


Agents

/api/v1/toolbox/tools/agents/get

Path: https://symbient.ai/api/v1/toolbox/tools/agents/get

Method: GET

Summary: Get a list of agents. This endpoint is useful for finding the "agentid" of a target agent. This endpoint is beneficial for company administrators and agent managers to identify and manage agent IDs, review agent details, and ensure effective oversight of all agents.

Available To Roles:

  • Company Admin
  • Agent Manager

Request Query Parameters

  • isactive (optional): Boolean - Whether to return only active agents.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/agents/get?isactive=true

Example Responses

200 OK:

{
  "success": true,
  "agents": [
    {
      "agentid": "agent123",
      "name": "Example Agent",
      "description": "This is an example agent.",
      "isactive": true,
      "prompt": "Describe your task.",
      "personas": [
        "persona1",
        "persona2"
      ]
    }
  ]
}

/api/v1/toolbox/tools/agents/delete

Path: https://symbient.ai/api/v1/toolbox/tools/agents/delete

Method: DELETE

Summary: Delete one or multiple agents using their unique agent IDs. This endpoint is vital for company administrators and agent managers to efficiently remove obsolete or unnecessary agents from the system, maintaining an organized and current agent database.

Available To Roles:

  • Company Admin
  • Agent Manager

Request Body Parameters

  • agents (required): Array of strings - Array of agent IDs to be deleted.

Example JSON Request Body

{
  "agents": [
    "agent123",
    "agent456",
    "agent789"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Agents deleted successfully."
}


Auth

/api/v1/auth/confirm

Path: https://symbient.ai/api/v1/auth/confirm

Method: POST

Summary: Confirm authorization usage of the Symbient AI APIs. Returns info associated with the account group and user information.

Request Query Parameters

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "group": {
    "groupid": "group123",
    "name": "Example Group",
    "description": "This is an example group.",
    "address1": "123 Example St",
    "address2": "Suite 456",
    "city": "Example City",
    "state": "EX",
    "zip": "12345",
    "country": "Example Country",
    "phone": "123-456-7890",
    "email": "example@example.com",
    "website": "https://example.com",
    "bot": {
      "name": "Example Bot"
    },
    "bot_styles": {}
  }
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid token."
}


Automation

/api/v1/toolbox/tools/automation/get

Path: https://symbient.ai/api/v1/toolbox/tools/automation/get

Method: GET

Summary: Retrieve a comprehensive list of all automations, providing details such as their active status, description, and trigger URLs. This endpoint is particularly useful for administrators and automation managers to identify and manage automation IDs, and review the current state of each automation.

Available To Roles:

  • Company Admin
  • Automation Manager

Request Query Parameters

  • automationid (required): String - Unique identifier of the automation to retrieve.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/automation/clone?automationid=automation123

Example Responses

200 OK:

{
  "success": true,
  "automation": {
    "isactive": true,
    "history": [
      {
        "event": "Automation created",
        "timestamp": "2024-05-01T12:34:56Z"
      }
    ],
    "groupid": "group123",
    "automationid": "automation123",
    "name": "Example Automation",
    "created": "2024-05-01T12:00:00Z",
    "description": "This is an example automation.",
    "modified": "2024-05-02T12:00:00Z",
    "trigger_name": "Example Trigger",
    "trigger_url": "https://example.com/trigger",
    "flow": {}
  }
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid automationid."
}

/api/v1/toolbox/tools/automation/save

Path: https://symbient.ai/api/v1/toolbox/tools/automation/save

Method: POST

Summary: Save a new automation or update an existing one by providing its unique automation ID. This endpoint is crucial for company administrators and automation managers to create and modify automations, ensuring that their workflows, descriptions, and statuses are accurate and functional.

Available To Roles:

  • Company Admin
  • Automation Manager

Request Body Parameters

  • automationid (optional): String - The unique identifier of the automation to update. If not provided, a new automation will be created.
  • name (required): String - Name of the automation.
  • description (optional): String - A brief description of the automation.
  • isactive (optional): Boolean - Indicates whether the automation is currently active.
  • flow (optional): Object - The workflow details of the automation, stored as a JSON object.

Example JSON Request Body

Creating a new automation:

{
  "name": "New Automation",
  "description": "A new automation description.",
  "isactive": true,
  "flow": {}
}

Updating an existing automation:

{
  "automationid": "automation123",
  "name": "Updated Automation",
  "description": "An updated automation description.",
  "isactive": true,
  "flow": { }
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Automation saved successfully.",
  "automationid": "new-generated-automation-id"
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid automation name."
}

/api/v1/toolbox/tools/automation/test

Path: https://symbient.ai/api/v1/toolbox/tools/automation/test

Method: POST

Summary: Test a specific automation by providing its unique automation ID. This endpoint allows company administrators and automation managers to validate the functionality and performance of an automation, ensuring it operates as expected.

Available To Roles:

  • Company Admin
  • Automation Manager

Request Body Parameters

  • automationid (required): String - ID of the automation to be tested.

Example JSON Request Body

{
  "automationid": "automation123"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Automation test submitted successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid automation ID."
}

/api/v1/toolbox/tools/automation/history

Path: https://symbient.ai/api/v1/toolbox/tools/automation/history

Method: GET

Summary: Retrieve the comprehensive history log of a specific automation by providing its unique automation ID. This endpoint is essential for company administrators and automation managers to review past events and analyze the output of automations over time.

Available To Roles:

  • Company Admin
  • Automation Manager

Request Query Parameters

  • automationid (required): String - Unique identifier of the automation for which the history is to be retrieved.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/automation/history?automationid=automation123

Example Responses

200 OK:

{
  "success": true,
  "history": [
    {
      "started": "2024-05-01T12:00:00Z",
      "ended": "2024-05-01T12:30:00Z",
      "status": "Completed",
      "explanation": "Automation completed successfully.",
      "operator_history": [
        {
          "name": "Operator 1",
          "description": "First step of the automation.",
          "status": "Success",
          "explanation": "Step completed without issues.",
          "result": "Result of step 1"
        }
      ]
    }
  ]
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid automationid."
}

/api/v1/toolbox/tools/automation/clone

Path: https://symbient.ai/api/v1/toolbox/tools/automation/clone

Method: POST

Summary: Clone an existing automation by providing its unique automation ID and assign a new name to the cloned automation. This endpoint is beneficial for company administrators and automation managers to create duplicates of existing automations, preserving their settings and workflows while enabling modifications and experimentation.

Available To Roles:

  • Company Admin
  • Automation Manager

Request Body Parameters

  • automationid (required): String - ID of the automation to be cloned.
  • name (required): String - New name for the cloned automation.

Example JSON Request Body

{
  "automationid": "automation123",
  "name": "Cloned Automation"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Automation cloned successfully.",
  "automationid": "new-generated-automation-id"
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid automationid or name."
}


Automations

/api/v1/toolbox/tools/automations/get

Path: https://symbient.ai/api/v1/toolbox/tools/automations/get

Method: GET

Summary: Retrieve all Automations. This endpoint is useful for finding the "automationid" of a target Automation.

Available To Roles:

  • Company Admin
  • Automation Manager

Arguments

This endpoint does not require any body or query parameters for the request.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/automations/get

Example Responses

200 OK:

{
  "success": true,
  "automations": [
    {
      "isactive": true,
      "automationid": "automation123",
      "name": "Example Automation",
      "description": "This is an example automation.",
      "trigger_url": "https://example.com/trigger"
    },
    {
      "isactive": false,
      "automationid": "automation456",
      "name": "Another Automation",
      "description": "This is another example automation.",
      "trigger_url": "https://example.com/another-trigger"
    }
  ]
}

/api/v1/toolbox/tools/automations/delete

Path: https://symbient.ai/api/v1/toolbox/tools/automations/delete

Method: DELETE

Summary: Delete one or multiple automations using their unique automation IDs. This endpoint is crucial for company administrators and automation managers to efficiently remove obsolete or unnecessary automations from the system, maintaining an organized and functional automation database.

Available To Roles:

  • Company Admin
  • Automation Manager

Request Body Parameters

  • automations (required): Array of strings - Array of automation IDs to be deleted.

Example JSON Request Body

{
  "automations": [
    "automation123",
    "automation456"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Automations deleted successfully."
}


Chat

/api/v1/toolbox/tools/chat/stop

Path: https://symbient.ai/api/v1/toolbox/tools/chat/stop

Method: PUT

Summary: Stop a specific ongoing chat session by providing the chat session ID. This endpoint is crucial for administrators or chat managers to terminate active chat sessions that may be problematic or no longer needed.

Arguments

Request Path Parameters

  • chatid (required): String - The ID of the chat session to be stopped.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/chat/stop/{chatid}

Example Responses

200 OK:

{
  "success": true,
  "message": "Chat stopped successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid chatid."
}


Chats

/api/v1/toolbox/tools/chats/online/get

Path: https://symbient.ai/api/v1/toolbox/tools/chats/get

Method: GET

Summary: Retrieve a detailed list of all online chat records, including user information such as email, first name, and last name. This endpoint is essential for administrators and chat managers to monitor active chat sessions, review participant details, and manage ongoing interactions effectively.

Arguments

This endpoint does not require any body or query parameters for the request.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/chats/get

Example Responses

200 OK:

{
  "success": true,
  "chats": [
    {
      "chatid": "chat123",
      "appid": "app456",
      "groupid": "group789",
      "started": "2024-05-01T12:00:00Z",
      "ended": "2024-05-01T13:00:00Z",
      "user": {
        "userid": "user123",
        "email": "user@example.com",
        "fname": "John",
        "lname": "Doe"
      }
    }
  ]
}

/api/v1/toolbox/tools/chats/archived/get

Path: https://symbient.ai/api/v1/toolbox/tools/chats/archived/get

Method: GET

Summary: Retrieve a comprehensive list of archived chat records, including detailed user information and chat timestamps. This endpoint is vital for administrators and chat managers to access historical chat data, analyze past interactions, and maintain records for compliance and review purposes.

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "chats": [
    {
      "chatid": "chat123",
      "appid": "app123",
      "groupid": "group123",
      "started": "2024-01-01T10:00:00Z",
      "ended": "2024-01-01T11:00:00Z",
      "user": {
        "userid": "user123",
        "email": "user@example.com",
        "fname": "John",
        "lname": "Doe"
      }
    },
    {
      "chatid": "chat456",
      "appid": "app456",
      "groupid": "group456",
      "started": "2024-01-02T10:00:00Z",
      "ended": "2024-01-02T11:00:00Z",
      "user": {
        "userid": "user456",
        "email": "anotheruser@example.com",
        "fname": "Jane",
        "lname": "Smith"
      }
    }
  ]
}

400 Bad Request:

{
  "success": false,
  "error": "You do not have permission to access this function."
}

/api/v1/toolbox/tools/chats/stop

Path: https://symbient.ai/api/v1/toolbox/tools/chats/stop

Method: PUT

Summary: Stop all currently active chat sessions. This endpoint is vital for administrators or chat managers to terminate multiple chat sessions simultaneously, ensuring immediate control over ongoing interactions in situations that require prompt action, such as emergencies or system maintenance.

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "message": "All chats stopped successfully."
}


Group

/api/v1/toolbox/tools/chats/group/get

Path: https://symbient.ai/api/v1/toolbox/tools/chats/group/get

Method: GET

Summary: Retrieve a list of all users within a specific group, providing their user IDs and email addresses. This endpoint is beneficial for company administrators and user managers to identify and manage user accounts within their organization.

Available To Roles:

  • Company Admin
  • User Manager

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "users": [
    {
      "userid": "123",
      "email": "email@web.com"
    },
    {
      "userid": "456",
      "email": "anotheremail@web.com"
    }
  ]
}

/api/v1/toolbox/tools/chats/group/save

Path: https://symbient.ai/api/v1/toolbox/tools/chats/group/save

Method: POST

Summary: Save a new user or update an existing user's details by providing their user ID. This endpoint is essential for company administrators and user managers to manage user accounts, ensuring that all user information, such as email, name, roles, and activity status, is accurate and up-to-date.

Available To Roles:

  • Company Admin
  • User Manager

Request Body Parameters

  • userid (optional): String - The user id of the user to update. If not provided, a new user will be created.
  • email (required): String - Email address of the user. It must be unique across the system.
  • fname (required): String - First name of the user.
  • lname (required): String - Last name of the user.
  • password (optional): String - Password for the user. Required if creating a new user.
  • password2 (optional): String - Password confirmation, must match password.
  • roles (optional): Array of strings - List of roles assigned to the user.
  • isactive (optional): Boolean - Indicates whether the user is currently active.
  • usemfa (optional): Boolean - Indicates whether the user has multi-factor authentication enabled.

Example JSON Request Body

Creating a new user:

{
  "email": "newuser@web.com",
  "fname": "John",
  "lname": "Doe",
  "password": "SecurePassword123",
  "password2": "SecurePassword123",
  "roles": [
    "User"
  ],
  "isactive": true,
  "usemfa": false
}

Updating an existing user:

{
  "userid": "user123",
  "email": "updateduser@web.com",
  "fname": "Jane",
  "lname": "Doe",
  "roles": [
    "Admin"
  ],
  "isactive": true,
  "usemfa": true
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Settings saved successfully.",
  "userid": "generated-user-id"
}

400 Bad Request:

{
  "success": false,
  "message": "Missing email."
}

Important Notes

  • Unique Email Requirement: The email provided must be unique across all users within Symbient AI. If the email is already in use, the registration will fail.

/api/v1/toolbox/tools/chats/group/delete

Path: https://symbient.ai/api/v1/toolbox/tools/chats/group/delete

Method: DELETE

Summary: Delete one or multiple users by providing their user IDs, removing the target user accounts and associated data from the group. This endpoint is crucial for company administrators and user managers to efficiently manage user accounts, ensuring the removal of obsolete or unwanted users and maintaining an organized user database.

Available To Roles:

  • Company Admin
  • User Manager

Request Body Parameters

  • users (required): Array of strings - Array of user IDs to be deleted.

Example JSON Request Body

{
  "users": [
    "123",
    "456"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Users deleted successfully."
}

Important Notes

  • Consequences of Deletion: Deleting a user will result in the loss of all data associated with that user, including access logs, settings, and other personal or operational data.


Inference

/api/v1/toolbox/tools/chats/inference/post

Path: https://symbient.ai/api/v1/toolbox/tools/chats/inference/post

Method: POST

Summary: Post input to the Large Language Model (LLM) for generating an inference. This endpoint allows users to send queries or prompts to the LLM and receive responses, subject to the terms and limitations of the user's membership plan. It is essential for integrating natural language processing capabilities into applications, enabling automated responses and insights based on user input.

Request Body Parameters

  • input (required): String - Input to send to LLM.

Example JSON Request Body

{
  "input": "What is the capital of France?"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "The capital of France is Paris."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid input."
}


Integrations

/api/v1/toolbox/tools/chats/integrations/renew

Path: https://symbient.ai/api/v1/toolbox/tools/chats/integrations/renew

Method: PUT

Summary: Revoke the existing API and encryption keys for your group and generate new ones. This endpoint is crucial for maintaining security and ensuring that only authorized keys are used to access the system. It is essential for administrators to periodically renew keys to prevent unauthorized access and enhance security protocols.

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "message": "Keys have been revoked and renewed successfully.",
  "apikey": "newly-generated-apikey",
  "enckey": "newly-generated-enckey"
}

/api/v1/toolbox/tools/chats/integrations/revoke

Path: https://symbient.ai/api/v1/toolbox/tools/chats/integrations/revoke

Method: DELETE

Summary: Revoke the existing API and encryption keys for your group. This endpoint is essential for administrators to manage and secure access to the system by invalidating old keys and ensuring that only valid, authorized keys are in use.

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "message": "Keys have been revoked successfully."
}


Intents

/api/v1/toolbox/tools/models/intents/get

Path: https://symbient.ai/api/v1/toolbox/tools/models/intents/get

Method: GET

Summary: Retrieve a detailed list of intents associated with a specific model by providing the model ID. This endpoint is essential for model managers to view, manage, and utilize intents linked to a model, ensuring that the model's capabilities align with its intended use cases and functionalities.

Available To Roles:

  • Company Admin
  • Model Manager

Request Query Parameters

  • modelid (required): String - The ID of the target Model to retrieve intents for.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/models/intents/get?modelid=model123

Example Responses

200 OK:

{
  "success": true,
  "intents": [
    {
      "isactive": true,
      "modelid": "model123",
      "intentid": "intent456",
      "name": "Example Intent"
    },
    {
      "isactive": false,
      "modelid": "model123",
      "intentid": "intent789",
      "name": "Another Intent"
    }
  ]
}

/api/v1/toolbox/tools/models/intents/delete

Path: https://symbient.ai/api/v1/toolbox/tools/models/intents/delete

Method: DELETE

Summary: Delete one or multiple intents by providing their unique intent IDs. This endpoint is crucial for model managers to efficiently remove obsolete or unnecessary intents from a model, maintaining an organized and relevant set of intents for effective model performance.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • intents (required): Array of strings - Array of intent IDs to be deleted.

Example JSON Request Body

{
  "intents": [
    "intent123",
    "intent456",
    "intent789"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Intents deleted successfully."
}


Intent

/api/v1/toolbox/tools/models/intent/save

Path: https://symbient.ai/api/v1/toolbox/tools/models/intent/save

Method: POST

Summary: Save a new intent or update an existing one by providing its unique intent ID. This endpoint is vital for model managers to create and modify intents, ensuring that all intents are accurately described and linked to the appropriate models.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - The model ID associated with this intent.
  • intentid (optional): String - The unique identifier of the intent to update. If not provided, a new intent will be created.
  • intent (required): String - Name of the intent.

Example JSON Request Body

Creating a new intent:

{
  "modelid": "model123",
  "intent": "New Intent"
}

Updating an existing intent:

{
  "modelid": "model123",
  "intentid": "intent456",
  "intent": "Updated Intent"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Intent saved successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid model ID."
}


LLM - Data Sources

/api/v1/toolbox/tools/models/datasources/get

Path: https://symbient.ai/api/v1/toolbox/tools/models/datasources/get

Method: GET

Summary: Retrieve detailed information about the data sources associated with a specific model by providing the model ID. This endpoint is crucial for model managers to view and manage data sources, ensuring that the model is trained on the correct data and maintaining the integrity and performance of the model.

Available To Roles:

  • Company Admin
  • Model Manager

Request Query Parameters

  • modelid (required): String - ID of the target model to retrieve Data Sources for.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/models/datasources/get?modelid=model123

Example Responses

200 OK:

{
  "success": true,
  "datasource": {
    "datasourceFileName": {
      "value": "example_value",
      "type": "example_type",
      "id": "example_id",
      "metadata": {
        "originalname": "example_name",
        "mimetype": "application/json",
        "extension": ".json",
        "path": "/path/to/file"
      }
    }
  }
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}

/api/v1/toolbox/tools/models/datasources/save

Path: https://symbient.ai/api/v1/toolbox/tools/models/datasources/save

Method: POST

Summary: Save a new URL type Data Source to a model or update an existing one. If the url provided already exists on this model, it updates the existing Data Source (like refreshing a page). Otherwise, it creates a new Data Source and attaches it to the provided Model. This endpoint is essential for model managers to ensure that the model has access to the most current and relevant data, enabling continuous improvement and accuracy of the model's outputs

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - Unique identifier of the model to which the Data Source belongs.
  • url (required): String - URL of the data source to be added or updated.

Example JSON Request Body

{
  "modelid": "model123",
  "url": "https://example.com/data"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Datasource saved successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}

/api/v1/toolbox/tools/models/datasources/delete

Path: https://symbient.ai/api/v1/toolbox/tools/models/datasources/delete

Method: DELETE

Summary: Delete a Data Source. Any Data Sorce deleted this way will be fully removed from the database.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - The model ID associated with the Data Source.
  • id (required): String - The ID of the Data Source to delete.

Example JSON Request Body

{
  "modelid": "model123",
  "id": "datasource456"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Datasource deleted successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}

/api/v1/toolbox/tools/models/datasources/upload

Path: https://symbient.ai/api/v1/toolbox/tools/models/datasources/upload

Method: POST

Summary: Upload multiple Data Source files to a model. Supported file types are doc, docx, pdf, and txt. This endpoint is vital for model managers to enhance the data available to the model, ensuring comprehensive and diverse training data, which improves the model's performance and accuracy.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - ID of the model to associate with the uploaded Data Sources.
  • files (required): Array of binary files - Array of files to be uploaded. Supported types are doc, docx, pdf, and txt.

Example JSON Request Body

{
  "modelid": "model123",
  "files": [
    "file1.doc",
    "file2.pdf"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Data Sources uploaded successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}


LLM - Vocabulary

/api/v1/toolbox/tools/models/vocabulary/get

Path: https://symbient.ai/api/v1/toolbox/tools/models/vocabulary/get

Method: GET

Summary: Retrieve the vocabulary references for a Model. This endpoint is essential for model managers to view and manage the terms and definitions associated with a model, ensuring that the vocabulary used by the model is accurate and relevant to its intended use cases.

Available To Roles:

  • Company Admin
  • Model Manager

Request Query Parameters

modelid (required): String - ID of the target model to retrieve vocabulary references for.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/models/vocabulary/get?modelid=model123

Example Responses

200 OK:

{
  "success": true,
  "vocabulary": [
    {
      "term": "example_term",
      "definition": "example_definition"
    }
  ]
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}

/api/v1/toolbox/tools/models/vocabulary/save

Path: https://symbient.ai/api/v1/toolbox/tools/models/vocabulary/save

Method: POST

Summary: Save vocabulary for a specific model by its model ID. If the text already exists, it will not be saved again. This endpoint is crucial for model managers to expand and refine the vocabulary used by the model, ensuring that it can effectively understand and process a wide range of inputs.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - Unique identifier of the model to which the vocabulary will be saved.
  • text (required): String - Text to be added to the vocabulary.
  • description (optional): String - Optional description of the vocabulary item.

Example JSON Request Body

{
  "modelid": "model123",
  "text": "new vocabulary text",
  "description": "This is an example description for the vocabulary item."
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Vocabulary saved successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}

/api/v1/toolbox/tools/models/vocabulary/upload

Path: https://symbient.ai/api/v1/toolbox/tools/models/vocabulary/upload

Method: POST

Summary: Upload multiple vocabulary files to a model. Supported file types are doc, docx, pdf, and txt. This endpoint is essential for model managers to enhance the vocabulary available to the model, ensuring comprehensive language support and improving the model's understanding and response capabilities.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - ID of the model to associate with the uploaded vocabulary.
  • files (required): Array of files - Array of files to be uploaded. Supported types are doc, docx, pdf, and txt.

Example JSON Request Body

{
  "modelid": "model123",
  "files": [
    "file1.docx",
    "file2.pdf",
    "file3.txt"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Vocabulary uploaded successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}

/api/v1/toolbox/tools/models/vocabulary/delete

Path: https://symbient.ai/api/v1/toolbox/tools/models/vocabulary/delete

Method: DELETE

Summary: Delete a vocabulary entry. Any Vocabulary deleted this way will be fully removed from the database. This endpoint is essential for model managers to enhance the vocabulary available to the model, ensuring comprehensive language support and improving the model's understanding and response capabilities.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - The model ID associated with the vocabulary.
  • id (required): String - The ID of the vocabulary entry to delete.

Example JSON Request Body

{
  "modelid": "model123",
  "id": "vocab456"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Vocabulary deleted successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}


Membership

/api/v1/membership/save

Path: https://symbient.ai/api/membership/save

Method: POST

Summary: Allows you to change your membership plan. You must provide either new credit card details or an existing payment method ID.

Available To Roles:

  • Company Admin

Request Body Parameters

  • plan (required): String - Target plan for the user.
  • method (required): String - Indicates whether a new credit card is being used ('new') or an existing payment method ID ('methodID').
  • If you are using a new credit card (if the method is "new"):
    • cardholderName: String - Name as it appears on the credit card.
    • cardNumber: String - Credit card number.
    • expiryMonth: Integer - Month of expiration (MM).
    • expiryYear: Integer - Year of expiration (YYYY).
    • cvc: Integer - Card Verification Code.
    • zipCode: String - Billing postal code.
  • If using an existing payment method ID ("method": "methodID"):
    • methodID: String - The identifier for a previously saved payment method.

Example JSON Request Body

Using a new credit card:

{
  "plan": "premiumPlanID",
  "method": "new",
  "cardholderName": "John Doe",
  "cardNumber": "4111111111111111",
  "expiryMonth": 12,
  "expiryYear": 2024,
  "cvc": 123,
  "zipCode": "12345"
}

Using an existing payment method ID:

{
  "plan": "standardPlanID",
  "method": "methodID123"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "You have now been enrolled with the STANDARD membership.",
  "membershipToken": "membershipToken1234"
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid payment method."
}

Important Notes

  • To manage payment methods or retrieve existing ones, use the endpoints /api/v1/paymentmethods/get for retrieving all of your available payment methods, or /api/v1/paymentmethod/save to store new payment methods which can be used here.

/api/v1/membership/stop

Path: https://symbient.ai/api/v1/membership/stop

Method: POST

Summary: Cancel your current account membership. Please note that some memberships may require administrative intervention to cancel. Please Contact Us if you encounter issues.

Available To Roles:

  • Company Admin

Arguments

This endpoint does not require any body or query parameters for the cancellation request.

Example Responses

{
  "success": true,
  "message": "Your membership has been successfully cancelled."
}

Important Notes

  • Cancellation Restrictions: Some memberships may not be eligible for normal cancellation and might require intervention by an administrator. If your cancellation request fails, or if you are informed that your plan cannot be canceled normally, please Contact Us for assistance.

/api/v1/membership/request

Path: https://symbient.ai/api/v1/membership/request

Method: PUT

Summary: Request a special membership plan by specifying the desired plan. Available options include ENTERPRISE_MONTHLY, ENTERPRISE_YEARLY, or NO_REQUEST. This endpoint is essential for company administrators to seek customized subscription plans that better meet their specific requirements and operational needs.

Available To Roles:

  • Company Admin

Request Body Parameters

  • plan (required): String - Target plan for the user. Options are: ENTERPRISE_MONTHLY, ENTERPRISE_YEARLY, NO_REQUEST.

Example JSON Request Body

{
  "plan": "ENTERPRISE_MONTHLY"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Your request has been submitted. We will be in touch shortly."
}

400 Bad Request:

{
  "success": false,
  "message": "Invalid plan requested."
}


Model

/api/v1/toolbox/tools/models/deploy

Path: https://symbient.ai/api/v1/toolbox/tools/models/deploy

Method: PUT

Summary: Deploy or undeploy a model. Deploy or undeploy a specific model by providing its unique model ID and deployment status. This endpoint is crucial for company administrators and model managers to manage the deployment status of models, ensuring that only the necessary models are active and available for use, optimizing resource allocation and performance.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - ID of the model to deploy or undeploy.
  • isdeployed (required): String - Set to "true" to deploy the model or "false" to undeploy it.

Example JSON Request Body

{
  "modelid": "model123",
  "isdeployed": "true"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Model deployed successfully.",
  "modelid": "model123"
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}

/api/v1/toolbox/tools/model/export

Path: https://symbient.ai/api/v1/toolbox/tools/model/export

Method: GET

Summary: Export a machine learning model, including its intents and slots. Export a machine learning model, including its associated intents and slots, by providing the model ID. This endpoint is essential for company administrators and model managers to back up and share model configurations, ensuring that models can be replicated or transferred to different environments seamlessly.

Available To Roles:

  • Company Admin
  • Model Manager

Arguments

Request Path Parameters

  • modelid (required): String - ID of the model to be exported.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/model/export/model123

Example Responses

200 OK: A ZIP file containing the exported model, its intents, and slots.

Content-Type: application/zip

Response Body: (Binary file)

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}

/api/v1/toolbox/tools/model/import

Path: https://symbient.ai/api/v1/toolbox/tools/model/import

Method: PUT

Summary: Import a model from a zip file. Import a machine learning model from a ZIP file containing the model data by providing the model ID. This endpoint is vital for company administrators and model managers to integrate pre-trained models into their system, facilitating rapid deployment and experimentation with different models.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • file (required): String (binary) - The zip file containing the model data.

Example Form Data Request Body

{ 
 file: model.zip
}

Example Responses

200 OK:

{
  "success": true,
  "message": "File imported successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Only zip files are supported."
}

/api/v1/toolbox/tools/model/save

Path: https://symbient.ai/api/v1/toolbox/tools/model/save

Method: POST

Summary: Save or update an Model. If an "modelid" is provided, this updates the existing Model. Otherwise, it creates a new one. This endpoint is essential for company administrators and model managers to create and modify models, ensuring that all attributes, such as name, algorithm, and tags, are accurate and current.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (optional): String - Unique identifier of the model to update. If not provided, a new model will be created.
  • name (required): String - Name of the model.
  • algorithm (required): String - Type of the model, either "llm", "asr", or "natural-bayes".
  • description (optional): String - A brief description of the model.
  • ispublic (optional): Boolean - Indicates if the model is publicly accessible.
  • isdefault_llm (optional): Boolean - Indicates if the model is the default language model.
  • tags (optional): Array of strings - Tags associated with the model.
  • input (optional): String - Input data in JSON format for non-LLM models.
  • output (optional): String - Output data in JSON format for non-LLM models.

Example JSON Request Body

Creating a new model:

{
  "name": "New Model",
  "algorithm": "llm",
  "description": "A new model description.",
  "ispublic": true,
  "isdefault_llm": false,
  "tags": [
    "tag1",
    "tag2"
  ],
  "input": "[]",
  "output": "[]"
}

Updating an existing model:

{
  "modelid": "existing-model-id",
  "name": "Updated Model",
  "algorithm": "asr",
  "description": "An updated model description.",
  "ispublic": false,
  "isdefault_llm": true,
  "tags": [
    "tag3",
    "tag4"
  ],
  "input": "[{\"key\": \"value\"}]",
  "output": "[{\"key\": \"value\"}]"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Model saved successfully.",
  "modelid": "new-model-id"
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid model name."
}

/api/v1/toolbox/tools/model/test

Path: https://symbient.ai/api/v1/toolbox/tools/model/test

Method: POST

Summary: Test a specific model using the provided input. This endpoint is crucial for company administrators and model managers to validate the performance and accuracy of a model before deploying it in a live environment, ensuring it meets the required standards and expectations.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - ID of the model to test.
  • input (required): String - Text input to test the model against.

Example JSON Request Body

{
  "modelid": "model123",
  "input": "Hello, how are you?"
}

Example Responses

For a Classification Model:

200 OK:

{
  "success": true,
  "result": "some result text",
  "colors": [
    "#FFFFFF",
    "#000000"
  ]
}

For a LLM Model:

200 OK:

{
  "success": true,
  "output": {
    "score": 0.9,
    "intent": "greeting",
    "language": "en",
    "response": "Hello! How can I help you today?",
    "entities": {},
    "sentiment": "positive"
  }
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}

/api/v1/toolbox/tools/model/train

Path: https://symbient.ai/api/v1/toolbox/tools/model/train

Method: PUT

Summary: Train a model. Train a specific model by providing its unique model ID. This endpoint is vital for company administrators and model managers to initiate the training process, ensuring that the model learns from the provided data and improves its performance over time.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - ID of the model to be trained.

Example JSON Request Body

{
  "modelid": "model123"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Training completed successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid modelid."
}


Models

/api/v1/toolbox/tools/models/get

Path: https://symbient.ai/api/v1/toolbox/tools/models/get

Method: GET

Summary: Retrieve a list of all models. This endpoint can be used to find the specific model ID of a target model.

Available To Roles:

  • Company Admin
  • Model Manager

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "models": [
    {
      "isactive": true,
      "isdeployed": false,
      "isdefault_llm": true,
      "ispublic": false,
      "candelete": true,
      "tags": [
        "tag1",
        "tag2"
      ],
      "input": [
        "input1",
        "input2"
      ],
      "output": [
        "output1",
        "output2"
      ],
      "model_name_or_path": "path/to/model",
      "modelid": "model123",
      "name": "Example Model",
      "description": "This is an example model."
    }
  ]
}

/api/v1/toolbox/tools/models/delete

Path: https://symbient.ai/api/v1/toolbox/tools/models/delete

Method: DELETE

Summary: Delete one or multiple models by providing their unique model IDs. This endpoint is crucial for company administrators and model managers to efficiently remove obsolete or unnecessary models from the system, maintaining an organized and functional model inventory.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • models (required): Array of strings - Array of model IDs to be deleted.

Example JSON Request Body

{
  "models": [
    "model123",
    "model456",
    "model789"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Models deleted successfully."
}


Notes

/api/v1/toolbox/tools/notes/get

Path: https://symbient.ai/api/v1/toolbox/tools/notes/get/{recordid}

Method: GET

Summary: Retrieve notes related to a specific record by providing the record ID. This endpoint is essential for users to access detailed notes and comments associated with a particular record, facilitating better understanding and context for the data.

Arguments

Path Parameters

  • recordid (required): String - The id of the record being retrieved.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/notes/get/record123

Example Responses

200 OK:

{
  "success": true,
  "notes": [
    {
      "note": "Example note.",
      "created": "2023-01-01T12:00:00Z",
      "fname": "John",
      "lname": "Doe"
    }
  ]
}

400 Bad Request:

{
  "success": false,
  "error": "Missing recordid"
}

/api/v1/toolbox/tools/notes/save

Path: https://symbient.ai/api/v1/toolbox/tools/notes/save

Method: POST

Summary: Save a new note and associate it with a record. This endpoint is crucial for users to document additional information, observations, or comments related to a record.

Request Body Parameters

recordid (required): String - The id of the record to which the note belongs.

category (required): String - The category of the note.

note (required): String - The content of the note.

Example JSON Request Body

{
  "recordid": "record123",
  "category": "general",
  "note": "This is a note content."
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Note saved successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing recordid."
}


Payments

/api/v1/payments/get

Path: https://symbient.ai/api/v1/payments/get

Method: GET

Summary: Retrieve detailed information about your saved payment methods, displaying only the last four digits of each credit card number for security reasons. This endpoint is essential for company administrators and accounting managers to identify and manage payment methods, ensuring they can select the appropriate method IDs for transactions or updates.

Available To Roles:

  • Company Admin
  • Accounting Manager

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "payments": [
    {
      "paymentid": "payment-1234",
      "customerid": "customer-1234",
      "status": "Succeeded",
      "currency": "usd",
      "totalAmount": 10,
      "tipAmount": 0,
      "feeAmount": 0.45,
      "cardInfo": {
        "cardholderName": "Firstname Lastname",
        "cardLast4": "1234",
        "cardType": "Visa",
        "expiryMonth": 1,
        "expiryYear": 2040,
        "debitCredit": "credit",
        "zipCode": "12345"
      },
      "paymentProgram": "standard",
      "cardPresent": false,
      "cvccheck": false,
      "zipcheck": false,
      "risk_level": "normal",
      "risk_score": 17,
      "date": "2024-01-01T12:00:00.214Z",
      "nextdate": "",
      "history": [],
      "metadata": {
        "membership_plan": "STANDARD_MONTHLY"
      },
      "refunded": 0
    }
  ]
}


Payment Method

/api/v1/paymentmethod/save

Path: https://symbient.ai/api/v1/paymentmethod/save

Method: POST

Summary: Saves a new Payment Method. This endpoint is designed to securely transmit payment details to a PCI-compliant payment processor without storing any credit card information directly on Symbient servers. All fields are required, and the card must have a future expiry date to be accepted.

Available To Roles:

  • Company Admin
  • Accounting Manager

Request Body Parameters

  • cardholderName (required): String - The name of the cardholder as it appears on the credit card.
  • cardNumber (required): String - The credit card number.
  • expiryMonth (required): Integer - The month the credit card expires (MM).
  • expiryYear (required): Integer - The year the credit card expires (YYYY).
  • cvc (required): Integer - The card verification code.
  • zipCode (required): String - The postal code associated with the credit card billing address.

Example JSON Request Body

{
  "cardholderName": "Jane Doe",
  "cardNumber": "4111111111111111",
  "expiryMonth": 12,
  "expiryYear": 2025,
  "cvc": 123,
  "zipCode": "12345"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Payment method saved successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid customer id for opta pay."
}

Important Notes

  • Security Note: No credit card information is stored on Symbient servers. All sensitive data is handled by our PCI-compliant payment processor to ensure security.
  • Updating Payment Methods: This endpoint does not support updating existing payment methods. If updates are necessary, the existing payment method must be deleted first, and then the new information should be saved as a new entry.

/api/v1/paymentmethod/default

Path: https://symbient.ai/api/v1/paymentmethod/default

Method: POST

Summary: Modifies the "isdefault" property of a specified Payment Method. This endpoint allows setting a Payment Method as the default (isdefault = true). If another method is already set as the default, the old method will have the default status removed.

Available To Roles:

  • Company Admin
  • Accounting Manager

Request Body Parameters

  • methodid (required): String - The unique identifier of the Payment Method you wish to set as the default. For more information about retrieving a “methodid”, please see /api/v1/paymentmethods/get.

Example JSON Request Body

{
  "methodid": "method123"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Default payment method changed successfully.",
  "methodid": "methodid1234"
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid methodid."
}

/api/v1/paymentmethod/delete

Path: https://symbient.ai/api/v1/paymentmethod/delete

Method: POST

Summary: Deletes a specified Payment Method from your account and our PCI-compliant payment processor where Payment Methods are stored. It is important to note that deleting a Payment Method associated with any scheduled payments will cause those payments to fail, resulting in a reset of your membership plan to “None”.

Available To Roles:

  • Company Admin
  • Accounting Manager

Request Body Parameters

  • methodid (required): String - The unique identifier of the Payment Method you wish to delete. For more information about retrieving a “methodid”, please see /api/v1/paymentmethods/get.

Example JSON Request Body

{
  "methodid": "method123"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Payment methods deleted successfully.",
  "paymentMethodids": "methodid1234"
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid methodid."
}


Payment Methods

/api/v1/paymentmethods/get

Path: https://symbient.ai/api/v1/paymentmethods/get

Method: GET

Summary: Retrieves information about your saved Payment Methods. For security reasons, only the last 4 digits of each credit card number are displayed. This endpoint is useful for identifying the “methodid” of a target Payment Method, which can be used for transactions or updates.

Available To Roles:

  • Company Admin
  • Accounting Manager

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "paymentMethods": [
    {
      "methodid": "method123",
      "method": "Credit Card",
      "type": "Visa",
      "issuer": "Bank of America",
      "billing_details": {
        "zip": "12345"
      },
      "cardholderName": "John Doe",
      "cardLast4": "1234",
      "expiryMonth": 12,
      "expiryYear": 2040,
      "isdefault": true
    }
  ]
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid customer id for opta pay."
}


Slot

/api/v1/toolbox/tools/models/slot/get

Path: https://symbient.ai/api/v1/toolbox/tools/models/slot/get

Method: GET

Summary: Retrieve information about a specific slot from a Model. This endpoint is essential for model managers to view, manage, and organize slots within a model, ensuring they are configured correctly and function as intended.

Request Query Parameters

  • modelid (required): String - The ID of the Model associated with the target slot.
  • name (required): String - The name of the slot to retrieve.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/models/slot/get?modelid=model123&name=slotName

Example Responses

200 OK:

{
  "isactive": true,
  "isdeployed": false,
  "isdefault_llm": true,
  "ispublic": false,
  "candelete": true,
  "tags": [
    "tag1",
    "tag2"
  ],
  "input": [
    "input1",
    "input2"
  ],
  "output": [
    "output1",
    "output2"
  ],
  "model_name_or_path": "path/to/model",
  "modelid": "model123",
  "name": "Example Slot",
  "description": "This is an example slot."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid model ID."
}

/api/v1/toolbox/tools/models/slot/save

Path: https://symbient.ai/api/v1/toolbox/tools/models/slot/save

Method: POST

Summary: Create or update a slot. If a slot ID is provided, updates the existing slot. Otherwise, it creates a new one.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - The model ID to associate with this slot.
  • slotid (optional): String - The unique identifier of the slot to update. If not provided, a new slot will be created.
  • name (required): String - Name of the slot.
  • intent (required): String - Intent associated with this slot.
  • language (optional): String - Language for this slot. Default is 'en'.
  • description (optional): String - A brief description of the slot.
  • isrequired (optional): Boolean - Indicates if the slot is required. Default is false.
  • followup (optional): String - The follow-up question for the slot.
  • conditions (optional): String - JSON formatted conditions for the slot. Default is '[]'.

Example JSON Request Body

Creating a new slot:

{
  "modelid": "model123",
  "name": "New Slot",
  "intent": "Get Info",
  "language": "en",
  "description": "This is a new slot.",
  "isrequired": false,
  "followup": "Can you provide more details?",
  "conditions": "[]"
}

Updating an existing slot:

{
  "modelid": "model123",
  "slotid": "slot456",
  "name": "Updated Slot",
  "intent": "Get Info",
  "language": "en",
  "description": "This is an updated slot.",
  "isrequired": true,
  "followup": "Please provide more details.",
  "conditions": "[{\"condition\":\"example\"}]"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Slot saved successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid model ID."
}


Slots

/api/v1/toolbox/tools/models/slots/get

Path: https://symbient.ai/api/v1/toolbox/tools/models/slots/get

Method: GET

Summary: Retrieve a list of slots associated with a Model. Retrieve a comprehensive list of all slots associated with a specific model by providing the model ID. This endpoint is essential for model managers to view, manage, and organize slots within a model, ensuring they are configured correctly and function as intended.

Available To Roles:

  • Company Admin
  • Model Manager

Request Query Parameters

  • modelid (required): String - The ID of the target Model to retrieve slots for.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/models/slots/get?modelid=model123

Example Responses

200 OK:

{
  "success": true,
  "slots": [
    {
      "followup": {
        "question": "Follow-up question?"
      },
      "isactive": true,
      "isrequired": false,
      "modelid": "model123",
      "slotid": "slot123",
      "name": "Example Slot 1",
      "conditions": [
        "condition1",
        "condition2"
      ],
      "intent": "exampleIntent",
      "language": "en",
      "description": "This is the first example slot."
    }
  ]
}

/api/v1/toolbox/tools/models/slots/delete

Path: https://symbient.ai/api/v1/toolbox/tools/models/slots/delete

Method: DELETE

Summary: Delete one or multiple slots by providing their unique slot IDs. This endpoint is crucial for model managers to efficiently remove obsolete or unnecessary slots from a model, maintaining an organized and relevant set of slots for effective model performance.

Available To Roles:

  • Company Admin
  • Model Manager

Request Body Parameters

  • modelid (required): String - The model ID to associate with this slot.
  • slots (required): Array of strings - Array of IDs for the target slots to be deleted.

Example JSON Request Body

{
  "modelid": "model123",
  "slots": [
    "slot1",
    "slot2",
    "slot3"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Slots deleted successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "No slots were deleted."
}


Transcript

/api/v1/toolbox/tools/transcript/get

Path: https://symbient.ai/api/v1/toolbox/tools/transcript/get

Method: GET

Summary: Retrieve a transcript associated with a specific record by providing the record ID. This endpoint is essential for users to access detailed transcripts of interactions or activities, facilitating better understanding and analysis of the recorded data.

Arguments

Request Path Parameters

  • transcriptid (required): String - ID used to retrieve the transcription.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/transcript/get/{transcriptid}

Example Responses

200 OK:

{
  "success": true,
  "transcript": {
    "transcriptid": "transcript123",
    "reference_label": "Sample Transcript",
    "description": "This is a sample transcript.",
    "status": true,
    "created": "2023-05-01T12:34:56Z",
    "transcript": "This is the content of the transcript.",
    "speakers": [
      "Speaker 1",
      "Speaker 2"
    ],
    "tags": [
      "tag1",
      "tag2"
    ]
  }
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid transcriptid."
}

/api/v1/toolbox/tools/transcript/save

Path: https://symbient.ai/api/v1/toolbox/tools/transcript/save

Method: POST

Summary: Save or update a Transcription. If an "transcriptid" is provided, this updates the existing Transcription. Otherwise, it creates a new one. This endpoint is crucial for users to document and manage transcripts, ensuring comprehensive records of interactions or activities are maintained.

Request Body Parameters

  • transcriptid (optional): String - Optional transcription ID.
  • transcript (required): String - Transcription to save.
  • reference_label (required): String - Label to reference the transcription.
  • description (optional): String - Description of the transcription.
  • speakers (optional): Array of strings - List of speaker names.
  • tags (optional): Array of strings - List of tags for searching, filtering, and grouping transcriptions.

Example JSON Request Body

{
  "transcriptid": "transcript123",
  "transcript": "This is the content of the transcription.",
  "reference_label": "Sample Transcript",
  "description": "This is a sample transcription description.",
  "speakers": [
    "Speaker 1",
    "Speaker 2"
  ],
  "tags": [
    "tag1",
    "tag2"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Transcript saved successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid groupid."
}

/api/v1/toolbox/tools/transcript/import

Path: https://symbient.ai/api/v1/toolbox/tools/transcript/import

Method: PUT

Summary: Import a transcript from an external source by providing the record ID and transcript data. This endpoint is crucial for users to integrate external transcripts into the system, ensuring comprehensive data consolidation and accessibility within Symbient AI.

Request Body Parameters

  • reference_label (required): String - Label to reference the transcription.
  • description (optional): String - Description of the transcription.
  • tags (optional): Array of strings - List of tags for searching, filtering, and grouping transcriptions.
  • file (required): Binary - The transcription file to be imported.

Example JSON Request Body

{
  "reference_label": "Meeting Transcript",
  "description": "Transcript of the team meeting held on 2023-05-01",
  "tags": [
    "meeting",
    "2023"
  ],
  "file": "<binary_file>"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Transcription imported successfully"
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid reference label."
}

/api/v1/toolbox/tools/transcript/upload

Path: https://symbient.ai/api/v1/toolbox/tools/transcript/upload

Method: PUT

Summary: Upload an audio file for transcription. Note: This API is subject to the terms & limitations of your membership plan.Supported file types include 'mp3' and 'wav' files.This endpoint is essential for users to enhance the data available by incorporating various transcript sources, ensuring a comprehensive and detailed record of interactions or activities.

Request Body Parameters

  • reference_label (required): String - Label to reference the transcription.
  • description (optional): String - Description of the transcription.
  • tags (optional): Array of strings - List of tags for searching, filtering, and grouping transcriptions.
  • file (required): Binary - The audio file to be uploaded.

Example JSON Request Body

{
  "reference_label": "Meeting Transcript",
  "description": "Transcript of the team meeting held on May 1st.",
  "tags": [
    "meeting",
    "team",
    "transcript"
  ],
  "file": "<binary_data>"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Audio file uploaded successfully"
}

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid reference label."
}

/api/v1/toolbox/tools/transcript/export

Path: https://symbient.ai/api/v1/toolbox/tools/transcript/export

Method: GET

Summary: Export a transcription. This endpoint is essential for users to obtain and share transcript data, ensuring easy access and transfer of recorded interactions or activities for further analysis or documentation.

Request Query Parameters

transcriptid (required): String - ID used to retrieve the transcript.

exportas (optional): String - Export as 'pdf' or 'txt'. Defaults to 'txt'.

Example Request URL

https://symbient.ai/api/v1/toolbox/tools/transcript/export?transcriptid=transcript123&exportas=txt

Example Responses

200 OK:

Response will be in text format, representing the transcript content either in plain text or PDF format depending on the exportas parameter.

400 Bad Request:

{
  "success": false,
  "error": "Missing or invalid transcriptid."
}


Transcripts

/api/v1/toolbox/tools/transcripts/get

Path: https://symbient.ai/api/v1/toolbox/tools/transcripts/get

Method: GET

Summary: Retrieve a comprehensive list of all transcripts within the system. This endpoint is vital for users to access and review detailed records of all interactions or activities.

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "transcripts": [
    {
      "transcriptid": "transcript123",
      "reference_label": "Sample Transcript 1",
      "description": "This is a sample transcript.",
      "status": true,
      "created": "2023-05-01T12:34:56Z",
      "transcript": "This is the content of the transcript.",
      "speakers": [
        "Speaker 1",
        "Speaker 2"
      ],
      "tags": [
        "tag1",
        "tag2"
      ]
    }
  ]
}

/api/v1/toolbox/tools/transcripts/delete

Path: https://symbient.ai/api/v1/toolbox/tools/transcripts/delete

Method: DELETE

Summary: Delete one or multiple transcripts by providing their unique IDs. This endpoint is crucial for users to efficiently manage and remove obsolete or unnecessary transcripts, maintaining an organized and relevant set of records.

Request Body Parameters

  • transcriptions (required): Array of strings - Array of transcript IDs.

Example JSON Request Body

{
  "transcriptions": [
    "transcript123",
    "transcript456",
    "transcript789"
  ]
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Transcriptions deleted successfully."
}

/api/v1/toolbox/tools/transcripts/export

Path: https://symbient.ai/api/v1/toolbox/tools/transcripts/export

Method: GET

Summary: Export one or multiple transcripts by providing their unique IDs. This endpoint is essential for users to share and transfer detailed transcript data, facilitating further analysis or documentation outside the Symbient AI system. The "exportas" option allows you to export the transcriptions as either pdf or txt files.

Request Body Parameters

  • transcripts (required): Array of strings - IDs used to retrieve the transcripts.
  • exportas (optional): String - Export as 'pdf' or 'txt'. If not provided, the default is 'txt'.

Example JSON Request Body

{
  "transcripts": [
    "transcript123",
    "transcript456"
  ],
  "exportas": "pdf"
}

Example Responses

200 OK:

Response will be in text format, representing the transcript content either in plain text or PDF format depending on the exportas parameter.

400 Bad Request:

{
  "success": false,
  "error": "Object not found."
}


User

/api/v1/confirmation/resend

Path: https://symbient.ai/api/v1/confirmation/resend

Method: POST

Summary: Resend a confirmation email to a user by providing their email address. This endpoint is crucial for ensuring that users can verify their accounts and gain access to the system.

Request Body Parameters

  • email (required): String - Email address to send the confirmation code to.

Example JSON Request Body

{
  "email": "user@example.com"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "A confirmation code has been sent to the email address provided. Please check your email and follow the included instructions."
}

400 Bad Request:

{
  "success": false,
  "message": "An error occurred processing your request."
}

/api/v1/login

Path: https://symbient.ai/api/v1/login

Method: POST

Summary: Log in and retrieve a login Bearer Token, which can be used in place of API and ENC keys to authorize subsequent API requests. If Multi-Factor Authentication (MFA) is enabled for the user, a mfacode must be included in the request.

Request Body Parameters

  • email (required): String - The user's email address used for logging in.
  • password (required): String - The password corresponding to the user's email.
  • mfacode (optional): String - A code from the user's MFA device. This field is required if the user has MFA enabled.

Example JSON Request Body

For a user without MFA:

{
  "email": "user@example.com",
  "password": "yourPassword"
}

For a user with MFA enabled:

{
  "email": "user@example.com",
  "password": "yourPassword",
  "mfacode": "123456"
}

Example Responses

200 OK:

{
  "success": true,
  "user": {
    "groupid": "group123",
    "userid": "user456",
    "email": "user@example.com"
  },
  "token": "abc123xyz789"
}

401 Unauthorized:

{
  "success": false,
  "error": "Login failed."
}

Important Notes

  • Bearer Token Usage: The Bearer Token obtained through this endpoint must be used to authorize other API requests. For more information about using the Bearer Token, please see Auth .

/api/v1/logout

Path: https://symbient.ai/api/v1/logout

Method: PUT

Summary: Log out of Symbient AI. This endpoint is crucial for users to securely terminate their session, ensuring that their account remains protected and inaccessible to unauthorized users. NOTE: Bearer authorization header is required. This API does not work with API & Enc Key.

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "message": "User logged out successfully"
}

/api/v1/logout/all

Path: https://symbient.ai/api/v1/logout/all

Method: PUT

Summary: Log out of Symbient from all devices and sessions. This endpoint is essential for users to ensure that their account is securely logged out from all devices, enhancing overall security and preventing unauthorized access. NOTE: Bearer authorization header is required. This API does not work with API & Enc Key.

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "success": true,
  "message": "User logged out of all devices & sessions"
}

/api/v1/signup

Path: https://symbient.ai/api/v1/signup

Method: POST

Summary: Register for a new account by providing necessary user details such as email, name, and password. This endpoint is crucial for new users to create an account and start using the Symbient AI system, gaining access to its functionalities and features

Request Body Parameters

  • fname (required): String - First name of the user.
  • lname (required): String - Last name of the user.
  • email (required): String - Email address of the user.
  • password1 (required): String - Password for the user account.
  • password2 (required): String - Password confirmation to ensure the passwords match.

Example JSON Request Body

{
  "fname": "John",
  "lname": "Doe",
  "email": "john.doe@example.com",
  "password1": "SecurePassword123",
  "password2": "SecurePassword123"
}

Example Responses

201 Created:

{
  "success": true,
  "message": "A confirmation email has been sent to the address you provided. Please check your email and follow the included instructions.",
  "user": {
    "userid": "newUserID456",
    "fname": "John",
    "lname": "Doe",
    "email": "john.doe@example.com"
  },
  "token": "user-auth-token"
}

400 Bad Request:

{
  "success": false,
  "message": "Invalid email address."
}


Users

/api/v1/users/me

Path: https://symbient.ai/api/v1/users/me

Method: GET

Summary: Retrieve detailed information about the currently authenticated user, including their account details and associated roles.

Arguments

This endpoint does not require any body or query parameters for the request.

Example Responses

200 OK:

{
  "userid": "user-id-1234",
  "email": "email@test.com"
}

/api/v1/users/save

Path: https://symbient.ai/api/v1/users/save

Method: POST

Summary: Save a new user or update an existing user's details by providing their unique user ID. This endpoint is essential for administrators and user managers to manage user accounts, ensuring that all user information, such as email, name, roles, and activity status, is accurate and up-to-date.

Request Body Parameters

  • email (required): String - Email of the user.
  • fname (required): String - First name of the user.
  • lname (required): String - Last name of the user.
  • usemfa (optional): Boolean - Indicates whether MFA (Multi-Factor Authentication) is enabled.
  • group.name (optional): String - Name of the user's group.
  • group.bot.name (optional): String - Name of the group's bot.
  • group.address1 (optional): String - Primary address of the group.
  • group.address2 (optional): String - Secondary address of the group.
  • group.city (optional): String - City of the group.
  • group.state (optional): String - State of the group.
  • group.zip (optional): String - ZIP code of the group.
  • group.country (optional): String - Country of the group.
  • group.phone (optional): String - Phone number of the group.
  • group.email (optional): String - Group email address.
  • group.industry (optional): String - Industry the group belongs to.

Example JSON Request Body

{
  "email": "user@example.com",
  "fname": "John",
  "lname": "Doe",
  "usemfa": true,
  "group.name": "Group Name",
  "group.bot.name": "Group Bot",
  "group.address1": "123 Main St",
  "group.address2": "Suite 100",
  "group.city": "Cityville",
  "group.state": "Stateville",
  "group.zip": "12345",
  "group.country": "Countryland",
  "group.phone": "123-456-7890",
  "group.email": "group@example.com",
  "group.industry": "Technology"
}

Example Responses

200 OK:

{
  "success": true,
  "message": "Settings saved successfully."
}

400 Bad Request:

{
  "success": false,
  "error": "Missing email."
}

/api/v1/users/updatepassword

Path: https://symbient.ai/api/v1/users/updatepassword

Method: POST

Summary: Updates your password. Both password1 and password2 fields must be identical. This endpoint is crucial for administrators and user managers to manage and enhance account security, ensuring that users can change their passwords as needed.

Request Body Parameters

  • currentPassword (required): String - The user’s current password.
  • password1 (required): String - The new password for the user. This must adhere to the Symbient Password Policy .
  • password2 (required): String - A repeat of the new password for confirmation. Must match password1.

Example JSON Request Body

{
  "currentPassword": "newuser@example.com",
  "password1": "NewSecurePassword123!",
  "password2": "NewSecurePassword123!"
}

Example Responses

200 OK:

{
  "success": true,
  "user": {
    "groupid": "group123",
    "userid": "user456",
    "email": "user@example.com"
  },
  "token": "abc123xyz789"
}

401 Unauthorized:

{
  "success": false,
  "error": "Login failed."
}

/api/v1/users/mfa/verify

Path: https://symbient.ai/api/v1/users/mfa/verify

Method: POST

Summary: Verify your MFA code. You must have MFA set up for your account already to utilize this.

Request Body Parameters

  • code (required): String - The MFA code to verify.

Example JSON Request Body

{
  "code": "123456"
}

Example Responses

200 OK:

{
  "success": true
}

400 MFA Verification Failed:

{
  "success": false
}