For the complete documentation index, see llms.txt. This page is also available as Markdown.

Others

Others related APIs

List Audit Logs

get
/webapi/v2/audit/logs

Get audit logs with filtering and pagination.

Authorizations
API-KEYstringRequired

Your API key for authentication

Query parameters
createdAtstring · date-timeOptional

Base timestamp (UTC)

beforeRangeinteger · min: 1 · max: 31Optional

Days before created_at (max 31 days)

Default: 31
emailstring · nullableOptional

Agent email filter

apiRequestTypestring · nullableOptional

API request type (rest/graphql)

offsetintegerOptional

Offset for pagination

Default: 0
limitinteger · min: 1 · max: 1000Optional

Limit for pagination

Default: 10
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Responses
200

OK

application/json

Response model for audit log list.

countintegerRequired

Total count

get/webapi/v2/audit/logs
GET /webapi/v2/audit/logs HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
{
  "result": [
    {
      "id": "text",
      "createdAt": "2026-01-01T00:00:00.000Z",
      "agent": {
        "id": "text",
        "email": "text",
        "firstName": "text",
        "lastName": "text"
      },
      "ip": "text",
      "operation": "text",
      "mutation": "text",
      "method": "text",
      "path": "text",
      "variables": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "query": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "body": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  ],
  "count": 1
}

Download Audit Logs

get
/webapi/v2/audit/logs/download

Download all audit logs as CSV file.

Authorizations
API-KEYstringRequired

Your API key for authentication

Query parameters
createdAtstring · date-timeOptional

Base timestamp (UTC)

beforeRangeinteger · min: 1 · max: 31Optional

Days before created_at (max 31 days)

Default: 31
emailstring · nullableOptional

Agent email filter

apiRequestTypestring · nullableOptional

API request type (rest/graphql)

Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Responses
200

OK

No content

get/webapi/v2/audit/logs/download
GET /webapi/v2/audit/logs/download HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*

No content

List LLM Prompts

get
/webapi/v2/llm_prompts

List custom LLM prompts in the project with pagination and ordering.

Authorizations
API-KEYstringRequired

Your API key for authentication

Query parameters
offsetintegerOptional

Offset of the LLM prompts

Default: 0
limitintegerOptional

Limit of the LLM prompts

Default: 100
orderstring · enumOptionalPossible values:
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Responses
200

OK

application/json
llmPromptIdstringRequired

Unique ID of the LLM prompt

namestringRequired

Name of the LLM prompt

descriptionstring · nullableOptional

Description of the LLM prompt

get/webapi/v2/llm_prompts
GET /webapi/v2/llm_prompts HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
[
  {
    "llmPromptId": "text",
    "name": "text",
    "description": "text",
    "messages": [
      {
        "role": "system",
        "content": "text"
      }
    ],
    "dynamicInputs": [
      {
        "name": "text",
        "variableName": "text",
        "isClipToken": false
      }
    ]
  }
]

Create LLM Prompt

post
/webapi/v2/llm_prompts

Create a custom LLM prompt with messages and dynamic input variables.

Authorizations
API-KEYstringRequired

Your API key for authentication

Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body
namestring · nullableRequired

Name of the LLM prompt

descriptionstring · nullableOptional

Description of the LLM prompt

Responses
200

OK

application/json
llmPromptIdstringRequired

Unique ID of the LLM prompt

namestringRequired

Name of the LLM prompt

descriptionstring · nullableOptional

Description of the LLM prompt

post/webapi/v2/llm_prompts
POST /webapi/v2/llm_prompts HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 160

{
  "name": "text",
  "description": "text",
  "messages": [
    {
      "role": "system",
      "content": "text"
    }
  ],
  "dynamicInputs": [
    {
      "name": "text",
      "variableName": "text",
      "isClipToken": false
    }
  ]
}
{
  "llmPromptId": "text",
  "name": "text",
  "description": "text",
  "messages": [
    {
      "role": "system",
      "content": "text"
    }
  ],
  "dynamicInputs": [
    {
      "name": "text",
      "variableName": "text",
      "isClipToken": false
    }
  ]
}

Get LLM Prompt

get
/webapi/v2/llm_prompts/{llm_prompt_id}

Retrieve a single LLM prompt by ID.

Authorizations
API-KEYstringRequired

Your API key for authentication

Path parameters
llm_prompt_idstringRequired
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Responses
200

OK

application/json
llmPromptIdstringRequired

Unique ID of the LLM prompt

namestringRequired

Name of the LLM prompt

descriptionstring · nullableOptional

Description of the LLM prompt

get/webapi/v2/llm_prompts/{llm_prompt_id}
GET /webapi/v2/llm_prompts/{llm_prompt_id} HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
{
  "llmPromptId": "text",
  "name": "text",
  "description": "text",
  "messages": [
    {
      "role": "system",
      "content": "text"
    }
  ],
  "dynamicInputs": [
    {
      "name": "text",
      "variableName": "text",
      "isClipToken": false
    }
  ]
}

Delete LLM Prompt

delete
/webapi/v2/llm_prompts/{llm_prompt_id}

Soft-delete an LLM prompt. Fails if the prompt is currently used by a campaign.

Authorizations
API-KEYstringRequired

Your API key for authentication

Path parameters
llm_prompt_idstringRequired
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Responses
200

OK

No content

delete/webapi/v2/llm_prompts/{llm_prompt_id}
DELETE /webapi/v2/llm_prompts/{llm_prompt_id} HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*

No content

Update LLM Prompt

patch
/webapi/v2/llm_prompts/{llm_prompt_id}

Partially update an LLM prompt. Only provided fields are changed.

Authorizations
API-KEYstringRequired

Your API key for authentication

Path parameters
llm_prompt_idstringRequired
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body
namestring · nullableRequired

Name of the LLM prompt

descriptionstring · nullableOptional

Description of the LLM prompt

Responses
200

OK

application/json
llmPromptIdstringRequired

Unique ID of the LLM prompt

namestringRequired

Name of the LLM prompt

descriptionstring · nullableOptional

Description of the LLM prompt

patch/webapi/v2/llm_prompts/{llm_prompt_id}
PATCH /webapi/v2/llm_prompts/{llm_prompt_id} HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 160

{
  "name": "text",
  "description": "text",
  "messages": [
    {
      "role": "system",
      "content": "text"
    }
  ],
  "dynamicInputs": [
    {
      "name": "text",
      "variableName": "text",
      "isClipToken": false
    }
  ]
}
{
  "llmPromptId": "text",
  "name": "text",
  "description": "text",
  "messages": [
    {
      "role": "system",
      "content": "text"
    }
  ],
  "dynamicInputs": [
    {
      "name": "text",
      "variableName": "text",
      "isClipToken": false
    }
  ]
}

Trigger Directory Integration

post
/webapi/v2/directory_integration/trigger

Trigger directory integration for the specified path or folder.

Authorizations
API-KEYstringRequired

Your API key for authentication

Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body

Request entity for triggering directory integration.

directory_pathstring · nullableOptional

Path to directory to integrate

folder_idstring · nullableOptional

ID of folder to sync

Responses
200

OK

application/json

Response entity for directory integration trigger.

successbooleanRequired

Whether the integration was successfully triggered

messagestringRequired

Response message

task_idstring · nullableOptional

Task ID for tracking the operation

post/webapi/v2/directory_integration/trigger
POST /webapi/v2/directory_integration/trigger HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 44

{
  "directory_path": "text",
  "folder_id": "text"
}
{
  "success": true,
  "message": "text",
  "task_id": "text"
}

Get App Call Statistics

get
/webapi/v2/analytics/app_statistic_history

Get LLM app call history statistics by period.

Authorizations
API-KEYstringRequired

Your API key for authentication

Query parameters
startDatestringRequired

Start date in YYYY-MM-DD format

endDatestringRequired

End date in YYYY-MM-DD format

metricNamestring · enumOptionalPossible values:
llmAppIdstring · nullableOptional

LLM app ID

llmAppCategorystring · nullableOptional

LLM app category

Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Responses
200

OK

application/json

Response model for usage history statistics.

get/webapi/v2/analytics/app_statistic_history
GET /webapi/v2/analytics/app_statistic_history?startDate=text&endDate=text HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
{
  "result": [
    {
      "date": "text",
      "count": 1
    }
  ]
}

Get LLM Call Statistics

get
/webapi/v2/analytics/llm_statistic_history

Get LLM call history statistics by period.

Authorizations
API-KEYstringRequired

Your API key for authentication

Query parameters
startDatestringRequired

Start date in YYYY-MM-DD format

endDatestringRequired

End date in YYYY-MM-DD format

metricNamestring · enumOptionalPossible values:
llmModelstring · nullableOptional

LLM model

Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Responses
200

OK

application/json

Response model for usage history statistics.

get/webapi/v2/analytics/llm_statistic_history
GET /webapi/v2/analytics/llm_statistic_history?startDate=text&endDate=text HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
{
  "result": [
    {
      "date": "text",
      "count": 1
    }
  ]
}

Get Media Content

post
/webapi/v2/multimodal/media-content

Retrieve the content of a stored media item as a base64-encoded string. The media_id corresponds to the ID returned by the upload_media endpoint. Returns null content if the media is not found for the authenticated project. Requires API-KEY header for authentication.

Authorizations
API-KEYstringRequired

Your API key for authentication

Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body

Request body for retrieving media content.

media_idstringRequired

The ID of the media to retrieve content for.

media_typestring · enumOptional

The type of media to retrieve.

Default: imagePossible values:
Responses
200

OK

application/json

Response containing base64-encoded media content.

contentstring · nullableRequired

Base64-encoded media content, or null if the media was not found.

post/webapi/v2/multimodal/media-content
POST /webapi/v2/multimodal/media-content HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 40

{
  "media_id": "text",
  "media_type": "image"
}
{
  "content": "text"
}

Generate File

post
/webapi/v2/multimodal/generate-file

Convert markdown content into a downloadable document (PDF, DOCX, PPTX, or XLSX). Returns the file name and download URL on success, or error details on failure. Requires API-KEY header for authentication.

Authorizations
API-KEYstringRequired

Your API key for authentication

Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body

Request body for generating a downloadable file.

userIdstringRequired

ID of the user requesting file generation.

titlestringRequired

Title of the generated document.

fileFormatstring · enumRequired

Output file format.

Possible values:
markdownTextstringRequired

Markdown content to convert into the document.

Responses
200

OK

application/json

Response containing the generated file location or error details.

fileNamestring · nullableOptional

Name of the generated file.

fileUrlstring · nullableOptional

Download URL of the generated file.

errorstring · nullableOptional

Error code, present only on failure.

errorMessagestring · nullableOptional

Human-readable error description.

post/webapi/v2/multimodal/generate-file
POST /webapi/v2/multimodal/generate-file HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 73

{
  "userId": "text",
  "title": "text",
  "fileFormat": "pdf",
  "markdownText": "text"
}
{
  "fileName": "text",
  "fileUrl": "text",
  "error": "text",
  "errorMessage": "text"
}

Get Synonyms

post
/webapi/v2/synonyms/

Return synonym targets and their synonyms for the given questions in the project.

Authorizations
API-KEYstringRequired

Your API key for authentication

Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body
questionsstring[]Required
Responses
200

OK

application/json
post/webapi/v2/synonyms/
POST /webapi/v2/synonyms/ HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 22

{
  "questions": [
    "text"
  ]
}
{
  "synonyms": {
    "ANY_ADDITIONAL_PROPERTY": [
      "text"
    ]
  }
}

Get Project

get
/webapi/v2/projects

Return the project identified by the API-KEY.

Ralli uses this to get project info (id, name, cognitiveSearchApiKey) after login.

Authorizations
API-KEYstringRequired

Your API key for authentication

Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Responses
200

OK

application/json
itemsanyOptional
get/webapi/v2/projects
GET /webapi/v2/projects HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
[]

Get Credit Balance

get
/webapi/v2/credits/balance

Return the project's credit balance summary.

Trial info and monthly cap info are always project-cumulative. When both startDate and endDate are supplied, totalCreditUsage is the sum consumed within that range and byCategory provides the per-category breakdown for the same range. Without dates, totalCreditUsage is the project lifetime cumulative usage.

Authorizations
API-KEYstringRequired

Your API key for authentication

Query parameters
startDatestring · nullableOptional

Start date (UTC, inclusive) in YYYY-MM-DD. Required together with endDate.

Example: 2025-04-01Pattern: ^\d{4}-\d{2}-\d{2}$
endDatestring · nullableOptional

End date (UTC, inclusive) in YYYY-MM-DD. Required together with startDate.

Example: 2025-04-30Pattern: ^\d{4}-\d{2}-\d{2}$
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Responses
200

OK

application/json

Response body for GET /webapi/v2/credits/balance.

totalCreditUsagenumberRequired

Cumulative credit consumed by the project across all time.

Example: 1234.5
get/webapi/v2/credits/balance
GET /webapi/v2/credits/balance HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
{
  "totalCreditUsage": 1234.5,
  "trial": {
    "maxCredit": 10000,
    "remainingCredit": 8765.5
  },
  "cap": {
    "enabled": true,
    "limit": 10000,
    "currentMonthUsage": 432.1,
    "remainingCredit": 9567.9,
    "exceeded": false
  },
  "byCategory": {
    "api_integration": 12.5,
    "generative_answer": 50
  }
}

Summary Analytics

get
/webapi/summary_analytics

Provides various summarized analytics information for your project.

Authorizations
API-KEYstringRequired

Your API key for authentication

Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body
startDatestringOptional

Start of range of dates to query in YYYY-MM-DD format.

endDatestringOptional

End of range of dates to query in YYYY-MM-DD format.

Responses
200

Successfully retrieved analytics data

application/json
errorsobject · nullableOptional
get/webapi/summary_analytics
GET /webapi/summary_analytics HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 37

{
  "startDate": "text",
  "endDate": "text"
}
{
  "result": {
    "conversations": 1,
    "conversationsUpDown": 1,
    "participants": 1,
    "participantsUpDown": 1,
    "uniqueParticipants": 1,
    "uniqueParticipantsUpDown": 1,
    "queries": 1,
    "queriesUpDown": 1,
    "queriedUsers": 1,
    "queriedUsersUpDown": 1,
    "uniqueQueriedUsers": 1,
    "uniqueQueriedUsersUpDown": 1,
    "instantResolution": 1,
    "instantResolutionUpDown": 1,
    "aiResponseRate": 1,
    "aiResponseRateUpDown": 1,
    "uniqueVisitors": 1,
    "uniqueVisitorsUpDown": 1,
    "totalFaqs": 1,
    "totalFaqsUpDown": 1,
    "totalDocuments": 1,
    "totalDocumentsUpDown": 1,
    "feedbacksUpDown": 1
  },
  "errors": {}
}

Last updated