---
title: "Media Object Information"
method: GET
path: "/objects/{objectId}"
tags: ["Objects"]
---

# Media Object Information

`GET /objects/{objectId}`

Contains Flows that references the Media Object and other information.

The paging query parameters and headers are required for the list of Flow references in the Media Object.
Service implementations should return a complete list of Flow references within reason and API clients should expect paging to happen in some rare cases where a Media Object is used in many Flows.

## Path parameters

- `objectId` string, required

## Query parameters

- `verbose_storage` boolean
- `accept_get_urls` string — A list of Media Object GET URL Labels, formatted for use in query string parameters
- `accept_storage_ids` string
- `presigned` boolean
- `flow_tag.{name}` string
- `flow_tag_exists.{name}` boolean
- `page` string
- `limit` integer

## Response `200`

- Object — Provides the location and metadata of the media files corresponding to a Media Object.
  - `id` string, required — The Media Object identifier.
  - `referenced_by_flows` Uuid[], required — List of Flows that reference this Media Object via Flow Segments in this store instance.
  - `first_referenced_by_flow` string — A Universally Unique Identifier (UUID) as defined in [RFC9562](https://www.rfc-editor.org/rfc/rfc9562)
  - `timerange` string, required — A timerange of timestamps. It is represented using one or two timestamps with inclusivity and exclusivity markers. E.g. * `[0:0_10:0)` represents 10 seconds of media starting at timestamp `0:0` and ending before `10:0`. * `(5:0_` represents a timerange starting after `5:0` and to eternity. * `[1694429247:0_1694429248:0)` is a 1 second TAI timerange starting at 2023-09-11T10:46:50.0Z UTC. * `[1694429247:0]` is an instantaneous TAI timerange at 2023-09-11T10:46:50.0Z UTC. This is equivalent to `[1694429247:0_1694429247:0]`. The short syntax is preferred due to ease of identification as instantaneous. Instantaneous TimeRanges cannot use exclusive markers (i.e. `(` or `)`). * A `[` or `]` indicates that bound is inclusive, and a `(` or `)` indicates that bound is exclusive. Details of the format can be found in the [Timestamps in TAMS](https://github.com/bbc/tams/blob/main/docs/appnotes/0008-timestamps-in-TAMS.md) application note.
  - `get_urls` object[] — A list of URLs to which a GET request can be made to directly retrieve the contents of the Media Object. This is required by the `http_object_store` Storage Backend type, which is the only one currently described. Clients may choose any URL in the list and treat the content returned as identical, however servers may sort the list such that the preferred URL is first. Storage Backend metadata for controlled URLs should be populated by the TAMS instance based on the Storage Backend the Meda Object instance resides in.
    - `store_type` 'http_object_store' — The generic Storage Backend type. Used to identify the required workflow for reading and writing media. Any `store_product` should be compatible, as much is required for basic interoperability between TAMS implementations, with their associated generic `store_type`.
    - `provider` string — The cloud (or other) provider of the Storage Backend
    - `region` string — The region in the cloud this Storage Backend resides
    - `availability_zone` string — The availability zone in the cloud region this Storage Backend resides. Note that many cloud providers randomize availability zone identifiers such that they are consistent within a cloud account, but not necessarily between accounts. Caution should be exercised when using this parameter.
    - `store_product` string — The storage product name.
    - `storage_id` string — A Universally Unique Identifier (UUID) as defined in [RFC9562](https://www.rfc-editor.org/rfc/rfc9562)
    - `url` string, required — A URL to which a GET request can be made to directly retrieve the contents of the media object. Clients should include credentials if the provide URL is on the same origin as the API endpoint
    - `presigned` boolean — If `true`, this URL is pre-signed. If this parameter is unset, the URL is NOT pre-signed.
    - `label` string — Label identifying this URL. If the URL is controlled by the service instance, this is the Storage Backend's label. If the URL is uncontrolled, this is the label provided when a client registered the URL. If the 'label' is not set then this URL can't be filtered for using the 'accept_get_urls' API query parameter.
    - `controlled` boolean — If `true`, this URL is on a Storage Backend controlled by this service instance. If `false`, this URL is uncontrolled and does not have it's lifecycle managed by this instance. If this parameter is unset, assume `true`.
  - `key_frame_count` integer — The number of key frames in the Media Object. This should be set greater than zero when the Media Object contains key frames that serve as a stream access point

## Other responses

- `400` — Bad request. Invalid query options.
- `404` — The requested Media Object does not exist.

## Changes

- **2025-10-21** `4c8d2bfcb854` — 1 info
  - added the required property `allOf[subschema #1]/timerange` to the response with the `200` status
- **2025-10-16** `b23d7880c91d` — 4 info
  - added the new optional `query` request parameter `accept_get_urls`
  - added the new optional `query` request parameter `accept_storage_ids`
  - added the new optional `query` request parameter `presigned`
  - added the new optional `query` request parameter `verbose_storage`
- **2025-10-15** `8639ecff0b6c` — 2 info
  - added the new optional `query` request parameter `flow_tag.{name}`
  - added the new optional `query` request parameter `flow_tag_exists.{name}`
- **2025-10-06** `0eeba8c316ce` — 3 breaking, 1 warning, 1 info
  - the response's body type/format changed from `object`/`` to ``/`` for status `200`
  - removed the required property `id` from the response with the `200` status
  - removed the required property `referenced_by_flows` from the response with the `200` status
  - removed the optional property `first_referenced_by_flow` from the response with the `200` status
  - …1 more
- **2025-07-02** `fff531b4534a` — 1 breaking, 1 info
  - removed the required property `object_id` from the response with the `200` status
  - added the required property `id` to the response with the `200` status

[Full history](https://skmtc.dev/aws-samples/apis/time-addressable-media-store/changes/objects/:objectId/get.md)

---

[API](https://skmtc.dev/aws-samples/apis/time-addressable-media-store.md) · [All operations](https://skmtc.dev/aws-samples/apis/time-addressable-media-store/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/aws-samples/time-addressable-media-store/revisions/4c8d2bfcb854/schema)
