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": true, "max_num_results": 10, "ranking_options": { "score_threshold": 0.6 }, "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
streaming
object optional
Returns a stream of results as they are available. Defaults to false
.
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": "docs/llama-logistics.md", "score": 0.98, "attributes": {}, "content": [ { "id": "llama001", "type": "text", "text": "Llamas can carry 3 drinks max." } ] }, { "file_id": "llama042", "filename": "docs/llama-commands.md", "score": 0.95, "attributes": {}, "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.6 },}'
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
{ "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": "docs/llama-logistics.md", "score": 0.98, "attributes": {}, "content": [ { "id": "llama001", "type": "text", "text": "Llamas can carry 3 drinks max." } ] }, { "file_id": "llama042", "filename": "docs/llama-commands.md", "score": 0.95, "attributes": {}, "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