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_thresholdnumber optional- The minimum match score required for a result to be considered a match. Defaults to 
0. Must be between0and1. 
- 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_thresholdnumber optional- The minimum match score required for a result to be considered a match. Defaults to 
0. Must be between0and1. 
- 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