Ejento APIs
Stable
  • Stable
  • V2
  • V2 Legacy
  1. Authentication
Ejento APIs
Stable
  • Stable
  • V2
  • V2 Legacy
  • Overview
  • Changelog
  • Versioning
  • Quick-Start Template for Building an App
  • FAQs
  • Guides
    • How to generate API Key and Auth Token
    • Build an App with Ejento APIs
    • Response API Migration
    • Indexing API Migration
    • How to Import Ejento APIs into Postman
  • Authentication
    • Getting Started with Authentication
    • SSO
      • Initiate Google SSO Login
      • Initiate Microsoft SSO Login
      • Initiate LinkedIn SSO Login
      • Initiate Okta SSO Login
    • Feature Flags
      • Get Login Feature Flags
    • Authenticate User
      POST
    • Request Passwordless Exchange Token
      POST
    • Exchange Passwordless Token for Access Tokens
      POST
    • Register User
      POST
    • Update Own Password
      PATCH
    • Refresh Access Token
      POST
    • Passwordless Authentication (Email Magic Link)
      POST
    • Validate Magic Link Token
      POST
    • Verify Email OTP
      POST
  • 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
    • 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
    • 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
    • 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
    • Create Custom Instructions 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 Starred Agents of the Authenticated User
  • Agent Response
    • Get an Agent Response
    • Stream Agent Response (SSE)
    • Generate Agent Response (Non-Streaming)
    • 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
  • 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
  • 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
    • Create a Recent Team
    • Get Recent Teams
  • Projects
    • Retrieve all Projects
    • Get a Project
    • Update a Project
    • Delete a Project
    • Get Agent Responses using Project ID
    • Add a Recent Project for a User
    • 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
  • 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
    • Get all Permissions for a Corpus
    • Create a new Permission for a Corpus
    • Delete a user permission for a corpus
    • Get all user permissions for 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
    • 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
  • Users
    • Get a User
    • Update a User
    • Delete 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 authenticated User
  • 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 Query Count Data
    • Get Token Data
  • Configurations
    • Update the LLM configuration for an Agent
    • Get OAuth-related Feature Flags
  • Guardrails
    • Get available guardrail types for agent
    • Enable/disable a guardrail type for agent
    • Get Guardrails
    • Apply Guardrails on Input Text
    • 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 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 Guardrail Feature Flag
    • Get PII Redaction Feature Flag
    • Get Share Agent Feature Flag
    • Get Sharepoint Legacy Feature Flag
    • Show Quota Limit 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
    • 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
    • Get all Workflows
    • Create a Workflow
    • Get a Workflow
    • Stream Workflow Response (SSE)
    • 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
  • Citation
    • Get Citation File Content
  • Sitemaps
    • Get a Sitemap
    • Toggle Sitemap Syncing
    • Delete a Sitemap (cascade)
    • Get documents linked to a Sitemap
  1. Authentication

Getting Started with Authentication

Tokens Overview#

Authentication App Access Token (JWT)#

Use for: Calling protected Authentication endpoints.
Header: Authorization: Bearer <current_auth_access_token>
Default validity: 7 days

Ejento Access Token#

Use for: Ejento Platform APIs (besides Authentication endpoints).
Header: Typically Authorization: Bearer <ejento_access_token>
Default validity: 7 days
⚠️ These tokens serve different purposes and are not interchangeable.

When to Use Which Endpoint#

1. Login with Email/Password#

Endpoint: POST /auth-service/api/v2/login/access-token
Body (x-www-form-urlencoded):
username
password
Returns: Both tokens (Authentication App access token and Ejento access token)
Use when: The user has a password

2. Passwordless (Email-based Code → Exchange)#

Step 1: Request Token#

Endpoint: POST /auth-service/api/v2/login/passwordless/request-token
Body (JSON):
{ "email": "[email protected]" }
Sends a single-use exchange code to the user’s email (expires in 10 minutes)

Step 2: Exchange Code for Tokens#

Endpoint: POST /auth-service/api/v2/login/passwordless/exchange-tokens
Body (JSON):
{ "code": "<opaque-exchange-code-from-email>" }
Returns: Both tokens
Use when: The user does not use a password to sign in

3. Sign Up#

Endpoint: POST /auth-service/api/v2/users/signup
Body (JSON):
{
  "email": "[email protected]",
  "full_name": "User Name",
  "password": "password123"
}
Returns: The created user
On first login, you’ll obtain both tokens

4. Refresh Authentication App Access Token#

Endpoint: POST /auth-service/api/v2/users/refresh-access-token
Header: Authorization: Bearer <current_auth_access_token>
Returns: Refreshed Authentication App Access Token and Ejento Access Token

5. Update Own Password#

Endpoint: PATCH /auth-service/api/v2/users/me/password
Header: Authorization: Bearer <current_auth_access_token>
Body (JSON):
{
  "current_password": "old_password",
  "new_password": "new_password123"
}

Typical Flows#

Password-Based Authentication Flow#

1.
Call /auth-service/api/v2/login/access-token
2.
Store both tokens
3.
Use:
Authentication App access token → for Authentication APIs
Ejento access token → for Ejento Platform APIs

Passwordless Authentication Flow#

1.
Call /auth-service/api/v2/login/passwordless/request-token
2.
Retrieve the email code
3.
Call /api/v2/login/passwordless/exchange-tokens with the code
4.
Store both tokens and use as above

Keeping Sessions Fresh#

Before the Authentication App access token expires, call /auth-service/api/v2/users/refresh-access-token to get refreshed tokens (Ejento Access Token and Authentication App Access Token).

Notes#

The email exchange code is single-use and expires in 10 minutes.
It is not a token itself — you must exchange it to receive both tokens.
Never send tokens in URLs.
Always include tokens in the Authorization header when calling APIs.
Previous
Authentication
Next
Initiate Google SSO Login
Built with