> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.twelvelabs.io/v1.3/api-reference/indexes/retrieve/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.twelvelabs.io/_mcp/server. # Retrieve an index GET https://api.twelvelabs.io/v1.3/indexes/{index-id} This method retrieves details about the specified index. Reference: https://docs.twelvelabs.io/api-reference/indexes/retrieve ## Authentication - `x-api-key` header (required) — Your API key. You can find your API key on the API Keys page. ## Request ### Path parameters - `index-id` (string, required) — Unique identifier of the index to retrieve. ## Response ### 200 The specified index has successfully been retrieved. - `_id` (string, optional) — A string representing the unique identifier of the index. It is assigned by the platform when an index is created. - `created_at` (string, optional) — A string representing the date and time, in the RFC 3339 format ("YYYY-MM-DDTHH:mm:ssZ"), that the index was created. - `updated_at` (string, optional) — A string representing the date and time, in the RFC 3339 format ("YYYY-MM-DDTHH:mm:ssZ"), that the index has been updated. - `expires_at` (string, optional) — A string representing the date and time, in the RFC 3339 format ("YYYY-MM-DDTHH:mm:ssZ"), when your index will expire. If you're on the Free plan, the platform retains your index data for 90 days from creation. After this period, the platform deletes your index data, and this action cannot be undone. To continue using your index beyond this period, consider upgrading to the Developer plan, which offers unlimited index retention. For details, see the [Upgrade to the Developer plan](/v1.3/docs/get-started/manage-your-plan#upgrade-to-the-developer-plan) section. If you're on the Developer plan, this field is set to `null`, indicating no expiration. - `index_name` (string, optional) — A string representing the name of the index. - `total_duration` (double, optional) — A number representing the total duration, in seconds, of the videos in the index. - `video_count` (double, optional) — The number of videos uploaded to this index. - `models` (list of IndexModelsItems, optional) — An array containing the list of the [video understanding models](/v1.3/docs/concepts/models) enabled for this index. - `addons` (list of string, optional) — The list of the add-ons that are enabled for this index. ## Errors ### 400 Bad Request Error The request has failed. - `code` (string, optional) — A string representing the code associated with the error. See the [Error codes](/v1.3/api-reference/error-codes) page for details. - `message` (string, optional) — A human-readable string describing the error, intended to be suitable for display in a user interface. ## Types ### IndexModelsItems - `model_name` (string, optional) — A string representing the name of the model. - `model_options` (list of string, optional) — An array of strings that contains the [model options](/v1.3/docs/concepts/modalities#model-options) enabled for this index. ## Examples **Response** ```json { "_id": "62d9bafa90077fc60af827a0", "created_at": "2024-01-09T11:11:20.463Z", "updated_at": "2024-01-09T11:17:15.296Z", "expires_at": "2024-04-08T11:11:20.463Z", "index_name": "myIndex", "total_duration": 8716.8969, "video_count": 12, "models": [ { "model_name": "marengo3.0", "model_options": [ "visual", "audio" ], "addons": [ "thumbnail" ] } ] } ``` **SDK Code** ```python indexes_retrieve_example import requests url = "https://api.twelvelabs.io/v1.3/indexes/6298d673f1090f1100476d4c" headers = {"x-api-key": ""} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript indexes_retrieve_example const url = 'https://api.twelvelabs.io/v1.3/indexes/6298d673f1090f1100476d4c'; const options = {method: 'GET', headers: {'x-api-key': ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go indexes_retrieve_example package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.twelvelabs.io/v1.3/indexes/6298d673f1090f1100476d4c" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("x-api-key", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby indexes_retrieve_example require 'uri' require 'net/http' url = URI("https://api.twelvelabs.io/v1.3/indexes/6298d673f1090f1100476d4c") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["x-api-key"] = '' response = http.request(request) puts response.read_body ``` ```java indexes_retrieve_example import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.twelvelabs.io/v1.3/indexes/6298d673f1090f1100476d4c") .header("x-api-key", "") .asString(); ``` ```php indexes_retrieve_example request('GET', 'https://api.twelvelabs.io/v1.3/indexes/6298d673f1090f1100476d4c', [ 'headers' => [ 'x-api-key' => '', ], ]); echo $response->getBody(); ``` ```csharp indexes_retrieve_example using RestSharp; var client = new RestClient("https://api.twelvelabs.io/v1.3/indexes/6298d673f1090f1100476d4c"); var request = new RestRequest(Method.GET); request.AddHeader("x-api-key", ""); IRestResponse response = client.Execute(request); ``` ```swift indexes_retrieve_example import Foundation let headers = ["x-api-key": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.twelvelabs.io/v1.3/indexes/6298d673f1090f1100476d4c")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```