# Get workspace model version

`GET https://api.endless.app/organizations/{organization_id}/models/{media_model_id}/versions/{version_id}`

Source: https://endless.app/docs/api/workspace-models/version

Get workspace model version. Scoped to the organization named by `organization_id`, and the media model named by `media_model_id`, and the version named by `version_id`.

## Authentication

- `bearerAuth`: HTTP bearer (JWT)

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `organization_id` | path | string | yes |  |
| `media_model_id` | path | string (uuid) | yes |  |
| `version_id` | path | string (uuid) | yes |  |
| `Endless-Api-Version` | header | string | no | Pin the caller to an API major (`1`). Omit to accept the current version. A major this deployment cannot serve is refused with 400 `unsupported_api_version`. |

## Responses

### 200 OK

Content type: `application/json` — object

- `id` (string (uuid), required)
- `codename` (string, required)
- `name` (string, required)
- `owner` (string | null, required)
- `description` (string | null, required)
- `output_type` ("text" | "image" | "video" | "audio", required)
- `parameters` (string | number | boolean | null | object | array<any | null> | null, required)
- `type` ("edit" | "convert" | "remix" | null, required)
- `minimum_required_plan` ("hobby" | "basic" | "pro" | "business" | null, required)
- `position` (number, required)
- `unlisted` (boolean, required)
- `version_id` (string | null, required)
- `version_number` (integer | null, required)
- `version_status` ("draft" | "current" | "superseded" | "disabled" | "discarded")
- `enabled` (boolean, required)
- `plan_available` (boolean, required)
- `base_cost` (number | null, required)
- `cost_floor` (object, required)
  - `min` (number | null, required)
  - `max` (number | null, required)
  - `parameters` (object, required)
  - `open_ended` (boolean, required)
- `cost_floor_by_input` (object, required)
  - `image` (object)
    - `min` (number | null, required)
    - `max` (number | null, required)
    - `parameters` (object, required)
    - `open_ended` (boolean, required)
  - `video` (object)
    - `min` (number | null, required)
    - `max` (number | null, required)
    - `parameters` (object, required)
    - `open_ended` (boolean, required)
  - `audio` (object)
    - `min` (number | null, required)
    - `max` (number | null, required)
    - `parameters` (object, required)
    - `open_ended` (boolean, required)
- `preference_position` (number | null)
- `variants` (array<object>)
  - `id` (string (uuid), required)
  - `media_model_version_id` (string (uuid) | null, required)
  - `key` (string | null, required)
  - `fal_model_id` (string | null, required)
  - `replicate_model_id` (string | null, required)
  - `elevenlabs_model_id` (string | null, required)
  - `to_provider_input` (string | null, required)
  - `from_provider_output` (string | null, required)
  - `cost_mapper` (string | null, required)
  - `match_rule` (string | number | boolean | null | object | array<any | null> | null, required)
  - `priority` (integer, required)
  - `enabled` (boolean, required)
  - `is_default` (boolean, required)
- `quick_actions` (array<object>)
  - `id` (string (uuid), required)
  - `media_model_id` (string (uuid), required)
  - `organization_id` (string | null, required)
  - `created_by_id` (string | null, required)
  - `visibility` ("private" | "workspace" | "public", required)
  - `voice_id` (string (uuid) | null, required)
  - `codename` (string | null, required)
  - `name` (string, required)
  - `description` (string | null, required)
  - `schema` (string | number | boolean | null | object | array<any | null> | null, required)

### Errors

- `400` (Error): The request is malformed, or failed input validation. `message` names the field and the rule it broke; `data.issues` carries them individually.
- `401` (Error): No bearer token, or a token that failed verification.
- `402` (Error): The workspace has no credits left, or the caller is over a spending limit.
- `403` (Error): Authenticated, but the caller's role in this workspace does not carry the permission this operation needs.
- `404` (Error): No resource with that id, or the caller cannot read it. The two are deliberately one answer, so an id cannot be probed for existence.
- `409` (Error): The request is well-formed, but the resource's current state forbids it — a taken name, a last admin, a limit already reached.
- `429` (Error): The caller has spent its rate-limit window. `Retry-After` says when to come back.
- `500` (Error): The request failed on our side. Safe to retry an idempotent operation with backoff.
