---
title: "Source Details"
method: GET
path: "/sources/{sourceId}"
tags: ["Sources"]
---

# Source Details

`GET /sources/{sourceId}`

Returns Source metadata.

## Response `200`

- Source — Describes a Source: an abstract representation of a piece of media as defined in <https://specs.amwa.tv/ms-04/releases/v1.0.0/docs/2.2._Explanation_-_Source.html> Sources may be elemental (and represented directly by a Flow), or may represent a collection of other Sources, e.g. a Source collecting video and audio together.
  - `id` string, required — Source identifier
  - `format` 'urn:x-nmos:format:video' | 'urn:x-nmos:format:audio' | 'urn:x-nmos:format:data' | 'urn:x-nmos:format:multi', uri, required — The primary content type URN for the Source.
  - `label` string — Freeform string label for the Source
  - `description` string — Freeform text describing the Source
  - `created_by` string — A string identifier for the entity that created the Source. Implementations SHOULD set suitable default values for `created_by` based on the principal accessing the system, and MAY permit clients to edit the value, subject to suitable permissions-based limitations.
  - `updated_by` string — A string identifier for the entity that updated the Source metadata most recently. Implementations SHOULD set suitable default values for `updated_by` based on the principal accessing the system, and MAY permit clients to edit the value, subject to suitable permissions-based limitations.
  - `created` string, date-time — The date-time the Source was created in a given context, e.g. in the store. Implementations SHOULD ignore this if given in a PUT request, and instead manage it internally
  - `updated` string, date-time — The date-time the Source metadata was last updated in a given context, e.g. in the store. Implementations SHOULD ignore this if given in a PUT request, and instead manage it internally
  - `tags` Tags — Key value is a freeform string.
  - `source_collection` Collectionitem[] — List of Sources that are collected together by this Source. This attribute is intended to be read-only. Implementations SHOULD ignore this if given in a PUT request, and instead manage it internally. Source collections can be inferred from Flow collection definitions.
    - `id` string, required — Source or Flow Identifier of the member of this collection. Sources must only collect Sources, and Flows must only collect Flows. Must already be registered in TAMS
    - `role` string, required — A human-readable role of the element in this collection (e.g. 'R' to denote a right audio channel in a collection of mono audio Sources)
    - `container_mapping` Containermapping — Defines the location of Flow essence data in a container track
      - `track_index` integer — A zero-based and sequential track index in the container. This assumes a reliable ordering of tracks
      - `format_track_index` integer — A zero-based and sequential track index in the container for a particular Flow format. A container with a video and 2 audio tracks would have a format_track_index 0 for the video Flow and format_track_index 0 and 1 for the audio Flows. This assumes a reliable ordering of tracks for each Flow format
      - `audio_track` object — Mapping for channels in audio tracks to the Flow channels
        - `channel_numbers` integer[] — Array of (zero-based) container channel numbers in Flow order
        - `channel_range` string — Inclusive range of (zero-based) container channel numbers
      - `mp2ts_container` object — Mapping to MPEG-2 Transport Stream containers, ISO/IEC 13818-1 or ITU-T Recommendation H.222.0
        - `pid` integer — The packet ID for the elementary stream packets
      - `mxf_container` object — Mapping to Material Exchange Format containers, SMPTE ST 377-1
        - `package_uid` string — The package UID. Either a SMPTE UMID URN or UUID URN
        - `track_id` integer — The track ID in the package
      - `isobmff_container` object — Mapping to ISO Base Media File Format (e.g. MP4 and MOV) containers, ISO/IEC 14496-12
        - `track_id` integer — The track ID
  - `collected_by` string[] — Sources that reference this Source to include it in a collection. This attribute is intended to be read-only. Implementations SHOULD ignore this if given in a PUT request, and instead manage it internally. Source collections can be inferred from Flow collection definitions.

## Other responses

- `404` — The requested Source does not exist.

## Changes

- **2025-04-24** `b01aaf8cffe2` — 3 info
  - added the optional property `source_collection/items/container_mapping` to the response with the `200` status
  - removed the `urn:x-tam:format:image` enum value from the `format` response property for the response status `200`
  - response property `tags/additionalProperties/` list-of-types was narrowed by removing types `array` from media type `application/json` of response `200`

[Change history](https://skmtc.dev/aws-samples/apis/time-addressable-media-store/changes/sources/:sourceId/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/b01aaf8cffe2/schema)
