REST API
This guide will instruct you through how to use the AutoRAG REST API to make a query to your AutoRAG.
You need an API token with the AutoRAG - Read
and AutoRAG Edit
permissions to use the REST API. To create a new token:
- Log in to the Cloudflare dashboard ↗ and select your account.
- Go to AI > AutoRAG and select your AutoRAG.
- Select Use AutoRAG then select API.
- Select Create an API Token.
- Review the prefilled information then select Create API Token.
- Select Copy API Token and save that value for future use.
This REST API searches for relevant results from your data source and generates a response using the model and the retrieved relevant context:
curl https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/autorag/rags/{AUTORAG_NAME}/ai-search \-H 'Content-Type: application/json' \-H "Authorization: Bearer {API_TOKEN}" \-d '{ "query": "How do I train a llama to deliver coffee?", "model": @cf/meta/llama-3.3-70b-instruct-sd, "rewrite_query": false, "max_num_results": 10, "ranking_options": { "score_threshold": 0.3 }, "stream": true,}'
query
string required
The input query.
model
string optional
The text-generation model that is used to generate the response for the query. For a list of valid options, check the AutoRAG Generation model Settings. Defaults to the generation model selected in the AutoRAG Settings.
rewrite_query
boolean optional
Rewrites the original query into a search optimized query to improve retrieval accuracy. Defaults to false
.
max_num_results
number optional
The maximum number of results that can be returned from the Vectorize database. Defaults to 10
. Must be between 1
and 50
.
ranking_options
object optional
Configurations for customizing result ranking. Defaults to {}
.
score_threshold
number optional- The minimum match score required for a result to be considered a match. Defaults to
0
. Must be between0
and1
.
- The minimum match score required for a result to be considered a match. Defaults to
stream
boolean optional
Returns a stream of results as they are available. Defaults to false
.
filters
object optional
Narrow down search results based on metadata, like folder and date, so only relevant content is retrieved. For more details, refer to Metadata filtering.
This is the response structure without stream
enabled.
{ "success": true, "result": { "object": "vector_store.search_results.page", "search_query": "How do I train a llama to deliver coffee?", "response": "To train a llama to deliver coffee:\n\n1. **Build trust** — Llamas appreciate patience (and decaf).\n2. **Know limits** — Max 3 cups per llama, per `llama-logistics.md`.\n3. **Use voice commands** — Start with \"Espresso Express!\"\n4.", "data": [ { "file_id": "llama001", "filename": "llama/logistics/llama-logistics.md", "score": 0.45, "attributes": { "modified_date": 1735689600000, // unix timestamp for 2025-01-01 "folder": "llama/logistics/", }, "content": [ { "id": "llama001", "type": "text", "text": "Llamas can carry 3 drinks max." } ] }, { "file_id": "llama042", "filename": "llama/llama-commands.md", "score": 0.4, "attributes": { "modified_date": 1735689600000, // unix timestamp for 2025-01-01 "folder": "llama/", }, "content": [ { "id": "llama042", "type": "text", "text": "Start with basic commands like 'Espresso Express!' Llamas love alliteration." } ] }, ], "has_more": false, "next_page": null }}
This REST API searches for results from your data source and returns the relevant results:
curl https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/autorag/rags/{AUTORAG_NAME}/search \-H 'Content-Type: application/json' \-H "Authorization: Bearer {API_TOKEN}" \-d '{ "query": "How do I train a llama to deliver coffee?", "rewrite_query": true, "max_num_results": 10, "ranking_options": { "score_threshold": 0.3 },}'
query
string required
The input query.
rewrite_query
boolean optional
Rewrites the original query into a search optimized query to improve retrieval accuracy. Defaults to false
.
max_num_results
number optional
The maximum number of results that can be returned from the Vectorize database. Defaults to 10
. Must be between 1
and 50
.
ranking_options
object optional
Configurations for customizing result ranking. Defaults to {}
.
score_threshold
number optional- The minimum match score required for a result to be considered a match. Defaults to
0
. Must be between0
and1
.
- The minimum match score required for a result to be considered a match. Defaults to
filters
object optional
Narrow down search results based on metadata, like folder and date, so only relevant content is retrieved. For more details, refer to Metadata filtering.
{ "success": true, "result": { "object": "vector_store.search_results.page", "search_query": "How do I train a llama to deliver coffee?", "data": [ { "file_id": "llama001", "filename": "llama/logistics/llama-logistics.md", "score": 0.45, "attributes": { "modified_date": 1735689600000, // unix timestamp for 2025-01-01 "folder": "llama/logistics/", }, "content": [ { "id": "llama001", "type": "text", "text": "Llamas can carry 3 drinks max." } ] }, { "file_id": "llama042", "filename": "llama/llama-commands.md", "score": 0.4, "attributes": { "modified_date": 1735689600000, // unix timestamp for 2025-01-01 "folder": "llama/", }, "content": [ { "id": "llama042", "type": "text", "text": "Start with basic commands like 'Espresso Express!' Llamas love alliteration." } ] }, ], "has_more": false, "next_page": null }}
Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark