ejento.ai API
Stable
  • Stable
  • V2
  • V2 Legacy
Stable
  • Stable
  • V2
  • V2 Legacy
ejento.ai
Stable
  • Stable
  • V2
  • V2 Legacy
  1. Getting Started
  • Overview
  • Changelog
  • Versioning
  • Quick-Start Template for Building an App
  • FAQs
  • Guides
    • Getting Started
      • How to generate API Key and Auth Token
      • Build an App with Ejento APIs
      • How to Import Ejento APIs into Postman
      • Authentication with Azure AD Token
      • Permission Sets
    • Migrations
      • Response API Migration
      • Indexing API Migration
    • Integrations
      • Voice Call API Integration Guide
      • Staging & Publishing for Agents API Guide
      • Chat Thread Attachment Integration Guide
  • Authentication
    • Getting Started with Authentication
    • SSO
      • Initiate Google SSO Login
      • Initiate Microsoft SSO Login
      • Initiate LinkedIn SSO Login
      • Initiate Okta SSO Login
      • Exchange Azure AD Token for Ejento Tokens
    • Feature Flags
      • Get Login Feature Flags
    • Authenticate User
    • Request Passwordless Exchange Token
    • Exchange Passwordless Token for Access Tokens
    • Register User
    • Update Own Password
    • Refresh Access Token
    • Passwordless Authentication (Email Magic Link)
    • Validate Magic Link Token
    • Verify Email OTP
  • Agents
    • Agent Access
      • Get Agent Access
      • Update Agent Access
    • Agent Alias
      • Get Agent Alias
      • Create an Agent Alias
      • Update an Agent Alias
      • Delete an Agent Alias
      • Get all Agent Aliases
    • Agent Tags
      • Add or Remove Tags from an Agent
      • Get all Tags for a given Project or Organization
      • Get all Tags grouped by Agent for a given Project or Organization
    • Agent Chat Threads
      • Get Chat Threads of an Agent
      • Create Chat Thread for an Agent
    • Agent Comment
      • Get all Comments for an Agent
      • Create a Comment
      • Update a Comment
      • Delete a Comment
    • Agent Rating
      • Get Ratings of an Agent
      • Update Agent Rating
      • Get all Agent Ratings
    • Agent Review
      • Get all Reviews for specific Agent
      • Create a new Review
      • Get all Reviews of the Authenticated User
      • Update a Review
      • Delete a Review
    • Agent Tools
      • List all Tools with their enabled status for the given Agent
      • Unlink an Agent from a Tool
      • Link an Agent to a Tool
      • List all tools that are connected to the Agent
    • Agent Vote
      • Get Vote Information for an Agent
      • Vote on an Agent
    • Agent Type
      • Get all Agent Types
      • Get a specific Agent Type
      • Update a specific Agent Type
    • Evaluation Datasets
      • List Agent Evaluation Datasets
      • Create Agent Evaluation Dataset
      • Batch Delete Agent Evaluation Datasets
      • Get Agent Evaluation Dataset
      • Update Agent Evaluation Dataset
      • Delete Agent Evaluation Dataset
      • Upload Agent Evaluation Dataset (CSV/Excel)
    • Evaluation Runs
      • List Agent Evaluation Runs
      • Create Agent Evaluation Run
      • Batch Delete Agent Evaluation Runs
      • Get Agent Evaluation Run
      • Update Agent Evaluation Run
      • Delete Agent Evaluation Run
    • Agent Permissions
      • List all permissions on an agent
      • Grant permission on an agent
      • Update a permission on an agent
      • Revoke permission on an agent
      • Grant multiple permissions on an agent
      • Revoke multiple permissions on an agent
      • Get user permissions on a specific agent
      • Get user permissions on multiple agents
    • Agent Skills
      • Get all Skills available to an Agent
      • Unlink a Skill from an Agent
      • Link a Skill to an Agent
    • Get all Agents
    • Create a new Agent
    • Get an Agent
    • Update an Agent
    • Delete an Agent
    • Activate an Agent
    • Get Agent-Corpus Connections
    • Create Multiple Agent-Corpus Connections
    • Delete Agent-Corpus Connections
    • Get Agent-Corpus Connection Details
    • Create Agent-Corpus Connection
    • Update Agent-Corpus Connection
    • Delete Agent-Corpus Connection
    • Get agent history with pagination
    • Restore an agent to a previous checkpoint
    • Get a single agent history record by history ID
    • Create Custom Instructions for an Agent
    • Update Custom Instructions for an Agent
    • Delete a Custom Instruction for an Agent
    • Get Agent Prompt History
    • Create a Recent Agent
    • Delete a Recent Agent
    • Get Agent Details with Starred Status
    • Create Starred Agent
    • Delete Starred Agent
    • Get the Status of an Agent
    • Get all Character Voices
    • Get Agent Filter
    • Generate an image for an agent based on the provided description
    • Get all Agents by Project
    • Get list of Recent Agents
    • Get all workflows for an agent
    • Get all Starred Agents of the Authenticated User
    • Get Staging Diff
    • Get publish history for an agent
    • Get rollback diff preview for a publish record
    • Roll back staging agent to a previous publish
    • Publish staging agent to main
    • Clone an Agent
    • Get diff detail for a publish record
  • Agent Response
    • Stream Agent Response (SSE)
    • Generate Agent Response (Non-Streaming)
    • Generate Token for Voice Call
    • Get an Agent Response
    • Update an Agent Response
    • Delete an Agent Response
    • Get Comments for Agent Response
    • Create a Comment for Agent Response
    • Create a Feedback for an Agent Response
    • Pin an Agent Response
    • Unpin an Agent Response
    • Get Supporting Content of an Agent Response
    • Get Thoughts of an Agent Response
    • Get Agent Responses based on filters
    • Get Agent Responses of an Agent
    • Create Agent Response Log
    • Get Pinned Agent Responses
    • Create Bulk Agent Response Logs
    • Stop an in-flight streaming response
  • Chat Thread
    • Agent Response
      • Get Agent Responses for a Chat Thread
      • Delete Agent Responses for a Chat Thread
    • Chat Logs
      • Get Chat Logs for a Chat Thread
    • Corpus Connection
      • Get Corpus Connection by ChatThread ID
      • Delete Corpus Connection by ChatThread ID
      • Get a ChatThread-Corpus connection
      • Create a ChatThread-Corpus connection
      • Delete a ChatThread-Corpus connection
    • Documents
      • Get Documents in Chat Thread
    • Get Chat Thread
    • Update Chat Thread
    • Delete Chat Thread
    • Get Chat Threads based on various filters
    • Global Hybrid Search across Chat Threads and Chatlogs
    • Get Recent Chat Threads across all Agents
  • Chat Logs
    • Get Chat Log Details
    • Get Chat Log Search Results
  • Conversation Starters
    • Get Conversation Starters for an Agent
    • Create a new Conversation Starter.
  • Teams
    • Team Permissions
      • List all permissions on a team
      • Grant permission on a team
      • Update a permission on a team
      • Revoke permission on a team
      • Grant multiple permissions on a team
      • Revoke multiple permissions on a team
      • Get user permissions on a specific team
      • Get user permissions on multiple teams
    • Get all Teams
    • Create a Team
    • Get a Team
    • Update a Team
    • Delete a Team
    • Get all Projects of a Team
    • Create a Recent Team
    • Get all Users in a Team
    • Add Users to a Team
    • Remove User from Team
    • Get Recent Teams
    • Get all Teams of the Authenticated User
  • Projects
    • Project Permissions
      • List all permissions on a project
      • Grant permission on a project
      • Update a permission on a project
      • Revoke permission on a project
      • Grant multiple permissions on a project
      • Revoke multiple permissions on a project
      • Get user permissions on a specific project
      • Get user permissions on multiple projects
    • Retrieve all Projects
    • Create a Project
    • Get a Project
    • Update a Project
    • Delete a Project
    • Get Agent Responses using Project ID
    • Add a Recent Project for a User
    • Add Users to a Project
    • Remove a User from a Project
    • Get all Workflows for a Project
    • Get multiple Projects by their IDs
    • Get Projects based on filters
    • Get Recent Projects for a User
    • Get Projects with Team Details
  • Corpora
    • Corpus Permissions
      • Get all Permissions for a Corpus
      • Grant permission on a corpus
      • Update a permission on a corpus
      • Revoke permission on a corpus
      • Batch grant permissions on a corpus
      • Batch revoke permissions on a corpus
      • Get calling user's permissions on a corpus
      • Get a user's permissions on a corpus
      • Get a user's permissions across multiple corpora
    • Get all Corpus
    • Upload a Document to a Corpus
    • Create a Corpus
    • Get a Corpus
    • Update a Corpus
    • Delete a Corpus
    • Get Corpus Agent Connections
    • Get Default Corpus Agent Connection
    • Annotate/Tag a Corpus
    • Get Conversation Starters for a Corpus
    • Get all Documents for a Corpus
    • Delete Document(s) from a Corpus
    • Check Duplicate Documents in a Corpus
    • Trigger a Refresh (Reindex) of a Corpus
    • Get Sitemaps for a Corpus
    • Get Corpora with Refresh (Reindex) Enabled
  • Documents
    • Get a Document
    • Update a Document
    • Delete a Document
    • Annotate a Document
    • Get Conversation Starters for a Document
    • Trigger a Refresh (Reindex) of a Document
    • Retrieve multiple Documents by IDs
  • Organizations
    • Organization Permissions
      • List all permissions on an organization
      • Get user permissions on a specific organization
    • Get all Configurations
    • Get active configuration for an Organization
    • Get the Model Deployment for an Organization
    • Get all Tools in an Organization
    • Disable a Tool for all Agents in an Organization
    • Enable a Tool for all Agents in an Organization
    • Get all API Tool Templates
    • Create a new API Tool Template
    • Create a new API tool
    • Create an attachment tool
    • Create a new RAG tool in an Organization
    • Create a Web Search Tool in an Organization
    • Get all Users in an Organization
    • Create a User in an Organization
    • Get all Configurations of user's Organization
    • Register LLM Configuration
    • Update LLM Configuration
    • Toggle LLM Configuration Availability
    • Delete LLM Configuration
    • Get a specific LLM configuration by ID (admin only)
  • Users
    • Get a User
    • Update a User
    • Delete a User
    • Get Agent Responses of a User
    • Get all User Permissions
    • Get Projects of a User
    • Get all Workflow Tables for a User
    • Get all Workflows for a User
    • Delete multiple Users
    • Get a specific User by user_email
    • Get all Users
    • Get authenticated User
    • Get User Projects
    • Assign a user to multiple permission sets
  • Analytics
    • Get Agent Cost Data
    • Get Agent Document Count Data
    • Get Agent Indexing Mode Data
    • Get Agent Most Active Data
    • Get Agent Query Count Data
    • Get Recent Agent Data
    • Get Agent Summary Statistics
    • Get Agent Token Data
    • Get Agent Vote Data
    • Get Corpus Document Count Data
    • Get Corpus Indexing Mode Data
    • Get Cost Data
    • Get Document Count Data
    • Get Indexing Mode Data
    • Get Project Cost Data
    • Get Project Document Count Data
    • Get Project Indexing Mode Data
    • Get Project Most Active Data
    • Get Project Query Count Data
    • Get Recent Project Data
    • Get Project Summary Statistics
    • Get Project Token Data
    • Get Project Vote Data
    • Get Overall Summary Statistics
    • Get Team Cost Data
    • Get Team Document Count Data
    • Get Team Indexing Mode Data
    • Get Team Most Active Data
    • Get Team Query Count Data
    • Get Recent Team Data
    • Get Team Summary Statistics
    • Get Team Token Data
    • Get Team Vote Data
    • Get Total Entity Counts
    • Get User Cost Data
    • Get User Document Count Data
    • Get User Indexing Mode Data
    • Get User Most Active Data
    • Get User Query Count Data
    • Get Recent User Data
    • Get User Summary Statistics
    • Get User Token Data
    • Get User Vote Data
    • Get Vote Count Data
    • Get Workflow Summary Statistics
    • Get Query Count Data
    • Get Token Data
  • Configurations
    • Update the LLM configuration for an Agent
    • Get OAuth-related Feature Flags
  • Guardrails
    • Apply Guardrails on Input Text
    • Get available guardrail types for agent
    • Enable/disable a guardrail type for agent
    • Get Guardrails
    • Update Guardrails
    • Delete Guardrails
    • Get Guardrails in Organization
    • Create Guardrail in Organization
    • Enable or Disable Guardrail for Organization
  • Feature Flags
    • Get All Feature Flags
    • Get Agent Alias Feature Flag
    • Get Agent Evaluation Feature Flag
    • Get Api Tools Feature Flag
    • Get Caching Feature Flag
    • Get Call Feature Flag
    • Get Chat Agent Creation Feature Flag
    • Get Chat Widget Feature Flag
    • Get dall_e Image Generation Feature Flag
    • Get Developer Portal Feature Flag
    • Get Flush Cache Feature Flag
    • Get Google Drive Connector Feature Flag
    • Get Guardrail Feature Flag
    • Permission Sets Feature Flag
    • Get PII Redaction Feature Flag
    • Get Share Agent Feature Flag
    • Get Sharepoint Legacy Feature Flag
    • Show Quota Limit Feature Flag
    • Get Skills Feature Flag
    • Get Staging Agent Feature Flag
    • Get Workflow Evaluation Feature Flag
    • Get Youtube Index Feature Flag
  • Notifications
    • Get all Notifications
    • Create a new Notification
    • Update Notifications by User ID
    • Get a Notification
    • Update a Notification
    • Delete a Notification
  • Tools
    • Get Tool by ID
    • Update Tool by ID
    • Delete Tool by ID
  • Workflows
    • Evaluation Datasets
      • List Workflow Evaluation Datasets
      • Create Workflow Evaluation Dataset
      • Batch Delete Workflow Evaluation Datasets
      • Get Workflow Evaluation Dataset
      • Update Workflow Evaluation Dataset
      • Delete Workflow Evaluation Dataset
      • Upload Workflow Evaluation Dataset (CSV/Excel)
    • Evaluation Runs
      • List Workflow Evaluation Runs
      • Create Workflow Evaluation Run
      • Batch Delete Workflow Evaluation Runs
      • Get Workflow Evaluation Run
      • Update Workflow Evaluation Run
      • Delete Workflow Evaluation Run
    • Workflow Permissions
      • Get all Permissions for a Workflow
      • Grant permission on a Workflow
      • Update a permission on a Workflow
      • Revoke permission on a Workflow
      • Batch grant permissions on a Workflow
      • Batch revoke permissions on a Workflow
      • Get a user's permissions on a workflow
      • Get a user's permissions across multiple workflows
    • Get all Workflows
    • Stream Workflow Response (SSE)
    • Create a Workflow
    • Get a Workflow
    • Update a Workflow
    • Delete a Workflow
    • Get all Workflow Chat Threads
    • Create a Workflow Chat Thread
    • Get all Workflow Responses
    • Create a Workflow Chat Response
    • Get a Workflow Chat Thread
    • Update a Workflow Chat Thread
    • Delete a Workflow Chat Thread
    • Get all Workflow Chat Responses
    • Delete a Workflow Response
    • Create a Workflow Feedback
    • Retrieve a list of reviews for a given workflow response
    • Create a Workflow Review
    • Get Workflow Responses based on filters
  • Citation
    • Get Citation File Content
  • Sitemaps
    • Get a Sitemap
    • Toggle Sitemap Syncing
    • Delete a Sitemap (cascade)
    • Get documents linked to a Sitemap
  • Google Drive
    • Folder Mappings
      • Get Google Drive Folder Mappings by Corpus ID
  • Skills
    • List all Skills in an Organization
    • Create a new Skill
    • Retrieve a Skill in an Organization
    • Update a Skill
    • Disable a Skill for all Agents in an Organization
    • Update Skill Metadata
    • Enable a Skill for all Agents in an Organization
    • Delete a Skill
    • Get a Skill with Content
    • Get a File from a Skill
  • Permission Sets
    • List org permission sets
    • Create a permission set
    • Retrieve a permission set
    • Update a permission set
    • Delete a permission set
    • List permission set members
    • Assign one or more members to a permission set
    • Remove one or more members from a permission set
  1. Getting Started

Permission Sets

Permission Sets give organization admins fine-grained, scoped control over what members can do with agents — who can view, edit, delete, publish, and create them, and how widely that access reaches. You compose a named bundle of scoped permissions and assign it to users.
Think of a permission set as a reusable access profile. You might create an “Agent Editors” set that lets members view every agent in the organization but only edit the agents on their own team, and a separate “Agent Admins” set that grants full control. Members inherit the combined access of every set assigned to them, always resolving to the union of scopes they hold.

How It Works#

Every permission set is scoped to a single organization and defines access to a resource through a combination of actions and scopes.
ConceptWhat it means
ResourceThe kind of object the permission applies to. Currently agents.
ActionWhat the member is allowed to do: view, edit, delete, publish, or create.
ScopeHow far the action reaches — from a user’s owned resources all the way to the whole organization.
PrincipalWho the set is assigned to. Currently users.
Scope grants are written at the organization level rather than per-member, so assigning or updating a permission set propagates to every affected member in constant time.

Scopes#

Each of the view, edit, delete, and publish actions is assigned a scope..
ScopeGrants the action on…
allEvery agent in the organization (broadest).
projectAgents belonging to projects the member can access.
teamAgents user’s team(s) can access.
ownOnly agents the member owns (narrowest).

The Permissions Object#

A permission set's access is expressed as a JSON permissions object. The agents resource takes four scoped actions and one boolean create flag:
ActionTypeDescription
viewscope | nullView / read access to agents in scope.
editscope | nullModify an agent's configuration.
deletescope | nullDelete agents in scope.
publishscope | nullPublish staging changes live to production.
createbooleanWhether the member may create new agents.
Example
{ "agents": { "view": "all", "edit": "team", "delete": null, "publish": "own", "create": true } }
View auto-escalation: A member who can edit, delete, or publish an agent must also be able to see it. If any of those actions is granted a broader scope than view, view is automatically raised to match. If the broader scopes mix team and project (neither of which implies the other), view escalates all the way to all.

Creating & Managing Permission Sets#

Organization admins can create, update, and delete permission sets. Set names must be unique within an organization.
A few sets are treated specially:
System sets (is_system) are built-in presets. They cannot be deleted, and only their default flag may be changed — name, description, and permissions are locked.
Default sets (is_default) are auto-assigned to newly invited/added organization members. An organization must always keep at least one default set, so you cannot remove or delete the last one.

Endpoints#

MethodEndpointDescription
GET/api/v2/permission-setsList the organization's permission sets. Supports search (query), sorting (sort_by=name), and optional pagination.
POST/api/v2/permission-setsCreate a permission set from a name, optional description, default flag, and permissions object.
GET/api/v2/permission-sets/{permission_set_id}Retrieve a single permission set by ID.
PUT/api/v2/permission-sets/{permission_set_id}Update name, description, default flag, or permission scopes.
DELETE/api/v2/permission-sets/{permission_set_id}Delete a permission set and revoke its permission grants. System sets cannot be deleted.

Assigning Members#

A permission set takes effect once it is assigned to a user. You can approach assignment from either direction — add many users to one set, or add many sets to one user.
Partial success: Batch assignment requests are processed item by item. Valid items succeed even if others fail; each failure is returned with a reason (for example, principal not found in the organization, or the per-principal cap reached). Items already assigned are treated as successful (idempotent).
Cap: Each user can hold at most 20 permission sets within an organization.

Endpoints#

MethodEndpointDescription
GET/api/v2/permission-sets/{permission_set_id}/membersList the users assigned to a set. Supports search, sorting (name, subject_type), and pagination.
POST/api/v2/permission-sets/{permission_set_id}/membersAssign one or more users to the set.
DELETE/api/v2/permission-sets/{permission_set_id}/membersRemove one or more users from the set.
POST/api/v2/users/{user_id}/permission-setsAssign a single user to multiple permission sets in one call.

Effective Permissions#

A member usually holds several permission sets. Their effective permission for each action is the union of scopes granted by all of those sets. The create flag is effective if any assigned set grants it.
For example, if one set grants edit at team scope and another grants edit at all, the member can edit any agent in the organization.

Directly Shared Agents#

Permission sets grant scoped access across whole populations of agents, but an agent can also be shared directly with an individual user (or with every user in the organization, by making the agent Public). A direct share does not grant actions by itself. It names which agent a user may act on; the actions they can perform still come entirely from the permission sets they hold.
A direct share is granted at one of two levels:
Share levelWhat it can unlock (given a matching permission set)
memberView only.
adminView, edit, delete, and publish.

Resolution#

For each action, a directly-shared user's access is the intersection of their share level with their capability for that action. A capability is the scope-agnostic union of every scope grant the user holds for that action across all of their assigned permission sets — in other words, "does this user have view (or edit, delete, publish) at any scope?"
Member share: the user can view the agent if they hold any permission set that grants view at any scope. A member share contributes nothing to edit, delete, or publish.
Admin share: the user can view, edit, delete, or publish the agent — action by action — if they hold any permission set that grants that same action at any scope. An admin share never unlocks an action the user has no permission set for.
Public Agents: Public agents are shared with all users in the organization at once with member access. Every user then resolves against their own view capability individually, so only members who already hold view somewhere gain access.
Note: Direct shares to a team behave slightly differently — a team share is gated at team scope rather than by the scope-agnostic capability. The capability-based resolution above applies to shares made directly to an individual user.
Previous
Authentication with Azure AD Token
Next
Response API Migration
Built with