Welcome to the Thena entity search API! This API provides powerful, flexible search capabilities across your core business data—tickets, accounts, and comments—using a unified, Typesense-powered interface.
You can search the following collections:
Name | Type | Required | Description |
---|---|---|---|
q | string | Yes | The search query string. Use * for a wildcard search. |
query_by | string | Yes | Comma-separated list of fields to search in (e.g. title,description ). |
per_page | string | No | Number of results per page. Default: 20. |
page | string | No | Page number for pagination. |
include_fields | string | No | Comma-separated list of fields to include in the response. |
filter_by | string | No | Filter expression using Typesense syntax (e.g. priorityName:=medium&&statusName:=resolved ). |
sort_by | string | No | Sort expression (e.g. createdAt:desc ). |
streaming | bool | No | If true , enables streaming of paginated results. |
Tip: You can use any Typesense search parameter for advanced use cases, including faceting, typo tolerance, and more.
Thena’s search API supports streaming large result sets for improved performance and responsiveness. To enable streaming, add the streaming=true
query parameter to your request.
streaming=true
is set, the API will stream each page of results as a separate JSON object. Each chunk is a full page of results, using the same structure as a normal (non-streaming) response.per_page
parameter cannot exceed 250. If a higher value is provided, it will be capped at 250.{ "done": true }
.{ "error": "..." }
will be sent, and the stream will close.Note: Each chunk is a full page of results in the same format as a normal search response. Process each chunk as it arrives for best performance.
{ "done": true }
chunk to know when the stream is complete.error
property.Ready to get started? Explore the detailed API reference for entity search to see available fields, example queries, and sample responses!
Follow these tips to get the most out of the Thena entity search API:
Do:
include_fields
parameter to limit results to only the fields you need—this improves performance and reduces payload size.query_by
fields relevant to your use case for more accurate results.filter_by
using &&
for precise targeting (e.g. status:=open&&priority:=high
).per_page
and page
) for large result sets to avoid timeouts and improve user experience.Don’t:
*
as your query unless you really want all results—prefer a more specific search string when possible.include_fields
for large collections.include_fields
or query logic.The following features are coming soon: