> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/reference/platform/rest-api/platform-api-openapi.md).

# Platform API OpenAPI

Browse and test the HTTP API for Roboflow Platform resources.

Use the Platform API at `https://api.roboflow.com` to manage workspaces, projects, datasets, training, Workflows, and related resources.

Authenticate with a Roboflow API key in the `Authorization: Bearer` header or the `api_key` query parameter. See [Authenticate with the REST API](/reference/platform/rest-api/authenticate-with-the-rest-api.md).

{% hint style="info" %}
This is an initial reference for public Platform API operations documented on this site. Some request and response objects remain open because the Platform API does not yet publish complete machine-readable schemas.
{% endhint %}

For model and Workflow execution endpoints, see the [Inference Server OpenAPI](/reference/inference/inference-server-openapi.md).

You can also [download the source OpenAPI document](https://openapi.gitbook.com/o/-MABnPmH89-NX2aB8mq4/spec/platform-api.yaml).

## Workspaces and projects

## Verify credentials and get the authenticated workspace

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workspaces and projects","description":"Find workspaces, projects, versions, and trained models."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/":{"get":{"tags":["Workspaces and projects"],"operationId":"getAuthenticatedWorkspace","summary":"Verify credentials and get the authenticated workspace","description":"This operation is part of the public Roboflow Platform API.","parameters":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a workspace and its projects

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workspaces and projects","description":"Find workspaces, projects, versions, and trained models."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}":{"get":{"tags":["Workspaces and projects"],"operationId":"getWorkspace","summary":"Get a workspace and its projects","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Create a project

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workspaces and projects","description":"Find workspaces, projects, versions, and trained models."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/projects":{"post":{"tags":["Workspaces and projects"],"operationId":"createProject","summary":"Create a project","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Fork a Universe project

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workspaces and projects","description":"Find workspaces, projects, versions, and trained models."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/projects/fork":{"post":{"tags":["Workspaces and projects"],"operationId":"forkUniverseProject","summary":"Fork a Universe project","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"202":{"description":"Accepted for asynchronous processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a project and its versions

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workspaces and projects","description":"Find workspaces, projects, versions, and trained models."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}":{"get":{"tags":["Workspaces and projects"],"operationId":"getProject","summary":"Get a project and its versions","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Move a project to Trash

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workspaces and projects","description":"Find workspaces, projects, versions, and trained models."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}":{"delete":{"tags":["Workspaces and projects"],"operationId":"deleteProject","summary":"Move a project to Trash","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get dataset health metrics

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workspaces and projects","description":"Find workspaces, projects, versions, and trained models."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/health":{"get":{"tags":["Workspaces and projects"],"operationId":"getDatasetHealth","summary":"Get dataset health metrics","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## List models for a project

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workspaces and projects","description":"Find workspaces, projects, versions, and trained models."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/models":{"get":{"tags":["Workspaces and projects"],"operationId":"listProjectModels","summary":"List models for a project","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a dataset version

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workspaces and projects","description":"Find workspaces, projects, versions, and trained models."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}":{"get":{"tags":["Workspaces and projects"],"operationId":"getDatasetVersion","summary":"Get a dataset version","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Move a dataset version to Trash

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workspaces and projects","description":"Find workspaces, projects, versions, and trained models."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}":{"delete":{"tags":["Workspaces and projects"],"operationId":"deleteDatasetVersion","summary":"Move a dataset version to Trash","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## API keys

## List workspace API keys

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"API keys","description":"Create and manage workspace API keys."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/api-keys":{"get":{"tags":["API keys"],"operationId":"listApiKeys","summary":"List workspace API keys","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Create a workspace API key

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"API keys","description":"Create and manage workspace API keys."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/api-keys":{"post":{"tags":["API keys"],"operationId":"createApiKey","summary":"Create a workspace API key","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get the workspace publishable API key

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"API keys","description":"Create and manage workspace API keys."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/api-keys/publishable":{"get":{"tags":["API keys"],"operationId":"getPublishableApiKey","summary":"Get the workspace publishable API key","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get an API key

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"API keys","description":"Create and manage workspace API keys."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/api-keys/{keyId}":{"get":{"tags":["API keys"],"operationId":"getApiKey","summary":"Get an API key","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"keyId","in":"path","required":true,"description":"API key ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Update an API key

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"API keys","description":"Create and manage workspace API keys."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/api-keys/{keyId}":{"patch":{"tags":["API keys"],"operationId":"updateApiKey","summary":"Update an API key","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"keyId","in":"path","required":true,"description":"API key ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Revoke an API key

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"API keys","description":"Create and manage workspace API keys."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/api-keys/{keyId}":{"delete":{"tags":["API keys"],"operationId":"revokeApiKey","summary":"Revoke an API key","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"keyId","in":"path","required":true,"description":"API key ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Project folders

## List project folders

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Project folders","description":"Organize projects into workspace folders."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/groups":{"get":{"tags":["Project folders"],"operationId":"listProjectFolders","summary":"List project folders","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Create a project folder

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Project folders","description":"Organize projects into workspace folders."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/groups":{"post":{"tags":["Project folders"],"operationId":"createProjectFolder","summary":"Create a project folder","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Update a project folder

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Project folders","description":"Organize projects into workspace folders."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/groups/{folderId}":{"post":{"tags":["Project folders"],"operationId":"updateProjectFolder","summary":"Update a project folder","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"folderId","in":"path","required":true,"description":"Project folder ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Delete a project folder

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Project folders","description":"Organize projects into workspace folders."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}}},"paths":{"/{workspace}/groups/{folderId}":{"delete":{"tags":["Project folders"],"operationId":"deleteProjectFolder","summary":"Delete a project folder","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"folderId","in":"path","required":true,"description":"Project folder ID.","schema":{"type":"string"}}],"responses":{"204":{"description":"Completed with no response body."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Add or remove projects in a folder

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Project folders","description":"Organize projects into workspace folders."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/groups/{folderId}/projects":{"patch":{"tags":["Project folders"],"operationId":"updateProjectsInFolder","summary":"Add or remove projects in a folder","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"folderId","in":"path","required":true,"description":"Project folder ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"204":{"description":"Completed with no response body."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Remove projects from a folder

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Project folders","description":"Organize projects into workspace folders."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/groups/{folderId}/projects":{"delete":{"tags":["Project folders"],"operationId":"removeProjectsFromFolder","summary":"Remove projects from a folder","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"folderId","in":"path","required":true,"description":"Project folder ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"204":{"description":"Completed with no response body."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Dataset versions and training

## Generate a dataset version

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/generate":{"post":{"tags":["Dataset versions and training"],"operationId":"generateDatasetVersion","summary":"Generate a dataset version","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"202":{"description":"Accepted for asynchronous processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Rebalance train, validation, and test splits

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/splits/rebalance":{"post":{"tags":["Dataset versions and training"],"operationId":"rebalanceDatasetSplits","summary":"Rebalance train, validation, and test splits","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"202":{"description":"Accepted for asynchronous processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Export a dataset version

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/{format}":{"get":{"tags":["Dataset versions and training"],"operationId":"exportDatasetVersion","summary":"Export a dataset version","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}},{"name":"format","in":"path","required":true,"description":"Dataset export format.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Start a training job

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/train":{"post":{"tags":["Dataset versions and training"],"operationId":"startTraining","summary":"Start a training job","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"202":{"description":"Accepted for asynchronous processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Cancel a queued training job

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/train/cancel":{"post":{"tags":["Dataset versions and training"],"operationId":"cancelTraining","summary":"Cancel a queued training job","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Stop an active training job

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/train/stop":{"post":{"tags":["Dataset versions and training"],"operationId":"stopTraining","summary":"Stop an active training job","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get training results

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/training/results":{"get":{"tags":["Dataset versions and training"],"operationId":"getTrainingResults","summary":"Get training results","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## List training runs

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/v2/trainings":{"get":{"tags":["Dataset versions and training"],"operationId":"listTrainings","summary":"List training runs","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Create a training run

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/v2/trainings":{"post":{"tags":["Dataset versions and training"],"operationId":"createTraining","summary":"Create a training run","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"202":{"description":"Accepted for asynchronous processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a training run

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/v2/trainings/get":{"get":{"tags":["Dataset versions and training"],"operationId":"getTraining","summary":"Get a training run","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get the accepted training recipe

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/v2/trainings/recipe":{"get":{"tags":["Dataset versions and training"],"operationId":"getTrainingRecipe","summary":"Get the accepted training recipe","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Cancel a queued training run

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/v2/trainings/cancel":{"post":{"tags":["Dataset versions and training"],"operationId":"cancelTrainingV2","summary":"Cancel a queued training run","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Stop an active training run

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/v2/trainings/stop":{"post":{"tags":["Dataset versions and training"],"operationId":"stopTrainingV2","summary":"Stop an active training run","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Move a training run to Trash

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Dataset versions and training","description":"Generate dataset versions, export data, and manage training runs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/{version}/v2/trainings/{trainingId}":{"delete":{"tags":["Dataset versions and training"],"operationId":"deleteTraining","summary":"Move a training run to Trash","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"version","in":"path","required":true,"description":"Dataset version number.","schema":{"type":"integer","minimum":1}},{"name":"trainingId","in":"path","required":true,"description":"Training run ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Images and batches

## Upload an image

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"BadGateway":{"description":"A host Roboflow had to call failed. The response sets \"retryable\": true.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/dataset/{project}/upload":{"post":{"tags":["Images and batches"],"operationId":"uploadImage","summary":"Upload an image","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/OpenObject"}},"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"502":{"$ref":"#/components/responses/BadGateway"}}}}}}
```

## Upload an annotation

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/dataset/{project}/annotate/{imageId}":{"post":{"tags":["Images and batches"],"operationId":"uploadAnnotation","summary":"Upload an annotation","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"imageId","in":"path","required":true,"description":"Image ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get image details

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/images/{imageId}":{"get":{"tags":["Images and batches"],"operationId":"getImage","summary":"Get image details","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"imageId","in":"path","required":true,"description":"Image ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Delete images from a project

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/images":{"delete":{"tags":["Images and batches"],"operationId":"deleteImages","summary":"Delete images from a project","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"204":{"description":"Completed with no response body."},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Add or remove image tags

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/images/{imageId}/tags":{"post":{"tags":["Images and batches"],"operationId":"updateImageTags","summary":"Add or remove image tags","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"imageId","in":"path","required":true,"description":"Image ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Update metadata and tags for one image

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/images/{imageId}/metadata":{"post":{"tags":["Images and batches"],"operationId":"updateImageMetadata","summary":"Update metadata and tags for one image","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"imageId","in":"path","required":true,"description":"Image ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Update metadata and tags for multiple images

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/images/metadata":{"post":{"tags":["Images and batches"],"operationId":"bulkUpdateImageMetadata","summary":"Update metadata and tags for multiple images","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"202":{"description":"Accepted for asynchronous processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Add Asset Library images to a project

> Adds images or videos that are already in the Asset Library to a Project. Requires the image:create scope. API keys scoped to project folders cannot use it. The add runs as an async task.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}}},"paths":{"/{workspace}/{project}/add-images":{"post":{"tags":["Images and batches"],"operationId":"addAssetLibraryImagesToProject","summary":"Add Asset Library images to a project","description":"Adds images or videos that are already in the Asset Library to a Project. Requires the image:create scope. API keys scoped to project folders cannot use it. The add runs as an async task.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Select images by ID or by search query.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"description":"Send exactly one of imageIds or query.","properties":{"imageIds":{"type":"array","minItems":1,"maxItems":500,"items":{"type":"string","minLength":1},"description":"IDs of the Asset Library images or videos to add."},"query":{"type":"string","minLength":1,"maxLength":2000,"description":"Asset Library search query. Every match is added. It must not be blank."},"mediaTypes":{"type":"array","minItems":1,"items":{"type":"string","enum":["image","video"]},"description":"Media types the query matches. Requires query. Defaults to video for video-only Projects (ex: Action Recognition) and to image for all other Projects."},"sourceProjectId":{"type":"string","minLength":1,"description":"Project URL slug or ID. Requires query. Limits the query to images in that Project's dataset. Images that are only in its unassigned or annotating batches do not match. To match every image in a Project, put project:<slug> in query instead."},"copyAnnotationsFromProjectId":{"type":"string","minLength":1,"description":"Project URL slug or ID to copy annotations from."}}}}}},"responses":{"202":{"description":"Accepted for asynchronous processing.","content":{"application/json":{"schema":{"type":"object","required":["taskId","projectId","selectionMode","url"],"properties":{"taskId":{"type":"string","description":"Async task ID."},"projectId":{"type":"string","description":"ID of the target Project."},"projectName":{"type":"string","description":"Name of the target Project."},"projectUrl":{"type":"string","description":"URL slug of the target Project."},"selectionMode":{"type":"string","enum":["imageIds","query"],"description":"How the images were selected."},"imageCount":{"type":"integer","description":"Number of images requested. Present when you send imageIds."},"url":{"type":"string","format":"uri","description":"URL to poll for the task status. When the task completes, result has imagesLinked, imagesSkipped, and annotationsCopied."}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"description":"The workspace does not have enough credits.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"423":{"description":"The Project's folder is paused.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## List image batches

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/batches":{"get":{"tags":["Images and batches"],"operationId":"listImageBatches","summary":"List image batches","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get an image batch

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/batches/{batchId}":{"get":{"tags":["Images and batches"],"operationId":"getImageBatch","summary":"Get an image batch","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"batchId","in":"path","required":true,"description":"Image batch ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Start a dataset ZIP upload

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/upload/zip":{"post":{"tags":["Images and batches"],"operationId":"startDatasetZipUpload","summary":"Start a dataset ZIP upload","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"202":{"description":"Accepted for asynchronous processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get dataset ZIP upload status

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/upload/zip/{taskId}":{"get":{"tags":["Images and batches"],"operationId":"getDatasetZipUpload","summary":"Get dataset ZIP upload status","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"taskId","in":"path","required":true,"description":"Asynchronous task ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Prepare a video upload

> Creates a pending video and returns a signed URL for its file. The video joins the workspace, and the project when you set one, after you PUT the file to signedUrl and Roboflow processes it.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"VideoUploadRequest":{"type":"object","additionalProperties":false,"required":["name","contentType"],"properties":{"name":{"type":"string","minLength":1,"maxLength":1024,"description":"File name of the video."},"contentType":{"type":"string","enum":["video/mp4","video/quicktime"],"description":"MIME type of the video file."},"project":{"type":"string","description":"Project URL slug. Omit it to add the video to the workspace only. API keys scoped to project folders must set it."},"batch":{"type":"string","minLength":1,"maxLength":1024,"description":"Batch name. Requires project. Without it, the video gets a batch of its own."},"tag":{"oneOf":[{"type":"string","minLength":1},{"type":"array","items":{"type":"string","minLength":1}}],"description":"One tag or a list of tags to add to the video."},"metadata":{"type":"object","additionalProperties":true,"description":"Key-value metadata to attach to the video. Keys follow the same rules as image metadata."},"split":{"type":"string","enum":["train","valid","test"],"description":"Split the video goes to when you generate a version. Requires project. Defaults to train when you set project. The aliases val and validation map to valid."}}},"PreparedVideoUpload":{"type":"object","required":["videoId","signedUrl","requiredHeaders"],"properties":{"videoId":{"type":"string","description":"ID of the new video. Use it to read the upload status."},"signedUrl":{"type":"string","format":"uri","description":"URL to PUT the video file to. It expires after 60 minutes."},"requiredHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"Headers to send, as given, with the PUT request."}}},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/upload/video":{"post":{"tags":["Images and batches"],"operationId":"prepareVideoUpload","summary":"Prepare a video upload","description":"Creates a pending video and returns a signed URL for its file. The video joins the workspace, and the project when you set one, after you PUT the file to signedUrl and Roboflow processes it.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The video file details and optional upload options.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoUploadRequest"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedVideoUpload"}}}},"400":{"description":"A field is invalid, or batch or split is set without project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The project is missing or the API key cannot reach it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get video upload status

> Reads the processing status of a video upload.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Images and batches","description":"Upload, inspect, update, and organize dataset images."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"VideoUploadStatus":{"type":"object","required":["videoId","status"],"properties":{"videoId":{"type":"string","description":"ID of the video. When duplicate is true, this is the ID of the video that was already in the workspace."},"status":{"type":"string","enum":["pending","uploaded","failed"],"description":"pending while Roboflow processes the video, then uploaded or failed."},"resolvedBatch":{"type":["object","null"],"properties":{"id":{"type":"string"},"name":{"type":"string"}},"description":"Project batch that holds the video. Present when status is uploaded; null for a workspace-only upload."},"duplicate":{"type":"boolean","description":"True when the same video was already in the workspace, so Roboflow reused it."},"message":{"type":"string","description":"Why the upload failed. Present when status is failed."}}},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/upload/video/{videoId}":{"get":{"tags":["Images and batches"],"operationId":"getVideoUpload","summary":"Get video upload status","description":"Reads the processing status of a video upload.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"videoId","in":"path","required":true,"description":"Video ID returned when you prepared the upload.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoUploadStatus"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The video is missing or the API key cannot reach it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Annotation

## Add comments to an image

> Adds comments to an image that is already in the project. Annotations do not change. Comments are attributed to the user of the API key. Requires the image:annotate scope and access to annotate the project. Video projects are not supported.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Annotation","description":"Create annotation and Auto Label jobs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/comments/{imageId}":{"post":{"tags":["Annotation"],"operationId":"addImageComments","summary":"Add comments to an image","description":"Adds comments to an image that is already in the project. Annotations do not change. Comments are attributed to the user of the API key. Requires the image:annotate scope and access to annotate the project. Video projects are not supported.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"imageId","in":"path","required":true,"description":"Image ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"The comments to add.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["comments"],"properties":{"comments":{"type":"array","minItems":1,"maxItems":20,"description":"Comments to add. Send 1 to 20 per request.","items":{"type":"object","additionalProperties":false,"required":["message"],"properties":{"message":{"type":"string","minLength":1,"maxLength":2000,"description":"Comment text, 1 to 2000 characters after trimming."},"position":{"type":"object","additionalProperties":false,"required":["x","y"],"description":"Pixel position of the comment on the image. Defaults to x 0, y 0.","properties":{"x":{"type":"number"},"y":{"type":"number"}}},"resolved":{"type":"boolean","default":false,"description":"Mark the comment as resolved."}}}}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"created":{"type":"integer","description":"Number of comments added."}}}}}},"400":{"description":"The comments are invalid, a comment has an unknown field, or the project is a video project. Nothing is saved.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The image is not in this project, or the API key does not have the image:annotate scope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## List annotation jobs

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Annotation","description":"Create annotation and Auto Label jobs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/jobs":{"get":{"tags":["Annotation"],"operationId":"listAnnotationJobs","summary":"List annotation jobs","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Create an annotation job

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Annotation","description":"Create annotation and Auto Label jobs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/jobs":{"post":{"tags":["Annotation"],"operationId":"createAnnotationJob","summary":"Create an annotation job","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get an annotation job

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Annotation","description":"Create annotation and Auto Label jobs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/jobs/{jobId}":{"get":{"tags":["Annotation"],"operationId":"getAnnotationJob","summary":"Get an annotation job","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}},{"name":"jobId","in":"path","required":true,"description":"Job ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## List Auto Label foundation models

> Lists the Auto Label foundation models, with the credits each uses per image and whether the workspace plan includes it. Each model id is accepted as the modelType when you start a job or run a preview.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Annotation","description":"Create annotation and Auto Label jobs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/autolabel/models":{"get":{"tags":["Annotation"],"operationId":"listAutoLabelModels","summary":"List Auto Label foundation models","description":"Lists the Auto Label foundation models, with the credits each uses per image and whether the workspace plan includes it. Each model id is accepted as the modelType when you start a job or run a preview.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Preview an Auto Label model

> Runs one image through an Auto Label foundation model and returns the predictions with a per-class summary. Previews are free and do not create a job.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Annotation","description":"Create annotation and Auto Label jobs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/autolabel/preview":{"post":{"tags":["Annotation"],"operationId":"previewAutoLabelModel","summary":"Preview an Auto Label model","description":"Runs one image through an Auto Label foundation model and returns the predictions with a per-class summary. Previews are free and do not create a job.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Create an Auto Label job

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Annotation","description":"Create annotation and Auto Label jobs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/autolabel":{"post":{"tags":["Annotation"],"operationId":"createAutoLabelJob","summary":"Create an Auto Label job","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"202":{"description":"Accepted for asynchronous processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get Auto Label job status

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Annotation","description":"Create annotation and Auto Label jobs."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/autolabel/jobs/{jobId}":{"get":{"tags":["Annotation"],"operationId":"getAutoLabelJob","summary":"Get Auto Label job status","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"jobId","in":"path","required":true,"description":"Job ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Workflows

## List Workflows

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workflows","description":"Create, update, list, and publish Workflows."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/workflows":{"get":{"tags":["Workflows"],"operationId":"listWorkflows","summary":"List Workflows","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a Workflow

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workflows","description":"Create, update, list, and publish Workflows."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/workflows/{workflowId}":{"get":{"tags":["Workflows"],"operationId":"getWorkflow","summary":"Get a Workflow","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"workflowId","in":"path","required":true,"description":"Workflow URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Move a Workflow to Trash

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workflows","description":"Create, update, list, and publish Workflows."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/workflows/{workflowId}":{"delete":{"tags":["Workflows"],"operationId":"deleteWorkflow","summary":"Move a Workflow to Trash","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"workflowId","in":"path","required":true,"description":"Workflow URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## List Workflow versions

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workflows","description":"Create, update, list, and publish Workflows."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/workflows/{workflowId}/versions":{"get":{"tags":["Workflows"],"operationId":"listWorkflowVersions","summary":"List Workflow versions","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"workflowId","in":"path","required":true,"description":"Workflow URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Create a Workflow

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workflows","description":"Create, update, list, and publish Workflows."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/createWorkflow":{"post":{"tags":["Workflows"],"operationId":"createWorkflow","summary":"Create a Workflow","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Update a Workflow

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workflows","description":"Create, update, list, and publish Workflows."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/updateWorkflow":{"post":{"tags":["Workflows"],"operationId":"updateWorkflow","summary":"Update a Workflow","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Fork a Workflow

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workflows","description":"Create, update, list, and publish Workflows."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/forkWorkflow":{"post":{"tags":["Workflows"],"operationId":"forkWorkflow","summary":"Fork a Workflow","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Create a Workflow token

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Workflows","description":"Create, update, list, and publish Workflows."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/workflowToken":{"post":{"tags":["Workflows"],"operationId":"createWorkflowToken","summary":"Create a Workflow token","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Agent

## Send a message to Roboflow Agent

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Agent","description":"Build Workflows and inspect conversations with Roboflow Agent."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/agent/chat":{"post":{"tags":["Agent"],"operationId":"chatWithAgent","summary":"Send a message to Roboflow Agent","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Publish a Workflow created by Roboflow Agent

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Agent","description":"Build Workflows and inspect conversations with Roboflow Agent."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/agent/workflows/{workflowId}/publish":{"post":{"tags":["Agent"],"operationId":"publishAgentWorkflow","summary":"Publish a Workflow created by Roboflow Agent","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"workflowId","in":"path","required":true,"description":"Workflow URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## List Roboflow Agent conversations

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Agent","description":"Build Workflows and inspect conversations with Roboflow Agent."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/agent/conversations":{"get":{"tags":["Agent"],"operationId":"listAgentConversations","summary":"List Roboflow Agent conversations","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a Roboflow Agent conversation

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Agent","description":"Build Workflows and inspect conversations with Roboflow Agent."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/agent/conversations/{conversationId}":{"get":{"tags":["Agent"],"operationId":"getAgentConversation","summary":"Get a Roboflow Agent conversation","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Search

## Search public Universe projects

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Search","description":"Search workspace assets and public Universe projects."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/universe/search":{"get":{"tags":["Search"],"operationId":"searchUniverseProjects","summary":"Search public Universe projects","description":"This operation is part of the public Roboflow Platform API.","parameters":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Search public Universe projects by image

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Search","description":"Search workspace assets and public Universe projects."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/universe/search":{"post":{"tags":["Search"],"operationId":"searchUniverseProjectsByImage","summary":"Search public Universe projects by image","description":"This operation is part of the public Roboflow Platform API.","parameters":[],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Search images in a project

> Searches the images in one project. An API key from the project's workspace can search any of its projects. An API key from another workspace can search public projects only.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Search","description":"Search workspace assets and public Universe projects."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/search":{"post":{"tags":["Search"],"operationId":"searchProjectImages","summary":"Search images in a project","description":"Searches the images in one project. An API key from the project's workspace can search any of its projects. An API key from another workspace can search public projects only.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"description":"Authentication is missing or invalid, or the project does not belong to this workspace.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The project does not exist, or it is private and the API key is from another workspace.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Search images across a workspace

> Searches the images across a workspace. The API key must belong to this workspace. Keys from other workspaces cannot search it, even when it has public projects.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Search","description":"Search workspace assets and public Universe projects."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/search/v1":{"post":{"tags":["Search"],"operationId":"searchWorkspaceImages","summary":"Search images across a workspace","description":"Searches the images across a workspace. The API key must belong to this workspace. Keys from other workspaces cannot search it, even when it has public projects.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The workspace does not exist, or the API key is from another workspace.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Export image search results

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Search","description":"Search workspace assets and public Universe projects."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/search/export":{"post":{"tags":["Search"],"operationId":"exportImageSearch","summary":"Export image search results","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"202":{"description":"Accepted for asynchronous processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get image search export status

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Search","description":"Search workspace assets and public Universe projects."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/search/export/{taskId}":{"get":{"tags":["Search"],"operationId":"getImageSearchExport","summary":"Get image search export status","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"taskId","in":"path","required":true,"description":"Asynchronous task ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Trash and tasks

## List deleted resources

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Trash and tasks","description":"Restore deleted resources and inspect asynchronous tasks."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/trash":{"get":{"tags":["Trash and tasks"],"operationId":"listTrash","summary":"List deleted resources","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Restore a deleted resource

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Trash and tasks","description":"Restore deleted resources and inspect asynchronous tasks."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/trash/restore":{"post":{"tags":["Trash and tasks"],"operationId":"restoreFromTrash","summary":"Restore a deleted resource","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get asynchronous task status

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Trash and tasks","description":"Restore deleted resources and inspect asynchronous tasks."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/asynctasks/{taskId}":{"get":{"tags":["Trash and tasks"],"operationId":"getAsyncTask","summary":"Get asynchronous task status","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"taskId","in":"path","required":true,"description":"Asynchronous task ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Deployment

## Get project deployment settings

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment","description":"Manage project deployment settings and Active Learning."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/deploy":{"get":{"tags":["Deployment"],"operationId":"getProjectDeployment","summary":"Get project deployment settings","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Select the deployed project model

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment","description":"Manage project deployment settings and Active Learning."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/deploy/model":{"post":{"tags":["Deployment"],"operationId":"selectProjectModel","summary":"Select the deployed project model","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get Active Learning settings

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment","description":"Manage project deployment settings and Active Learning."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/deploy/active-learning":{"get":{"tags":["Deployment"],"operationId":"getActiveLearning","summary":"Get Active Learning settings","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Enable Active Learning

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment","description":"Manage project deployment settings and Active Learning."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/deploy/active-learning/enable":{"post":{"tags":["Deployment"],"operationId":"enableActiveLearning","summary":"Enable Active Learning","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Disable Active Learning

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment","description":"Manage project deployment settings and Active Learning."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/deploy/active-learning/disable":{"post":{"tags":["Deployment"],"operationId":"disableActiveLearning","summary":"Disable Active Learning","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Update Active Learning settings

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment","description":"Manage project deployment settings and Active Learning."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/deploy/active-learning/configuration":{"post":{"tags":["Deployment"],"operationId":"updateActiveLearning","summary":"Update Active Learning settings","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## List Active Learning images

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment","description":"Manage project deployment settings and Active Learning."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/{project}/deploy/active-learning/images":{"get":{"tags":["Deployment"],"operationId":"listActiveLearningImages","summary":"List Active Learning images","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"path","required":true,"description":"Project URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Monitoring

## Get inference usage statistics

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Monitoring","description":"Read inference usage and attach metadata."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/inference-stats":{"get":{"tags":["Monitoring"],"operationId":"getInferenceStats","summary":"Get inference usage statistics","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Attach metadata to inference records

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Monitoring","description":"Read inference usage and attach metadata."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/inference-stats/metadata":{"post":{"tags":["Monitoring"],"operationId":"attachInferenceMetadata","summary":"Attach metadata to inference records","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Vision Events

## Create a Vision Event

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events":{"post":{"tags":["Vision Events"],"operationId":"createVisionEvent","summary":"Create a Vision Event","description":"This operation is part of the public Roboflow Platform API.","parameters":[],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Create Vision Events in a batch

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/batch":{"post":{"tags":["Vision Events"],"operationId":"createVisionEvents","summary":"Create Vision Events in a batch","description":"This operation is part of the public Roboflow Platform API.","parameters":[],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Upload a Vision Event image

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/upload":{"post":{"tags":["Vision Events"],"operationId":"uploadVisionEventImage","summary":"Upload a Vision Event image","description":"This operation is part of the public Roboflow Platform API.","parameters":[],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Prepare a Vision Event video upload

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/videos/prepare-upload":{"post":{"tags":["Vision Events"],"operationId":"prepareVisionEventVideoUpload","summary":"Prepare a Vision Event video upload","description":"This operation is part of the public Roboflow Platform API.","parameters":[],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get Vision Event video status

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/videos/{videoId}":{"get":{"tags":["Vision Events"],"operationId":"getVisionEventVideo","summary":"Get Vision Event video status","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"videoId","in":"path","required":true,"description":"Video ID returned when you prepared the upload.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a Vision Event video playback URL

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/videos/{videoId}/url":{"get":{"tags":["Vision Events"],"operationId":"getVisionEventVideoUrl","summary":"Get a Vision Event video playback URL","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"videoId","in":"path","required":true,"description":"Video ID returned when you prepared the upload.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Query Vision Events

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/query":{"post":{"tags":["Vision Events"],"operationId":"queryVisionEvents","summary":"Query Vision Events","description":"This operation is part of the public Roboflow Platform API.","parameters":[],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Delete Vision Events

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/delete":{"post":{"tags":["Vision Events"],"operationId":"deleteVisionEvents","summary":"Delete Vision Events","description":"This operation is part of the public Roboflow Platform API.","parameters":[],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a custom metadata schema

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/custom-metadata-schema/{useCaseId}":{"get":{"tags":["Vision Events"],"operationId":"getVisionEventMetadataSchema","summary":"Get a custom metadata schema","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"useCaseId","in":"path","required":true,"description":"Vision Events use case ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## List Vision Event use cases

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/use-cases":{"get":{"tags":["Vision Events"],"operationId":"listVisionEventUseCases","summary":"List Vision Event use cases","description":"This operation is part of the public Roboflow Platform API.","parameters":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Create a Vision Event use case

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/use-cases":{"post":{"tags":["Vision Events"],"operationId":"createVisionEventUseCase","summary":"Create a Vision Event use case","description":"This operation is part of the public Roboflow Platform API.","parameters":[],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Update a Vision Event use case

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/use-cases/{useCaseId}":{"put":{"tags":["Vision Events"],"operationId":"updateVisionEventUseCase","summary":"Update a Vision Event use case","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"useCaseId","in":"path","required":true,"description":"Vision Events use case ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Archive a Vision Event use case

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/use-cases/{useCaseId}/archive":{"post":{"tags":["Vision Events"],"operationId":"archiveVisionEventUseCase","summary":"Archive a Vision Event use case","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"useCaseId","in":"path","required":true,"description":"Vision Events use case ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Unarchive a Vision Event use case

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Vision Events","description":"Create, query, and organize Vision Events."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/vision-events/use-cases/{useCaseId}/unarchive":{"post":{"tags":["Vision Events"],"operationId":"unarchiveVisionEventUseCase","summary":"Unarchive a Vision Event use case","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"useCaseId","in":"path","required":true,"description":"Vision Events use case ID.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Deployment Manager

## List Deployment Manager devices

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2":{"get":{"tags":["Deployment Manager"],"operationId":"listDevices","summary":"List Deployment Manager devices","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Register a Deployment Manager device

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2":{"post":{"tags":["Deployment Manager"],"operationId":"registerDevice","summary":"Register a Deployment Manager device","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"201":{"description":"Created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get the default device configuration

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/default-config":{"get":{"tags":["Deployment Manager"],"operationId":"getDefaultDeviceConfig","summary":"Get the default device configuration","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a device

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/{deviceId}":{"get":{"tags":["Deployment Manager"],"operationId":"getDevice","summary":"Get a device","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"description":"Deployment Manager device ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get device configuration

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/{deviceId}/config":{"get":{"tags":["Deployment Manager"],"operationId":"getDeviceConfig","summary":"Get device configuration","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"description":"Deployment Manager device ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get device configuration history

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/{deviceId}/config/history":{"get":{"tags":["Deployment Manager"],"operationId":"getDeviceConfigHistory","summary":"Get device configuration history","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"description":"Deployment Manager device ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## List device streams

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/{deviceId}/streams":{"get":{"tags":["Deployment Manager"],"operationId":"listDeviceStreams","summary":"List device streams","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"description":"Deployment Manager device ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a device stream

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/{deviceId}/streams/{streamId}":{"get":{"tags":["Deployment Manager"],"operationId":"getDeviceStream","summary":"Get a device stream","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"description":"Deployment Manager device ID.","schema":{"type":"string"}},{"name":"streamId","in":"path","required":true,"description":"Device stream ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get device logs

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/{deviceId}/logs":{"get":{"tags":["Deployment Manager"],"operationId":"getDeviceLogs","summary":"Get device logs","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"description":"Deployment Manager device ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get device telemetry

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/{deviceId}/telemetry":{"get":{"tags":["Deployment Manager"],"operationId":"getDeviceTelemetry","summary":"Get device telemetry","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"description":"Deployment Manager device ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get device events

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/{deviceId}/events":{"get":{"tags":["Deployment Manager"],"operationId":"getDeviceEvents","summary":"Get device events","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"description":"Deployment Manager device ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## List device services

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/{deviceId}/services":{"get":{"tags":["Deployment Manager"],"operationId":"listDeviceServices","summary":"List device services","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"description":"Deployment Manager device ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a device service

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/{deviceId}/services/{serviceName}":{"get":{"tags":["Deployment Manager"],"operationId":"getDeviceService","summary":"Get a device service","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"description":"Deployment Manager device ID.","schema":{"type":"string"}},{"name":"serviceName","in":"path","required":true,"description":"Service name, as declared in the device config.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a device service metric series

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Deployment Manager","description":"Register and inspect managed edge devices."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/devices/v2/{deviceId}/services/{serviceName}/series":{"get":{"tags":["Deployment Manager"],"operationId":"getDeviceServiceSeries","summary":"Get a device service metric series","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"deviceId","in":"path","required":true,"description":"Deployment Manager device ID.","schema":{"type":"string"}},{"name":"serviceName","in":"path","required":true,"description":"Service name, as declared in the device config.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Cloud Streaming

Use [Cloud Streaming](https://docs.roboflow.com/deployment/roboflow-cloud/cloud-streaming) for managed camera processing. Read the [scope and credential requirements](/reference/authentication/authentication/scoped-api-keys.md#cloud-streaming) before starting a job.

The v1 control API covers source discovery, temporary-session allocation, source preview, Workflow jobs, output watch grants and completed file results. Source administration, restart, promotion, processing estimates and browser capture remain app operations. The results endpoint is not a live JSON polling API. No Cloud Streaming SDK methods are defined by this reference.

## List Cloud Streaming sources

> Lists registered sources without stream credentials. Temporary sessions are excluded unless requested. The response contains sources only, not jobs or a webcam-availability flag. Requires video-inference-job:read. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound keys are not accepted.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"CloudVideoSource":{"type":"object","properties":{"id":{"type":"string","description":"Source ID. Use this value as sourceId in control requests."},"workspace":{"type":"string","description":"Workspace ID."},"name":{"type":"string","description":"Source display name."},"kind":{"type":"string","description":"Source kind. Common values are usb, rtsp, file, live and temporary."},"status":{"type":"string","description":"Source availability, not the job's processing state. Connector sources report connected or offline; uploaded sources report ready. Temporary sources report awaiting_video, connected or offline. Direct sources may report unknown until fresh publisher evidence is available."},"created_at":{"type":"integer","format":"int64","description":"Creation time. Unix time in milliseconds."},"connectorId":{"type":"string","description":"Connector currently providing this source, when applicable."},"localId":{"type":"string","description":"Connector-local source identifier, when applicable."},"videoUploadId":{"type":"string","description":"Upload identifier for a stored video source. A connector file is streamed and does not have this field."},"lastSeen":{"type":"integer","format":"int64","description":"Most recent connector or binding observation. Unix time in milliseconds."},"lastVideoAt":{"type":["integer","null"],"format":"int64","description":"Most recent direct-source video observation. Unix time in milliseconds."},"streamState":{"type":["string","null"],"description":"Current connector or direct-source stream state, when available."},"streamError":{"type":["object","null"],"properties":{"message":{"type":"string","description":"Recent source streaming error."},"at":{"type":"integer","format":"int64","description":"Error time. Unix time in milliseconds."}}},"availableProcessorSizes":{"type":"array","items":{"type":"string","description":"Available processing profile. Documented GPU profiles are gpu-s-v1, gpu-m-v1 and gpu-l-v1."},"description":"Profiles currently placeable for this source. Recheck availability before starting a job."},"persistentWorkflowsAvailable":{"type":"boolean","description":"Whether this source can accept persistent Workflow processing. False for uploaded files and temporary sources."},"connectionType":{"type":"string","description":"Direct-source connection type, when applicable."},"publisher":{"type":"string","description":"Direct-source publisher type, when applicable."},"temporary":{"type":"object","properties":{"cell":{"type":"string","description":"Session's processing cell."},"stoppedAt":{"type":["integer","null"],"format":"int64","description":"Time the session ended. Unix time in milliseconds."},"endReason":{"type":["string","null"],"description":"Why the session ended.","enum":["stopped","publisher_lost",null]},"lastObservation":{"type":["object","null"],"properties":{"state":{"type":"string","description":"Publisher state.","enum":["connected","disconnected"]},"at":{"type":"integer","format":"int64","description":"Observation time. Unix time in milliseconds."},"epoch":{"type":"integer"}}}},"required":["cell","stoppedAt","endReason","lastObservation"]}},"required":["id","kind","name","status"],"additionalProperties":true,"description":"Credential-free source metadata. Source-specific configuration and observation fields can also be returned. Temporary sessions are hidden from the default list. A connected source is not proof that a Workflow is running."},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-sources/v1":{"get":{"tags":["Cloud Streaming"],"operationId":"listCloudVideoSources","summary":"List Cloud Streaming sources","description":"Lists registered sources without stream credentials. Temporary sessions are excluded unless requested. The response contains sources only, not jobs or a webcam-availability flag. Requires video-inference-job:read. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound keys are not accepted.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"includeTemporary","in":"query","description":"Include workspace temporary sessions.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"sources":{"type":"array","items":{"$ref":"#/components/schemas/CloudVideoSource"}}},"required":["sources"]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Inspect a Workflow interface

> Inspect a saved Workflow before selecting imageOutput and workflowParameters. This does not start processing. Requires video-inference-job:read. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound keys are not accepted.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"CloudWorkflowInterface":{"type":"object","properties":{"outputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Workflow output name."},"kinds":{"$ref":"#/components/schemas/CloudWorkflowOutputKinds"},"isImage":{"type":"boolean"}},"required":["name","kinds","isImage"]}},"degraded":{"type":"boolean","description":"True when static analysis was used because interface discovery failed. In that case, isImage=false is not proof that the output is not an image."},"parameters":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Non-image input name."},"type":{"type":["string","null"],"description":"Input declaration type."},"hasDefault":{"type":"boolean"},"defaultValue":{"description":"Declared JSON default, or null when none is declared. Check hasDefault to distinguish a null default from no default."}},"required":["name","type","hasDefault","defaultValue"]}}},"required":["outputs","degraded","parameters"]},"CloudWorkflowOutputKinds":{"oneOf":[{"type":"array","items":{"type":"string"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/CloudWorkflowOutputKinds"}}],"description":"Output kinds are a list, or a nested map of field names to kinds for a whole-step output. A whole-step object is not a directly previewable image."},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-sources/v1/workflow-interface":{"get":{"tags":["Cloud Streaming"],"operationId":"getCloudWorkflowInterface","summary":"Inspect a Workflow interface","description":"Inspect a saved Workflow before selecting imageOutput and workflowParameters. This does not start processing. Requires video-inference-job:read. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound keys are not accepted.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"workflowUrl","in":"query","required":true,"description":"Saved Workflow URL slug in this workspace.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudWorkflowInterface"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Allocate a temporary source

> Allocates one WHIP publishing session. The publishing grant admits one publisher within two minutes. At most four unexpired publishing grants may be outstanding per workspace. Repeating the same request and Idempotency-Key returns the same live session, not a renewed grant. A stopped session cannot be revived by replay. Its jobs end when the publisher is lost or the session is stopped. This is source allocation, not a browser capture, recording or reconnect API. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"CloudTemporarySourceRequest":{"type":"object","properties":{"name":{"type":"string","description":"Session display name.","minLength":1,"maxLength":100,"default":"Browser preview"},"cell":{"type":"string","description":"Optional enabled temporary-source cell allowed for this workspace. Omit for server placement.","pattern":"^[a-z0-9-]{1,63}$"}},"additionalProperties":false},"CloudTemporarySourceGrant":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/CloudVideoSource"},"sourceId":{"type":"string","description":"Allocated temporary source ID.","pattern":"^tmp-[a-f0-9]{40}$"},"grantExpiresAt":{"type":"integer","format":"int64","description":"Deadline to admit the publisher. Unix time in milliseconds."},"whipUrl":{"type":"string","description":"Credentialed single-publisher WHIP URL. Use unchanged and never log, persist or share it.","format":"uri"}},"required":["source","sourceId","grantExpiresAt","whipUrl"]},"CloudVideoSource":{"type":"object","properties":{"id":{"type":"string","description":"Source ID. Use this value as sourceId in control requests."},"workspace":{"type":"string","description":"Workspace ID."},"name":{"type":"string","description":"Source display name."},"kind":{"type":"string","description":"Source kind. Common values are usb, rtsp, file, live and temporary."},"status":{"type":"string","description":"Source availability, not the job's processing state. Connector sources report connected or offline; uploaded sources report ready. Temporary sources report awaiting_video, connected or offline. Direct sources may report unknown until fresh publisher evidence is available."},"created_at":{"type":"integer","format":"int64","description":"Creation time. Unix time in milliseconds."},"connectorId":{"type":"string","description":"Connector currently providing this source, when applicable."},"localId":{"type":"string","description":"Connector-local source identifier, when applicable."},"videoUploadId":{"type":"string","description":"Upload identifier for a stored video source. A connector file is streamed and does not have this field."},"lastSeen":{"type":"integer","format":"int64","description":"Most recent connector or binding observation. Unix time in milliseconds."},"lastVideoAt":{"type":["integer","null"],"format":"int64","description":"Most recent direct-source video observation. Unix time in milliseconds."},"streamState":{"type":["string","null"],"description":"Current connector or direct-source stream state, when available."},"streamError":{"type":["object","null"],"properties":{"message":{"type":"string","description":"Recent source streaming error."},"at":{"type":"integer","format":"int64","description":"Error time. Unix time in milliseconds."}}},"availableProcessorSizes":{"type":"array","items":{"type":"string","description":"Available processing profile. Documented GPU profiles are gpu-s-v1, gpu-m-v1 and gpu-l-v1."},"description":"Profiles currently placeable for this source. Recheck availability before starting a job."},"persistentWorkflowsAvailable":{"type":"boolean","description":"Whether this source can accept persistent Workflow processing. False for uploaded files and temporary sources."},"connectionType":{"type":"string","description":"Direct-source connection type, when applicable."},"publisher":{"type":"string","description":"Direct-source publisher type, when applicable."},"temporary":{"type":"object","properties":{"cell":{"type":"string","description":"Session's processing cell."},"stoppedAt":{"type":["integer","null"],"format":"int64","description":"Time the session ended. Unix time in milliseconds."},"endReason":{"type":["string","null"],"description":"Why the session ended.","enum":["stopped","publisher_lost",null]},"lastObservation":{"type":["object","null"],"properties":{"state":{"type":"string","description":"Publisher state.","enum":["connected","disconnected"]},"at":{"type":"integer","format":"int64","description":"Observation time. Unix time in milliseconds."},"epoch":{"type":"integer"}}}},"required":["cell","stoppedAt","endReason","lastObservation"]}},"required":["id","kind","name","status"],"additionalProperties":true,"description":"Credential-free source metadata. Source-specific configuration and observation fields can also be returned. Temporary sessions are hidden from the default list. A connected source is not proof that a Workflow is running."},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-sources/v1/temporary":{"post":{"tags":["Cloud Streaming"],"operationId":"createCloudTemporarySource","summary":"Allocate a temporary source","description":"Allocates one WHIP publishing session. The publishing grant admits one publisher within two minutes. At most four unexpired publishing grants may be outstanding per workspace. Repeating the same request and Idempotency-Key returns the same live session, not a renewed grant. A stopped session cannot be revived by replay. Its jobs end when the publisher is lost or the session is stopped. This is source allocation, not a browser capture, recording or reconnect API. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"A unique key for one start attempt. Reuse the same key, request and credential after a lost response. Use a new key only for a new attempt.","schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":false,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudTemporarySourceRequest"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudTemporarySourceGrant"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"The idempotency key conflicts, the prior session ended, temporary sessions are unavailable, placement failed, or the publishing-grant limit was reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## End a temporary source session

> Invalidates the session's publisher credential, requests publisher disconnection and cancels its jobs. Use this only for a temporary source. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"CloudVideoSource":{"type":"object","properties":{"id":{"type":"string","description":"Source ID. Use this value as sourceId in control requests."},"workspace":{"type":"string","description":"Workspace ID."},"name":{"type":"string","description":"Source display name."},"kind":{"type":"string","description":"Source kind. Common values are usb, rtsp, file, live and temporary."},"status":{"type":"string","description":"Source availability, not the job's processing state. Connector sources report connected or offline; uploaded sources report ready. Temporary sources report awaiting_video, connected or offline. Direct sources may report unknown until fresh publisher evidence is available."},"created_at":{"type":"integer","format":"int64","description":"Creation time. Unix time in milliseconds."},"connectorId":{"type":"string","description":"Connector currently providing this source, when applicable."},"localId":{"type":"string","description":"Connector-local source identifier, when applicable."},"videoUploadId":{"type":"string","description":"Upload identifier for a stored video source. A connector file is streamed and does not have this field."},"lastSeen":{"type":"integer","format":"int64","description":"Most recent connector or binding observation. Unix time in milliseconds."},"lastVideoAt":{"type":["integer","null"],"format":"int64","description":"Most recent direct-source video observation. Unix time in milliseconds."},"streamState":{"type":["string","null"],"description":"Current connector or direct-source stream state, when available."},"streamError":{"type":["object","null"],"properties":{"message":{"type":"string","description":"Recent source streaming error."},"at":{"type":"integer","format":"int64","description":"Error time. Unix time in milliseconds."}}},"availableProcessorSizes":{"type":"array","items":{"type":"string","description":"Available processing profile. Documented GPU profiles are gpu-s-v1, gpu-m-v1 and gpu-l-v1."},"description":"Profiles currently placeable for this source. Recheck availability before starting a job."},"persistentWorkflowsAvailable":{"type":"boolean","description":"Whether this source can accept persistent Workflow processing. False for uploaded files and temporary sources."},"connectionType":{"type":"string","description":"Direct-source connection type, when applicable."},"publisher":{"type":"string","description":"Direct-source publisher type, when applicable."},"temporary":{"type":"object","properties":{"cell":{"type":"string","description":"Session's processing cell."},"stoppedAt":{"type":["integer","null"],"format":"int64","description":"Time the session ended. Unix time in milliseconds."},"endReason":{"type":["string","null"],"description":"Why the session ended.","enum":["stopped","publisher_lost",null]},"lastObservation":{"type":["object","null"],"properties":{"state":{"type":"string","description":"Publisher state.","enum":["connected","disconnected"]},"at":{"type":"integer","format":"int64","description":"Observation time. Unix time in milliseconds."},"epoch":{"type":"integer"}}}},"required":["cell","stoppedAt","endReason","lastObservation"]}},"required":["id","kind","name","status"],"additionalProperties":true,"description":"Credential-free source metadata. Source-specific configuration and observation fields can also be returned. Temporary sessions are hidden from the default list. A connected source is not proof that a Workflow is running."},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-sources/v1/{sourceId}/stop-session":{"post":{"tags":["Cloud Streaming"],"operationId":"stopCloudTemporarySource","summary":"End a temporary source session","description":"Invalidates the session's publisher credential, requests publisher disconnection and cancels its jobs. Use this only for a temporary source. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"sourceId","in":"path","required":true,"description":"Cloud Streaming source ID from the source list.","schema":{"type":"string","pattern":"^tmp-[a-f0-9]{40}$"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/CloudVideoSource"},"stopRequested":{"type":"boolean","const":true}},"required":["source","stopRequested"]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Preview raw source video

> Requests source demand and placement, not Workflow inference. For connector sources, renew the five-minute demand lease while viewing. Direct-source grants include expiresAt; reacquire before it expires. Returns raw-source playback credentials or an uploaded-file playback URL. These grants are sensitive and can include a long-lived connector source credential. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"CloudSourcePreview":{"oneOf":[{"type":"object","properties":{"kind":{"const":"file","type":"string"},"playbackUrl":{"type":"string","description":"Signed playback URL for an uploaded video. Treat it as a credential.","format":"uri"}},"required":["kind","playbackUrl"]},{"type":"object","properties":{"kind":{"const":"live","type":"string"},"whepUrl":{"type":"string","description":"Credentialed raw-source WHEP URL. Use it unchanged, only in the intended viewer. Do not persist, log or share it. Connector-source URLs can contain a long-lived source credential.","format":"uri"},"cell":{"type":"string","description":"Resolved source cell."},"placementGeneration":{"type":"integer","description":"Placement generation when returned."},"expiresAt":{"type":"integer","format":"int64","description":"Direct-source preview grant expiry, when returned. Unix time in milliseconds."}},"required":["kind","whepUrl","cell"]}]},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-sources/v1/{sourceId}/preview":{"post":{"tags":["Cloud Streaming"],"operationId":"previewCloudVideoSource","summary":"Preview raw source video","description":"Requests source demand and placement, not Workflow inference. For connector sources, renew the five-minute demand lease while viewing. Direct-source grants include expiresAt; reacquire before it expires. Returns raw-source playback credentials or an uploaded-file playback URL. These grants are sensitive and can include a long-lived connector source credential. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"sourceId","in":"path","required":true,"description":"Cloud Streaming source ID from the source list.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[^/\\\\]+$"}}],"requestBody":{"required":false,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"type":"object","properties":{"cell":{"type":["string","null"],"description":"Optional source placement cell. Omit for server selection."}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudSourcePreview"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Source placement is unavailable, conflicts with active/fixed placement, or the temporary session has ended.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Start a Workflow job

> Starts metered processing. Send a new Idempotency-Key for one intentional run; retry uncertain responses with the same key, body and API key. Different keys can create separate billable jobs. A successful start can be queued or waiting, not yet running. Public requests choose a GPU profile; app automatic sizing and priced validation are not available as request fields. Requires a workspace API key with video-inference-job:create, workflow:read and model:infer. OAuth access tokens, device-bound keys and folder-scoped keys cannot start jobs. The same admitted API key supplies execution authority.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"CloudCreateJobRequest":{"type":"object","properties":{"workflowUrl":{"type":"string","description":"Saved Workflow URL slug in this workspace. Supply exactly one of workflowUrl and workflowSpecification.","minLength":1,"maxLength":512},"workflowSpecification":{"type":"object","properties":{},"additionalProperties":true,"description":"Inline Workflow specification. Supply exactly one of workflowUrl and workflowSpecification. Maximum JSON-encoded UTF-8 size: 512 KiB. Together with workflowParameters: at most 700 KiB. Inline blocks must be allowed by the workspace policy."},"workflowParameters":{"type":["object","null"],"additionalProperties":true,"maxProperties":200,"description":"Declared non-image inputs, fixed for this job's lifetime. Maximum JSON-encoded UTF-8 size: 256 KiB. Image inputs come from the source. Inspect workflow-interface for declared names and defaults. Public job records expose only these key names, not the values."},"imageOutput":{"type":["string","null"],"description":"Default Workflow image output to publish when watched. Null or omission leaves the default selection to the runtime. A JSON-only Workflow does not need an image output.","minLength":1,"maxLength":256},"mode":{"type":"string","description":"Uploaded sources default to batch, processing every frame in order as fast as inference allows. stream uses real-time pacing and can drop frames under load. Non-uploaded sources always use stream, even if batch is requested.","enum":["batch","stream"]},"purpose":{"type":"string","description":"deployment by default for durable sources; preview by default for temporary sources. A temporary source accepts only preview. Preview jobs never recover, expire when idle, and have a one-hour maximum lifetime. API-created previews cannot be promoted in the app.","enum":["preview","deployment"]},"previewWorkflowId":{"type":["string","null"],"description":"Saved Workflow identifier associated with a draft preview. This is provenance, not permission to promote or automatically replace another preview.","minLength":1,"maxLength":128},"recoveryPolicy":{"type":"string","description":"none disables persistent recovery. When omitted, eligible durable-source deployments default to always where recovery is enabled. Uploaded files and temporary sources do not recover. A preview requires none. A persistent saved Workflow pins its published specification when created; nonpersistent saved Workflows resolve it at claim time.","enum":["none","always"]},"tier":{"type":"string","description":"Processing tier.","enum":["gpu"],"default":"gpu"},"processorSize":{"type":"string","description":"Choose an available GPU profile from the source record: gpu-s-v1, gpu-m-v1 or gpu-l-v1. Send an explicit size for repeatable selection. If omitted, the environment's default applies; the public API does not automatically size the Workflow. Availability can vary by source and cell.","enum":["gpu-s-v1","gpu-m-v1","gpu-l-v1"]},"maxFps":{"type":["number","null"],"exclusiveMinimum":0,"maximum":240,"description":"Optional processing rate cap in frames per second. Null or omission adds no job-specific cap. This is not a throughput guarantee."},"captureOptions":{"type":["string","null"],"description":"Optional ingest tuning in key;value|key;value format. Keys: rtsp_transport, buffer_size, max_delay, reorder_queue_size, stimeout, timeout, probesize, analyzeduration, fflags, flags. Each value contains 1-64 letters, digits, underscores, plus signs, dots or hyphens. Null uses runtime defaults.","minLength":1,"maxLength":512},"captureBufferSize":{"type":["integer","null"],"minimum":1,"maximum":1024,"description":"Optional capture queue depth. Null or omission uses the runtime default for the processing mode."},"cell":{"type":["string","null"],"description":"Optional processing cell allowed for this workspace and source. Omit it for server placement; do not infer a cell from a connector download host. An active or fixed source cannot move freely between cells.","pattern":"^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$"},"processingEntrySurface":{"type":"string","description":"Compatibility field. External calls are always recorded as api, regardless of this value. Omit it.","enum":["cloud_streams_ui","workflow_preview","unknown"]}},"additionalProperties":false,"oneOf":[{"required":["workflowUrl"]},{"required":["workflowSpecification"]}]},"CloudVideoJob":{"type":"object","properties":{"id":{"type":"string","description":"Job ID."},"workspace":{"type":"string","description":"Workspace ID."},"sourceId":{"type":"string","description":"Input source ID."},"sourceName":{"type":"string","description":"Source name at creation."},"state":{"type":"string","description":"Processing state. waiting and blocked are persistent intents, not completed work. Internal queue variants are returned as queued.","enum":["queued","claimed","running","waiting","blocked","stopped","completed","cancelled","error"]},"purpose":{"type":"string","description":"Job lifetime category.","enum":["preview","deployment"]},"mode":{"type":"string","description":"Resolved processing mode.","enum":["batch","stream"]},"tier":{"type":"string","description":"Processing tier for the documented GPU jobs."},"processorSize":{"type":"string","description":"Resolved processing profile, when assigned."},"workflowUrl":{"type":["string","null"],"description":"Saved Workflow reference, if used."},"workflowSpecification":{"type":["object","null"],"additionalProperties":true,"description":"Submitted inline specification when exposed. Always null for previews and promoted previews; pinned execution snapshots are not returned."},"workflowParameterKeys":{"type":"array","items":{"type":"string"},"description":"Names of provided Workflow parameters. Values are not returned."},"imageOutput":{"type":["string","null"],"description":"Default image output selected for the job."},"maxFps":{"type":["number","null"],"description":"Job-specific processing rate cap, or null."},"captureOptions":{"type":["string","null"],"description":"Job ingest options, or null."},"captureBufferSize":{"type":["integer","null"]},"recoveryPolicy":{"type":"string","description":"Present for persistent recovery intent.","enum":["none","always"]},"desiredState":{"type":"string","description":"Persistent intent.","enum":["enabled","stopped"]},"waitingReason":{"type":["string","null"],"description":"Reason a persistent job is waiting or blocked."},"cancelRequested":{"type":"boolean","description":"Cancellation has been requested. An active processor may still be shutting down."},"executionGeneration":{"type":"integer","minimum":0,"description":"Execution generation. A replacement claim can invalidate old watch credentials. Older jobs may omit this field."},"executionCell":{"type":"string","description":"Cell assigned to this job."},"processorId":{"type":["string","null"],"description":"Current processor identifier, if claimed."},"processorUrl":{"type":["string","null"],"description":"Current processor address, if claimed. This field is not a separate public results API contract."},"stats":{"type":["object","null"],"additionalProperties":true,"description":"Runtime-specific processing metrics, or null before a processor reports them."},"attempts":{"type":"integer","minimum":0,"description":"Claim attempts."},"created_at":{"type":"integer","format":"int64","description":"Creation time. Unix time in milliseconds."},"updated_at":{"type":"integer","format":"int64","description":"Last update time. Unix time in milliseconds."},"queuedAt":{"type":"integer","format":"int64","description":"Last queue entry time. Unix time in milliseconds."},"heartbeatAt":{"type":["integer","null"],"format":"int64","description":"Last processor heartbeat. Unix time in milliseconds."},"temporarySessionId":{"type":"string","description":"Temporary source whose lifetime bounds this job."},"previewWorkflowId":{"type":["string","null"],"description":"Saved Workflow associated with this preview."},"previewExpiresAt":{"type":"integer","format":"int64","description":"Current preview expiry, subject to the one-hour maximum. Unix time in milliseconds."},"previewOwnerUntil":{"type":"integer","format":"int64","description":"Temporary preview owner-lease expiry. Unix time in milliseconds."},"disabledSinkCount":{"type":"integer","minimum":0,"description":"Disabled sink steps in a preview or promoted snapshot. Promotion does not enable them."},"promotedAt":{"type":"integer","format":"int64","description":"Time an app-owned preview became a deployment. Unix time in milliseconds."},"promotionUnavailableReason":{"type":["string","null"],"description":"Why this preview cannot be promoted. Promotion is not an operation in this API."},"predecessorJobId":{"type":"string","description":"Previous job in a replacement chain."},"successorJobId":{"type":"string","description":"Replacement job, if created."},"stopReason":{"type":"string","description":"Reason the platform stopped the job, when present."},"error":{"type":["string","null"],"description":"Processing error, when available."},"lastError":{"type":["object","null"],"properties":{"message":{"type":"string","description":"Error message with stream secrets redacted."},"code":{"type":"string","description":"Machine-readable error code."},"at":{"type":"integer","format":"int64","description":"Error time. Unix time in milliseconds."}},"additionalProperties":true},"resultsUploadedAt":{"type":"integer","format":"int64","description":"Time completed file results were uploaded. Unix time in milliseconds."},"resultsFiles":{"type":"array","items":{"type":"string"},"description":"Uploaded result filenames."},"priceAvailable":{"type":"boolean","description":"Whether current processing prices are available. Returned by list/get, not guaranteed by create/cancel."},"processingPrice":{"type":"object","properties":{"creditsPerHour":{"type":"number","minimum":0},"dollarsPerCredit":{"type":"number","minimum":0}},"required":["creditsPerHour","dollarsPerCredit"],"description":"Current allocation rate, not accumulated or historical spend. Rates can also be present on finished jobs."},"activity":{"type":"array","items":{"type":"object","properties":{"at":{"type":"integer","format":"int64","description":"Transition time. Unix time in milliseconds."},"state":{"type":"string"},"generation":{"type":"integer"},"reason":{"type":["string","null"]}}},"description":"Recent lifecycle transitions, not frame predictions or durable result history."}},"required":["id","sourceId","state","purpose"],"additionalProperties":true,"description":"Job metadata, with optional source/runtime-specific fields. No source stream keys, processor access tokens, execution API keys or Workflow parameter values are returned. Read state and cancellation together rather than treating a successful control request as immediate processor shutdown."},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-sources/v1/{sourceId}/jobs":{"post":{"tags":["Cloud Streaming"],"operationId":"createCloudVideoJob","summary":"Start a Workflow job","description":"Starts metered processing. Send a new Idempotency-Key for one intentional run; retry uncertain responses with the same key, body and API key. Different keys can create separate billable jobs. A successful start can be queued or waiting, not yet running. Public requests choose a GPU profile; app automatic sizing and priced validation are not available as request fields. Requires a workspace API key with video-inference-job:create, workflow:read and model:infer. OAuth access tokens, device-bound keys and folder-scoped keys cannot start jobs. The same admitted API key supplies execution authority.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"sourceId","in":"path","required":true,"description":"Cloud Streaming source ID from the source list.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[^/\\\\]+$"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"A unique key for one start attempt. Reuse the same key, request and credential after a lost response. Use a new key only for a new attempt.","schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudCreateJobRequest"}}}},"responses":{"200":{"description":"Identical request replayed under the same key and credential; returns the original job.","content":{"application/json":{"schema":{"type":"object","properties":{"job":{"$ref":"#/components/schemas/CloudVideoJob"}},"required":["job"]}}}},"201":{"description":"New job created. Read its state before assuming processing has started.","content":{"application/json":{"schema":{"type":"object","properties":{"job":{"$ref":"#/components/schemas/CloudVideoJob"}},"required":["job"]}}}},"400":{"description":"Invalid or unknown field, conflicting Workflow fields, excessive specification/parameter size, invalid capture options, or incompatible source, lifetime, recovery or compute settings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"Required scopes, eligible workspace credit standing or environment capability are missing, or an OAuth, folder-scoped or device-bound credential cannot start this job. Some access denials are hidden as 404.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"The idempotency key belongs to different parameters or credentials, the prior job is no longer available, or source/cell placement or capacity conflicts.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## List Workflow jobs

> Lists workspace job records. This route does not expose source, processor or execution credentials. It does not accept source or state filters. Requires video-inference-job:read. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound keys are not accepted.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"CloudVideoJob":{"type":"object","properties":{"id":{"type":"string","description":"Job ID."},"workspace":{"type":"string","description":"Workspace ID."},"sourceId":{"type":"string","description":"Input source ID."},"sourceName":{"type":"string","description":"Source name at creation."},"state":{"type":"string","description":"Processing state. waiting and blocked are persistent intents, not completed work. Internal queue variants are returned as queued.","enum":["queued","claimed","running","waiting","blocked","stopped","completed","cancelled","error"]},"purpose":{"type":"string","description":"Job lifetime category.","enum":["preview","deployment"]},"mode":{"type":"string","description":"Resolved processing mode.","enum":["batch","stream"]},"tier":{"type":"string","description":"Processing tier for the documented GPU jobs."},"processorSize":{"type":"string","description":"Resolved processing profile, when assigned."},"workflowUrl":{"type":["string","null"],"description":"Saved Workflow reference, if used."},"workflowSpecification":{"type":["object","null"],"additionalProperties":true,"description":"Submitted inline specification when exposed. Always null for previews and promoted previews; pinned execution snapshots are not returned."},"workflowParameterKeys":{"type":"array","items":{"type":"string"},"description":"Names of provided Workflow parameters. Values are not returned."},"imageOutput":{"type":["string","null"],"description":"Default image output selected for the job."},"maxFps":{"type":["number","null"],"description":"Job-specific processing rate cap, or null."},"captureOptions":{"type":["string","null"],"description":"Job ingest options, or null."},"captureBufferSize":{"type":["integer","null"]},"recoveryPolicy":{"type":"string","description":"Present for persistent recovery intent.","enum":["none","always"]},"desiredState":{"type":"string","description":"Persistent intent.","enum":["enabled","stopped"]},"waitingReason":{"type":["string","null"],"description":"Reason a persistent job is waiting or blocked."},"cancelRequested":{"type":"boolean","description":"Cancellation has been requested. An active processor may still be shutting down."},"executionGeneration":{"type":"integer","minimum":0,"description":"Execution generation. A replacement claim can invalidate old watch credentials. Older jobs may omit this field."},"executionCell":{"type":"string","description":"Cell assigned to this job."},"processorId":{"type":["string","null"],"description":"Current processor identifier, if claimed."},"processorUrl":{"type":["string","null"],"description":"Current processor address, if claimed. This field is not a separate public results API contract."},"stats":{"type":["object","null"],"additionalProperties":true,"description":"Runtime-specific processing metrics, or null before a processor reports them."},"attempts":{"type":"integer","minimum":0,"description":"Claim attempts."},"created_at":{"type":"integer","format":"int64","description":"Creation time. Unix time in milliseconds."},"updated_at":{"type":"integer","format":"int64","description":"Last update time. Unix time in milliseconds."},"queuedAt":{"type":"integer","format":"int64","description":"Last queue entry time. Unix time in milliseconds."},"heartbeatAt":{"type":["integer","null"],"format":"int64","description":"Last processor heartbeat. Unix time in milliseconds."},"temporarySessionId":{"type":"string","description":"Temporary source whose lifetime bounds this job."},"previewWorkflowId":{"type":["string","null"],"description":"Saved Workflow associated with this preview."},"previewExpiresAt":{"type":"integer","format":"int64","description":"Current preview expiry, subject to the one-hour maximum. Unix time in milliseconds."},"previewOwnerUntil":{"type":"integer","format":"int64","description":"Temporary preview owner-lease expiry. Unix time in milliseconds."},"disabledSinkCount":{"type":"integer","minimum":0,"description":"Disabled sink steps in a preview or promoted snapshot. Promotion does not enable them."},"promotedAt":{"type":"integer","format":"int64","description":"Time an app-owned preview became a deployment. Unix time in milliseconds."},"promotionUnavailableReason":{"type":["string","null"],"description":"Why this preview cannot be promoted. Promotion is not an operation in this API."},"predecessorJobId":{"type":"string","description":"Previous job in a replacement chain."},"successorJobId":{"type":"string","description":"Replacement job, if created."},"stopReason":{"type":"string","description":"Reason the platform stopped the job, when present."},"error":{"type":["string","null"],"description":"Processing error, when available."},"lastError":{"type":["object","null"],"properties":{"message":{"type":"string","description":"Error message with stream secrets redacted."},"code":{"type":"string","description":"Machine-readable error code."},"at":{"type":"integer","format":"int64","description":"Error time. Unix time in milliseconds."}},"additionalProperties":true},"resultsUploadedAt":{"type":"integer","format":"int64","description":"Time completed file results were uploaded. Unix time in milliseconds."},"resultsFiles":{"type":"array","items":{"type":"string"},"description":"Uploaded result filenames."},"priceAvailable":{"type":"boolean","description":"Whether current processing prices are available. Returned by list/get, not guaranteed by create/cancel."},"processingPrice":{"type":"object","properties":{"creditsPerHour":{"type":"number","minimum":0},"dollarsPerCredit":{"type":"number","minimum":0}},"required":["creditsPerHour","dollarsPerCredit"],"description":"Current allocation rate, not accumulated or historical spend. Rates can also be present on finished jobs."},"activity":{"type":"array","items":{"type":"object","properties":{"at":{"type":"integer","format":"int64","description":"Transition time. Unix time in milliseconds."},"state":{"type":"string"},"generation":{"type":"integer"},"reason":{"type":["string","null"]}}},"description":"Recent lifecycle transitions, not frame predictions or durable result history."}},"required":["id","sourceId","state","purpose"],"additionalProperties":true,"description":"Job metadata, with optional source/runtime-specific fields. No source stream keys, processor access tokens, execution API keys or Workflow parameter values are returned. Read state and cancellation together rather than treating a successful control request as immediate processor shutdown."},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-jobs/v1":{"get":{"tags":["Cloud Streaming"],"operationId":"listCloudVideoJobs","summary":"List Workflow jobs","description":"Lists workspace job records. This route does not expose source, processor or execution credentials. It does not accept source or state filters. Requires video-inference-job:read. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound keys are not accepted.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/CloudVideoJob"}}},"required":["jobs"]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Get a Workflow job

> Read the current job without changing its state. Follow executionGeneration and successorJobId when observing replacement executions. A persistent waiting or blocked job still represents enabled intent until explicitly cancelled. Requires video-inference-job:read. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound keys are not accepted.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"CloudVideoJob":{"type":"object","properties":{"id":{"type":"string","description":"Job ID."},"workspace":{"type":"string","description":"Workspace ID."},"sourceId":{"type":"string","description":"Input source ID."},"sourceName":{"type":"string","description":"Source name at creation."},"state":{"type":"string","description":"Processing state. waiting and blocked are persistent intents, not completed work. Internal queue variants are returned as queued.","enum":["queued","claimed","running","waiting","blocked","stopped","completed","cancelled","error"]},"purpose":{"type":"string","description":"Job lifetime category.","enum":["preview","deployment"]},"mode":{"type":"string","description":"Resolved processing mode.","enum":["batch","stream"]},"tier":{"type":"string","description":"Processing tier for the documented GPU jobs."},"processorSize":{"type":"string","description":"Resolved processing profile, when assigned."},"workflowUrl":{"type":["string","null"],"description":"Saved Workflow reference, if used."},"workflowSpecification":{"type":["object","null"],"additionalProperties":true,"description":"Submitted inline specification when exposed. Always null for previews and promoted previews; pinned execution snapshots are not returned."},"workflowParameterKeys":{"type":"array","items":{"type":"string"},"description":"Names of provided Workflow parameters. Values are not returned."},"imageOutput":{"type":["string","null"],"description":"Default image output selected for the job."},"maxFps":{"type":["number","null"],"description":"Job-specific processing rate cap, or null."},"captureOptions":{"type":["string","null"],"description":"Job ingest options, or null."},"captureBufferSize":{"type":["integer","null"]},"recoveryPolicy":{"type":"string","description":"Present for persistent recovery intent.","enum":["none","always"]},"desiredState":{"type":"string","description":"Persistent intent.","enum":["enabled","stopped"]},"waitingReason":{"type":["string","null"],"description":"Reason a persistent job is waiting or blocked."},"cancelRequested":{"type":"boolean","description":"Cancellation has been requested. An active processor may still be shutting down."},"executionGeneration":{"type":"integer","minimum":0,"description":"Execution generation. A replacement claim can invalidate old watch credentials. Older jobs may omit this field."},"executionCell":{"type":"string","description":"Cell assigned to this job."},"processorId":{"type":["string","null"],"description":"Current processor identifier, if claimed."},"processorUrl":{"type":["string","null"],"description":"Current processor address, if claimed. This field is not a separate public results API contract."},"stats":{"type":["object","null"],"additionalProperties":true,"description":"Runtime-specific processing metrics, or null before a processor reports them."},"attempts":{"type":"integer","minimum":0,"description":"Claim attempts."},"created_at":{"type":"integer","format":"int64","description":"Creation time. Unix time in milliseconds."},"updated_at":{"type":"integer","format":"int64","description":"Last update time. Unix time in milliseconds."},"queuedAt":{"type":"integer","format":"int64","description":"Last queue entry time. Unix time in milliseconds."},"heartbeatAt":{"type":["integer","null"],"format":"int64","description":"Last processor heartbeat. Unix time in milliseconds."},"temporarySessionId":{"type":"string","description":"Temporary source whose lifetime bounds this job."},"previewWorkflowId":{"type":["string","null"],"description":"Saved Workflow associated with this preview."},"previewExpiresAt":{"type":"integer","format":"int64","description":"Current preview expiry, subject to the one-hour maximum. Unix time in milliseconds."},"previewOwnerUntil":{"type":"integer","format":"int64","description":"Temporary preview owner-lease expiry. Unix time in milliseconds."},"disabledSinkCount":{"type":"integer","minimum":0,"description":"Disabled sink steps in a preview or promoted snapshot. Promotion does not enable them."},"promotedAt":{"type":"integer","format":"int64","description":"Time an app-owned preview became a deployment. Unix time in milliseconds."},"promotionUnavailableReason":{"type":["string","null"],"description":"Why this preview cannot be promoted. Promotion is not an operation in this API."},"predecessorJobId":{"type":"string","description":"Previous job in a replacement chain."},"successorJobId":{"type":"string","description":"Replacement job, if created."},"stopReason":{"type":"string","description":"Reason the platform stopped the job, when present."},"error":{"type":["string","null"],"description":"Processing error, when available."},"lastError":{"type":["object","null"],"properties":{"message":{"type":"string","description":"Error message with stream secrets redacted."},"code":{"type":"string","description":"Machine-readable error code."},"at":{"type":"integer","format":"int64","description":"Error time. Unix time in milliseconds."}},"additionalProperties":true},"resultsUploadedAt":{"type":"integer","format":"int64","description":"Time completed file results were uploaded. Unix time in milliseconds."},"resultsFiles":{"type":"array","items":{"type":"string"},"description":"Uploaded result filenames."},"priceAvailable":{"type":"boolean","description":"Whether current processing prices are available. Returned by list/get, not guaranteed by create/cancel."},"processingPrice":{"type":"object","properties":{"creditsPerHour":{"type":"number","minimum":0},"dollarsPerCredit":{"type":"number","minimum":0}},"required":["creditsPerHour","dollarsPerCredit"],"description":"Current allocation rate, not accumulated or historical spend. Rates can also be present on finished jobs."},"activity":{"type":"array","items":{"type":"object","properties":{"at":{"type":"integer","format":"int64","description":"Transition time. Unix time in milliseconds."},"state":{"type":"string"},"generation":{"type":"integer"},"reason":{"type":["string","null"]}}},"description":"Recent lifecycle transitions, not frame predictions or durable result history."}},"required":["id","sourceId","state","purpose"],"additionalProperties":true,"description":"Job metadata, with optional source/runtime-specific fields. No source stream keys, processor access tokens, execution API keys or Workflow parameter values are returned. Read state and cancellation together rather than treating a successful control request as immediate processor shutdown."},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-jobs/v1/{jobId}":{"get":{"tags":["Cloud Streaming"],"operationId":"getCloudVideoJob","summary":"Get a Workflow job","description":"Read the current job without changing its state. Follow executionGeneration and successorJobId when observing replacement executions. A persistent waiting or blocked job still represents enabled intent until explicitly cancelled. Requires video-inference-job:read. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound keys are not accepted.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"jobId","in":"path","required":true,"description":"Job ID.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[^/\\\\]+$"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"job":{"$ref":"#/components/schemas/CloudVideoJob"}},"required":["job"]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Stop a Workflow job

> Requests an explicit stop. Persistent intent is disabled; queued jobs can be cancelled immediately. Active processors learn of cancellation through status updates, so the response is not a guarantee that shutdown has already finished. Re-read the job and any replacement identified by successorJobId. Repeating cancellation does not start a new job. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"CloudVideoJob":{"type":"object","properties":{"id":{"type":"string","description":"Job ID."},"workspace":{"type":"string","description":"Workspace ID."},"sourceId":{"type":"string","description":"Input source ID."},"sourceName":{"type":"string","description":"Source name at creation."},"state":{"type":"string","description":"Processing state. waiting and blocked are persistent intents, not completed work. Internal queue variants are returned as queued.","enum":["queued","claimed","running","waiting","blocked","stopped","completed","cancelled","error"]},"purpose":{"type":"string","description":"Job lifetime category.","enum":["preview","deployment"]},"mode":{"type":"string","description":"Resolved processing mode.","enum":["batch","stream"]},"tier":{"type":"string","description":"Processing tier for the documented GPU jobs."},"processorSize":{"type":"string","description":"Resolved processing profile, when assigned."},"workflowUrl":{"type":["string","null"],"description":"Saved Workflow reference, if used."},"workflowSpecification":{"type":["object","null"],"additionalProperties":true,"description":"Submitted inline specification when exposed. Always null for previews and promoted previews; pinned execution snapshots are not returned."},"workflowParameterKeys":{"type":"array","items":{"type":"string"},"description":"Names of provided Workflow parameters. Values are not returned."},"imageOutput":{"type":["string","null"],"description":"Default image output selected for the job."},"maxFps":{"type":["number","null"],"description":"Job-specific processing rate cap, or null."},"captureOptions":{"type":["string","null"],"description":"Job ingest options, or null."},"captureBufferSize":{"type":["integer","null"]},"recoveryPolicy":{"type":"string","description":"Present for persistent recovery intent.","enum":["none","always"]},"desiredState":{"type":"string","description":"Persistent intent.","enum":["enabled","stopped"]},"waitingReason":{"type":["string","null"],"description":"Reason a persistent job is waiting or blocked."},"cancelRequested":{"type":"boolean","description":"Cancellation has been requested. An active processor may still be shutting down."},"executionGeneration":{"type":"integer","minimum":0,"description":"Execution generation. A replacement claim can invalidate old watch credentials. Older jobs may omit this field."},"executionCell":{"type":"string","description":"Cell assigned to this job."},"processorId":{"type":["string","null"],"description":"Current processor identifier, if claimed."},"processorUrl":{"type":["string","null"],"description":"Current processor address, if claimed. This field is not a separate public results API contract."},"stats":{"type":["object","null"],"additionalProperties":true,"description":"Runtime-specific processing metrics, or null before a processor reports them."},"attempts":{"type":"integer","minimum":0,"description":"Claim attempts."},"created_at":{"type":"integer","format":"int64","description":"Creation time. Unix time in milliseconds."},"updated_at":{"type":"integer","format":"int64","description":"Last update time. Unix time in milliseconds."},"queuedAt":{"type":"integer","format":"int64","description":"Last queue entry time. Unix time in milliseconds."},"heartbeatAt":{"type":["integer","null"],"format":"int64","description":"Last processor heartbeat. Unix time in milliseconds."},"temporarySessionId":{"type":"string","description":"Temporary source whose lifetime bounds this job."},"previewWorkflowId":{"type":["string","null"],"description":"Saved Workflow associated with this preview."},"previewExpiresAt":{"type":"integer","format":"int64","description":"Current preview expiry, subject to the one-hour maximum. Unix time in milliseconds."},"previewOwnerUntil":{"type":"integer","format":"int64","description":"Temporary preview owner-lease expiry. Unix time in milliseconds."},"disabledSinkCount":{"type":"integer","minimum":0,"description":"Disabled sink steps in a preview or promoted snapshot. Promotion does not enable them."},"promotedAt":{"type":"integer","format":"int64","description":"Time an app-owned preview became a deployment. Unix time in milliseconds."},"promotionUnavailableReason":{"type":["string","null"],"description":"Why this preview cannot be promoted. Promotion is not an operation in this API."},"predecessorJobId":{"type":"string","description":"Previous job in a replacement chain."},"successorJobId":{"type":"string","description":"Replacement job, if created."},"stopReason":{"type":"string","description":"Reason the platform stopped the job, when present."},"error":{"type":["string","null"],"description":"Processing error, when available."},"lastError":{"type":["object","null"],"properties":{"message":{"type":"string","description":"Error message with stream secrets redacted."},"code":{"type":"string","description":"Machine-readable error code."},"at":{"type":"integer","format":"int64","description":"Error time. Unix time in milliseconds."}},"additionalProperties":true},"resultsUploadedAt":{"type":"integer","format":"int64","description":"Time completed file results were uploaded. Unix time in milliseconds."},"resultsFiles":{"type":"array","items":{"type":"string"},"description":"Uploaded result filenames."},"priceAvailable":{"type":"boolean","description":"Whether current processing prices are available. Returned by list/get, not guaranteed by create/cancel."},"processingPrice":{"type":"object","properties":{"creditsPerHour":{"type":"number","minimum":0},"dollarsPerCredit":{"type":"number","minimum":0}},"required":["creditsPerHour","dollarsPerCredit"],"description":"Current allocation rate, not accumulated or historical spend. Rates can also be present on finished jobs."},"activity":{"type":"array","items":{"type":"object","properties":{"at":{"type":"integer","format":"int64","description":"Transition time. Unix time in milliseconds."},"state":{"type":"string"},"generation":{"type":"integer"},"reason":{"type":["string","null"]}}},"description":"Recent lifecycle transitions, not frame predictions or durable result history."}},"required":["id","sourceId","state","purpose"],"additionalProperties":true,"description":"Job metadata, with optional source/runtime-specific fields. No source stream keys, processor access tokens, execution API keys or Workflow parameter values are returned. Read state and cancellation together rather than treating a successful control request as immediate processor shutdown."},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-jobs/v1/{jobId}/cancel":{"post":{"tags":["Cloud Streaming"],"operationId":"cancelCloudVideoJob","summary":"Stop a Workflow job","description":"Requests an explicit stop. Persistent intent is disabled; queued jobs can be cancelled immediately. Active processors learn of cancellation through status updates, so the response is not a guarantee that shutdown has already finished. Re-read the job and any replacement identified by successorJobId. Repeating cancellation does not start a new job. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"jobId","in":"path","required":true,"description":"Job ID.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[^/\\\\]+$"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"job":{"$ref":"#/components/schemas/CloudVideoJob"}},"required":["job"]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Renew a temporary preview owner lease

> Extends an active temporary-source preview's owner lease to at least two minutes from now, including while queued. It never revives an expired or stopped job and cannot extend the one-hour preview maximum. Keep this lease renewed while the temporary preview is in use; a video watch is a separate lease. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-jobs/v1/{jobId}/hold-preview":{"post":{"tags":["Cloud Streaming"],"operationId":"holdCloudPreviewJob","summary":"Renew a temporary preview owner lease","description":"Extends an active temporary-source preview's owner lease to at least two minutes from now, including while queued. It never revives an expired or stopped job and cannot extend the one-hour preview maximum. Keep this lease renewed while the temporary preview is in use; a video watch is a separate lease. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"jobId","in":"path","required":true,"description":"Job ID.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[^/\\\\]+$"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"held":{"type":"boolean","description":"True if renewed; false if the job is expired, stopping or terminal. Stop using an expired job rather than assuming it was revived."}},"required":["held"]}}}},"400":{"description":"This is not a preview job on a temporary source.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Watch annotated Workflow output

> Requests publication for at least 60 seconds on a claimed or running job. Renew at least every 30 seconds while viewing; renewal never shortens the lease. One image output is selected for the whole job, so another viewer's output selection changes every viewer's stream. Request a fresh grant after a new execution; match executionGeneration when provided. This does not create durable frame history. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"CloudWatchRequest":{"type":"object","properties":{"output":{"type":["string","null"],"description":"Name of a Workflow image output, without a selector prefix. Null or omission uses the job's default selection.","minLength":1,"maxLength":256}},"additionalProperties":false},"CloudWatchGrant":{"type":"object","properties":{"watch":{"type":"object","properties":{"requestedUntil":{"type":"integer","format":"int64","description":"Watch lease expiry. Renew before this time. Unix time in milliseconds."},"output":{"type":["string","null"],"description":"Selected named image output, or null for the default."}},"required":["requestedUntil","output"]},"executionGeneration":{"type":"integer","minimum":0,"description":"Generation associated with this grant, when present on the job. Match it to the current job and request a fresh grant after execution changes."},"whepUrl":{"type":"string","description":"Credentialed WHEP URL for annotated output. Use unchanged; do not log, persist or share it.","format":"uri"},"rtspsUrl":{"type":["string","null"],"description":"Credentialed RTSPS URL for the same output, or null when the cell has no public RTSPS listener.","format":"uri"},"processorAccessToken":{"type":"string","description":"Opaque execution-scoped credential. It changes on a new claim. Do not log, persist or share it. Its presence does not establish a public processor polling contract."}},"required":["watch","whepUrl","rtspsUrl","processorAccessToken"]},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-jobs/v1/{jobId}/watch":{"post":{"tags":["Cloud Streaming"],"operationId":"watchCloudVideoJob","summary":"Watch annotated Workflow output","description":"Requests publication for at least 60 seconds on a claimed or running job. Renew at least every 30 seconds while viewing; renewal never shortens the lease. One image output is selected for the whole job, so another viewer's output selection changes every viewer's stream. Request a fresh grant after a new execution; match executionGeneration when provided. This does not create durable frame history. Requires video-inference-job:create. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound and folder-scoped credentials are not accepted.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"jobId","in":"path","required":true,"description":"Job ID.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[^/\\\\]+$"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudWatchRequest"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudWatchGrant"}}}},"400":{"description":"The job is not claimed/running, cancellation is pending, the output is not accepted as image-producing, or the Workflow changed while selecting output. With degraded static analysis, a declared output may be accepted without proof that it is an image; a non-image output will not publish video.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Download completed file results

> Returns signed URLs after a batch job's result files have been uploaded. This is not live JSON polling, a stream recording endpoint or durable live result history. A JSON-only job may omit video.mp4. URLs expire after one hour. Requires video-inference-job:read. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound keys are not accepted.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Cloud Streaming","description":"Connect video sources, control Workflow jobs, and retrieve playback grants and completed file results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"CloudBatchResults":{"type":"object","properties":{"files":{"type":"object","properties":{"video.mp4":{"type":"string","description":"Signed annotated-video download URL, when produced.","format":"uri"},"frames.jsonl":{"type":"string","description":"Signed per-frame JSON Lines download URL, when produced.","format":"uri"},"meta.json":{"type":"string","description":"Signed metadata download URL, when produced.","format":"uri"}},"additionalProperties":{"type":"string","format":"uri"},"description":"Only uploaded result files are included. Download grants expire after one hour; request this endpoint again for fresh URLs. Do not persist or share signed URLs."}},"required":["files"]},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/video-jobs/v1/{jobId}/results":{"get":{"tags":["Cloud Streaming"],"operationId":"getCloudBatchResults","summary":"Download completed file results","description":"Returns signed URLs after a batch job's result files have been uploaded. This is not live JSON polling, a stream recording endpoint or durable live result history. A JSON-only job may omit video.mp4. URLs expire after one hour. Requires video-inference-job:read. Use a workspace API key or OAuth access token for the workspace in the path. Device-bound keys are not accepted.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"jobId","in":"path","required":true,"description":"Job ID.","schema":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[^/\\\\]+$"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudBatchResults"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The job does not exist/is not accessible, or results have not been uploaded. A completed status alone does not guarantee the files are ready.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"A required upstream service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Model evaluations

## List model evaluations

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Model evaluations","description":"Inspect evaluation summaries and detailed evaluation results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/model-evals":{"get":{"tags":["Model evaluations"],"operationId":"listModelEvaluations","summary":"List model evaluations","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Compare model evaluations

> Compare models on one Dataset Version. The operation includes models that have no evaluation. It is read-only and does not start evaluations.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Model evaluations","description":"Inspect evaluation summaries and detailed evaluation results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"ModelEvalComparison":{"type":"object","additionalProperties":false,"properties":{"project":{"type":"string","description":"Project URL slug."},"version":{"type":"string","description":"Dataset Version number."},"frontierMetric":{"enum":["mAP","mAP5095","mAP75","mIoU","precision","recall","f1",null],"description":"Metric used to calculate onFrontier. Null when the Project type has no supported default metric."},"availableMetrics":{"type":"array","items":{"type":"string","enum":["mAP","mAP5095","mAP75","mIoU","precision","recall","f1"]}},"models":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"modelId":{"type":"string","description":"Public model reference accepted by model APIs."},"evaluationId":{"type":["string","null"],"description":"Completed evaluation used for this row, or null when none is available."},"metrics":{"type":"object","additionalProperties":false,"properties":{"mAP":{"type":["number","null"],"minimum":0,"maximum":1},"mAP5095":{"type":["number","null"],"minimum":0,"maximum":1},"mAP75":{"type":["number","null"],"minimum":0,"maximum":1},"mIoU":{"type":["number","null"],"minimum":0,"maximum":1},"f1":{"type":["number","null"],"minimum":0,"maximum":1},"precision":{"type":["number","null"],"minimum":0,"maximum":1},"recall":{"type":["number","null"],"minimum":0,"maximum":1}},"required":[]},"medianLatencyMs":{"type":["number","null"],"minimum":0,"description":"Median server-side inference time in milliseconds, including preprocessing and postprocessing. Network time is excluded."},"onFrontier":{"type":"boolean","description":"True when no comparable model is at least as accurate and as fast, with a strict improvement in one measure."},"exclusionReason":{"enum":[null,"unsupported_project_type","evaluation_unavailable","evaluation_incomplete","accuracy_unavailable","latency_unavailable"],"description":"Why this model is not comparable, or null when it has the required results."}},"required":["modelId","evaluationId","metrics","medianLatencyMs","onFrontier","exclusionReason"]}}},"required":["project","version","frontierMetric","availableMetrics","models"]},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/model-evals/compare":{"get":{"tags":["Model evaluations"],"operationId":"compareModelEvaluations","summary":"Compare model evaluations","description":"Compare models on one Dataset Version. The operation includes models that have no evaluation. It is read-only and does not start evaluations.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"project","in":"query","required":true,"description":"Project URL slug.","schema":{"type":"string","minLength":1}},{"name":"version","in":"query","required":true,"description":"Positive Dataset Version number.","schema":{"type":"string","pattern":"^[1-9][0-9]*$"}},{"name":"frontierMetric","in":"query","required":false,"description":"Metric used to calculate the Pareto frontier. The response lists supported choices in availableMetrics.","schema":{"type":"string","enum":["mAP","mAP5095","mAP75","mIoU","precision","recall","f1"]}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelEvalComparison"}}}},"400":{"description":"A required parameter is missing, malformed, or unsupported for this comparison.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"description":"The Workspace does not have Model Evaluation access.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"The Project or Version is missing or inaccessible. API-key scope failures can also return this status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a model evaluation

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Model evaluations","description":"Inspect evaluation summaries and detailed evaluation results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/model-evals/{evaluationId}":{"get":{"tags":["Model evaluations"],"operationId":"getModelEvaluation","summary":"Get a model evaluation","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"evaluationId","in":"path","required":true,"description":"Model evaluation ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get mAP results

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Model evaluations","description":"Inspect evaluation summaries and detailed evaluation results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/model-evals/{evaluationId}/map-results":{"get":{"tags":["Model evaluations"],"operationId":"getEvaluationMapResults","summary":"Get mAP results","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"evaluationId","in":"path","required":true,"description":"Model evaluation ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a confidence sweep

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Model evaluations","description":"Inspect evaluation summaries and detailed evaluation results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/model-evals/{evaluationId}/confidence-sweep":{"get":{"tags":["Model evaluations"],"operationId":"getEvaluationConfidenceSweep","summary":"Get a confidence sweep","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"evaluationId","in":"path","required":true,"description":"Model evaluation ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get performance by class

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Model evaluations","description":"Inspect evaluation summaries and detailed evaluation results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/model-evals/{evaluationId}/performance-by-class":{"get":{"tags":["Model evaluations"],"operationId":"getEvaluationPerformanceByClass","summary":"Get performance by class","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"evaluationId","in":"path","required":true,"description":"Model evaluation ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get a confusion matrix

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Model evaluations","description":"Inspect evaluation summaries and detailed evaluation results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/model-evals/{evaluationId}/confusion-matrix":{"get":{"tags":["Model evaluations"],"operationId":"getEvaluationConfusionMatrix","summary":"Get a confusion matrix","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"evaluationId","in":"path","required":true,"description":"Model evaluation ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get vector analysis

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Model evaluations","description":"Inspect evaluation summaries and detailed evaluation results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/model-evals/{evaluationId}/vector-analysis":{"get":{"tags":["Model evaluations"],"operationId":"getEvaluationVectorAnalysis","summary":"Get vector analysis","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"evaluationId","in":"path","required":true,"description":"Model evaluation ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get image predictions

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Model evaluations","description":"Inspect evaluation summaries and detailed evaluation results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/model-evals/{evaluationId}/image-predictions":{"get":{"tags":["Model evaluations"],"operationId":"getEvaluationImagePredictions","summary":"Get image predictions","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"evaluationId","in":"path","required":true,"description":"Model evaluation ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Get evaluation recommendations

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Model evaluations","description":"Inspect evaluation summaries and detailed evaluation results."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/model-evals/{evaluationId}/recommendations":{"get":{"tags":["Model evaluations"],"operationId":"getEvaluationRecommendations","summary":"Get evaluation recommendations","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}},{"name":"evaluationId","in":"path","required":true,"description":"Model evaluation ID.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```

## Billing

## Get a billing usage report

> This operation is part of the public Roboflow Platform API.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Platform API","version":"0.1.0"},"tags":[{"name":"Billing","description":"Retrieve workspace usage grouped by billing folder."}],"servers":[{"url":"https://api.roboflow.com","description":"Roboflow Platform API"}],"security":[{"bearerAuth":[]},{"apiKeyQuery":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Roboflow API key or OAuth access token."},"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key","description":"Roboflow API key. Use the Authorization header when possible."}},"schemas":{"OpenObject":{"type":"object","description":"Operation-specific JSON object. See the linked guide for defined fields.","additionalProperties":true},"ErrorResponse":{"type":"object","properties":{"error":{"oneOf":[{"type":"string"},{"type":"object","properties":{"message":{"type":"string"},"type":{"type":"string"},"hint":{"type":"string"}},"additionalProperties":true}]}},"additionalProperties":true}},"responses":{"BadRequest":{"description":"The request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"The credential does not have access to this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"The resource does not exist or is not accessible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"RateLimited":{"description":"The request rate is too high.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{workspace}/billing-usage-report":{"post":{"tags":["Billing"],"operationId":"getBillingUsageReport","summary":"Get a billing usage report","description":"This operation is part of the public Roboflow Platform API.","parameters":[{"name":"workspace","in":"path","required":true,"description":"Workspace URL slug.","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Request fields vary by operation. See the linked guide for the supported fields.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenObject"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"}}}}}}
```
