# Using the REST API

You can retrieve information about your Roboflow projects and datasets using the REST API.

* `/` - the [Root route](broken://pages/A9XOfyChHp7HDBNPkJkU) can be used to validate your API Key and find your workspace ID.
* `/:workspace` - the [Workspace route](broken://pages/ybbIYeqPQWw1uLRnKWbJ) gives you information about your workspace and a list of its projects.
* `/:workspace/:project` - the Project route shows information about a project and its versions.
* `/:workspace/:project/:version` - the Version route surfaces information about a version, its trained model (if present), and exported datasets.
* `/:workspace/:project/:version/:format` - the Format route is where you go to retrieve a download link for a zipped dataset in a particular [export format](https://roboflow.com/formats).

### Routes

The data structure in Roboflow is largely hierarchical; the API layout matches this. [Workspaces](broken://pages/ybbIYeqPQWw1uLRnKWbJ) contain Projects which contain Versions which have trained models and are exported in various Formats.

### Root Endpoint

At the top level (`https://api.roboflow.com/`), you can verify your `api_key` is working. The response will tell you which `workspace` owns the key.

Example for the `roboflow` workspace:

```bash
$ curl "https://api.roboflow.com/?api_key=$ROBOFLOW_API_KEY"
{
    "welcome": "Welcome to the Roboflow API.",
    "instructions": "You are successfully authenticated.",
    "docs": "https://docs.roboflow.com",
    "workspace": "roboflow"
}
```

You can drill down into this workspace with its [Workspace endpoint](broken://pages/ybbIYeqPQWw1uLRnKWbJ) to access information about your projects.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roboflow.com/developer/rest-api/using-the-rest-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
