Developer_release_1.4.0

Class lua-repl.lib.rest.nmos.node.api

Node REST API wrapper.

Overview

The Node API is exposed by each NMOS Node in a system, regardless of whether it is possible for that Node to provide NMOS resources such as Flows, Sources etc. Data exposed by the Node API is used to populate the (distributed) registry via the Registration API. In smaller deployments the Node API is fetched from directly as required by Nodes which implement the peer-to-peer specification.

Further Documentation

Further normative documentation covering the behaviour of this API is contained in the [docs](../docs) folder of this repository.

Methods

api.devices[deviceId]:get () Get a single Device.
api.devices:get () List Devices.
api.flows[flowId]:get () Get a single Flow.
api.flows:get () List Flows.
api.receivers[receiverId].target:options () A pre-flight check generally used for Cross-Origin Resource Sharing (CORS) purposes.
api.receivers[receiverId].target:put (payload) Request a change to a Receiver's subscription (deprecated).
api.receivers[receiverId]:get () Get a single Receiver.
api.receivers[receiverId]:options_target () A pre-flight check generally used for Cross-Origin Resource Sharing (CORS) purposes.
api.receivers[receiverId]:put_target (payload) Request a change to a Receiver's subscription (deprecated).
api.receivers:get () List Receivers.
api.self:get () Get information about this Node.
api.senders[senderId]:get () Get a single Sender.
api.senders:get () List Senders.
api.sources[sourceId]:get () Get a single Source.
api.sources:get () List Sources.
lua-repl.lib.rest.nmos.node.api:get () List of paths available from this API.
lua-repl.lib.rest.nmos.node.api:get_devices () List Devices.
lua-repl.lib.rest.nmos.node.api:get_flows () List Flows.
lua-repl.lib.rest.nmos.node.api:get_receivers () List Receivers.
lua-repl.lib.rest.nmos.node.api:get_self () Get information about this Node.
lua-repl.lib.rest.nmos.node.api:get_senders () List Senders.
lua-repl.lib.rest.nmos.node.api:get_sources () List Sources.


Methods

api.devices[deviceId]:get ()
Get a single Device.
  • deviceId: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
  • Returns:

      table/Device (status 200)
    1. Describes a Device.
    2. (string) Detailed description of the resource.
    3. (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
    4. (string) Freeform string label for the resource.
    5. (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
    6. (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
    7. controls: (array of items) Control endpoints exposed for the Device.
      • item: (table/device)
      • item.authorization: (boolean) This endpoint requires authorization.
      • item.href: (string/uri) URL to reach a control endpoint, whether http or otherwise.
      • item.type: (string/uri) URN identifying the control format.
    8. (string) Globally unique identifier for the Node which initially created the Device. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
    9. receivers: (array of items) UUIDs of Receivers attached to the Device (deprecated).
      • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
    10. senders: (array of items) UUIDs of Senders attached to the Device (deprecated).
      • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
    11. type: Device type URN. Possible content:
      • (string) Must match the pattern: /^urn:x-nmos:device:/.
      • or
      • (any)
    12. Example:
      {
         controls =
         {
           {
             href = "ws://182.54.54.75:223";
             type = "urn:x-manufacturer:control:generic";
           };
           {
             href = "http://134.24.64.22/x-manufacturer/control/";
             type = "urn:x-manufacturer:control:generic";
           };
           {
             href = "telnet://120.43.64.3:8080";
             type = "urn:x-manufacturer:control:legacy";
           };
         };
         description = "pipeline 1 default device";
         id = "67c25159-ce25-4000-a66c-f31fff890265";
         label = "pipeline 1 default device";
         node_id = "3b8be755-08ff-452b-b217-c9151eb21193";
         receivers = { };
         senders = { };
         tags = { };
         type = "urn:x-nmos:device:pipeline";
         version = "1441703338:962976113";
       }

    Or

      table/Error (status 404) Returned when the requested Device ID does not exist
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Or

      table/Error (status 409) Returned when the requested Device ID exists at a higher API version, and the resource cannot be conformed to the requested API version. The correct API version is identified via the Location header.
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.
    api.devices:get ()
    List Devices.

    Returns:

      table/Devices (status 200)
    1. result.nil: (array of items) Collection of Devices. A list of Device resources.
      • item: Describes a Device.
      • item.description: (string) Detailed description of the resource.
      • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.label: (string) Freeform string label for the resource.
      • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • item.controls: (array of items) Control endpoints exposed for the Device.
        • item: (table/device)
        • item.authorization: (boolean) This endpoint requires authorization.
        • item.href: (string/uri) URL to reach a control endpoint, whether http or otherwise.
        • item.type: (string/uri) URN identifying the control format.
      • item.node_id: (string) Globally unique identifier for the Node which initially created the Device. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.receivers: (array of items) UUIDs of Receivers attached to the Device (deprecated).
        • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.senders: (array of items) UUIDs of Senders attached to the Device (deprecated).
        • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.type: Device type URN. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:device:/.
        • or
        • (any)
    2. Example:
      {
         {
           controls =
           {
             {
               authorization = false;
               href = "wss://154.67.63.2:4535";
               type = "urn:x-manufacturer:control:generic";
             };
           };
           description = "pipeline 3 default device";
           id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           label = "pipeline 3 default device";
           node_id = "3b8be755-08ff-452b-b217-c9151eb21193";
           receivers = { };
           senders = { "d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e" };
           tags = { };
           type = "urn:x-nmos:device:pipeline";
           version = "1441704616:592733242";
         };
         {
           controls =
           {
             {
               href = "ws://182.54.54.75:223";
               type = "urn:x-manufacturer:control:generic";
             };
             {
               href = "http://134.24.64.22/x-manufacturer/control/";
               type = "urn:x-manufacturer:control:generic";
             };
             {
               href = "telnet://120.43.64.3:8080";
               type = "urn:x-manufacturer:control:legacy";
             };
           };
           description = "pipeline 1 default device";
           id = "67c25159-ce25-4000-a66c-f31fff890265";
           label = "pipeline 1 default device";
           node_id = "3b8be755-08ff-452b-b217-c9151eb21193";
           receivers = { };
           senders = { };
           tags = { };
           type = "urn:x-nmos:device:pipeline";
           version = "1441703338:962976113";
         };
         {
           controls = { };
           description = "pipeline 2 default device";
           id = "05017e08-b329-45f9-a566-a3f99cc11e4d";
           label = "pipeline 2 default device";
           node_id = "3b8be755-08ff-452b-b217-c9151eb21193";
           receivers = { "1eb53d65-ac83-441c-86f6-9b27df30ef0c" };
           senders = { };
           tags = { };
           type = "urn:x-nmos:device:pipeline";
           version = "1441704514:993221361";
         };
       }
    api.flows[flowId]:get ()
    Get a single Flow.
  • flowId: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
  • Returns:

      table/Flow (status 200) Example:
      {
         colorspace = "BT709";
         components =
         {
           { bit_depth = 10, height = 1080, name = "Y", width = 1920 };
           { bit_depth = 10, height = 1080, name = "Cb", width = 960 };
           { bit_depth = 10, height = 1080, name = "Cr", width = 960 };
         };
         description = "Test Card";
         device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
         format = "urn:x-nmos:format:video";
         frame_height = 1080;
         frame_width = 1920;
         id = "5fbec3b1-1b0f-417d-9059-8b94a47197ed";
         interlace_mode = "interlaced_tff";
         label = "Test Card";
         media_type = "video/raw";
         parents = { };
         source_id = "02c46999-d532-4c52-905f-2e368a2af6cb";
         tags = { };
         version = "1441704616:587121295";
       }

    Or

      table/Error (status 404) Returned when the requested Flow ID does not exist
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Or

      table/Error (status 409) Returned when the requested Flow ID exists at a higher API version, and the resource cannot be conformed to the requested API version. The correct API version is identified via the Location header.
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.
    api.flows:get ()
    List Flows.

    Returns:

      table/Flows (status 200)
    1. result.nil: (array of items) Collection of Flows. A list of Flow resources.
      • item: Describes a Flow. Possible content:
        • item: Describes a raw Video Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_video_raw) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.colorspace: Colorspace used for the video. Any values not defined in the enum should be defined in the NMOS Parameter Registers. Possible content:
          • (string) Possible values: {"BT601","BT709","BT2020","BT2100"}.
          • or
          • (string) Must match the pattern: /^\S+$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:video"}.
        • item.frame_height: (number/integer) Height of the picture in pixels.
        • item.frame_width: (number/integer) Width of the picture in pixels.
        • item.interlace_mode: (string) Interlaced video mode for frames in this Flow. Possible values: {"progressive","interlaced_tff","interlaced_bff","interlaced_psf"}.
        • item.transfer_characteristic: Transfer characteristic. Any values not defined in the enum should be defined in the NMOS Parameter Registers. Possible content:
          • (string) Possible values: {"SDR","HLG","PQ"}.
          • or
          • (string) Must match the pattern: /^\S+$/.
        • item.components: (array of items) Array of objects describing the components.
          • item: (table/flow_video_raw)
          • item.bit_depth: (number/integer) Number of bits used to describe each sample.
          • item.height: (number/integer) Height of this component in pixels.
          • item.name: (string) Name of this component. Possible values: {"Y","Cb","Cr","I","Ct","Cp","A","R","G","B","DepthMap"}.
          • item.width: (number/integer) Width of this component in pixels.
        • item.media_type: (string) Subclassification of the format using IANA assigned media types. Possible values: {"video/raw"}.
        • or
        • item: Describes a coded Video Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_video_coded) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.colorspace: Colorspace used for the video. Any values not defined in the enum should be defined in the NMOS Parameter Registers. Possible content:
          • (string) Possible values: {"BT601","BT709","BT2020","BT2100"}.
          • or
          • (string) Must match the pattern: /^\S+$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:video"}.
        • item.frame_height: (number/integer) Height of the picture in pixels.
        • item.frame_width: (number/integer) Width of the picture in pixels.
        • item.interlace_mode: (string) Interlaced video mode for frames in this Flow. Possible values: {"progressive","interlaced_tff","interlaced_bff","interlaced_psf"}.
        • item.transfer_characteristic: Transfer characteristic. Any values not defined in the enum should be defined in the NMOS Parameter Registers. Possible content:
          • (string) Possible values: {"SDR","HLG","PQ"}.
          • or
          • (string) Must match the pattern: /^\S+$/.
        • item.media_type: Subclassification of the format using IANA assigned media types. Possible content:
          • (string) Possible values: {"video/H264","video/vc2"}.
          • or
          • (string) Must match the pattern: /^video\/[^\s\/]+$/.
        • or
        • item: Describes a raw audio Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_audio_raw) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:audio"}.
        • item.sample_rate: (table/flow_audio_raw) Number of audio samples per second for this Flow.
        • item.sample_rate.denominator: (number/integer) Denominator.
        • item.sample_rate.numerator: (number/integer) Numerator.
        • item.bit_depth: (number/integer) Bit depth of the audio samples.
        • item.media_type: Subclassification of the format using IANA assigned media types. Possible content:
          • (string) Possible values: {"audio/L24","audio/L20","audio/L16","audio/L8"}.
          • or
          • (string) Must match the pattern: /^audio\/[^\s\/]+$/.
        • or
        • item: Describes a coded audio Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_audio_coded) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:audio"}.
        • item.sample_rate: (table/flow_audio_coded) Number of audio samples per second for this Flow.
        • item.sample_rate.denominator: (number/integer) Denominator.
        • item.sample_rate.numerator: (number/integer) Numerator.
        • item.media_type: (string) Subclassification of the format using IANA assigned media types. Must match the pattern: /^audio\/[^\s\/]+$/.
        • or
        • item: Describes a generic data Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_data) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:data"}.
        • item.media_type: (string) Subclassification of the format using IANA assigned media types. Must match the pattern: /^[^\s\/]+\/[^\s\/]+$/.
        • or
        • item: Describes an SDI ancillary Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_sdianc_data) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.DID_SDID: (array of items) List of Data identification and Secondary data identification words.
          • item: (table/flow_sdianc_data)
          • item.DID: (string) Data identification word. Must match the pattern: /^0x[0-9a-fA-F]{2}$/.
          • item.SDID: (string) Secondary data identification word. Must match the pattern: /^0x[0-9a-fA-F]{2}$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:data"}.
        • item.media_type: (string) Subclassification of the format using IANA assigned media types. Possible values: {"video/smpte291"}.
        • or
        • item: Describes a JSON based Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_json_data) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.event_type: (string) Event type generated by this Flow, if applicable.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:data"}.
        • item.media_type: (string) Subclassification of the format using IANA assigned media types. Possible values: {"application/json"}.
        • or
        • item: Describes a mux Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_mux) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:mux"}.
        • item.media_type: Subclassification of the format using IANA assigned media types. Possible content:
          • (string) Possible values: {"video/SMPTE2022-6"}.
          • or
          • (string) Must match the pattern: /^[^\s\/]+\/[^\s\/]+$/.
    2. Example:
      {
         {
           colorspace = "BT709";
           components =
           {
             { bit_depth = 10, height = 1080, name = "Y", width = 1920 };
             { bit_depth = 10, height = 1080, name = "Cb", width = 960 };
             { bit_depth = 10, height = 1080, name = "Cr", width = 960 };
           };
           description = "Test Card";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:video";
           frame_height = 1080;
           frame_width = 1920;
           id = "5fbec3b1-1b0f-417d-9059-8b94a47197ed";
           interlace_mode = "interlaced_tff";
           label = "Test Card";
           media_type = "video/raw";
           parents = { };
           source_id = "02c46999-d532-4c52-905f-2e368a2af6cb";
           tags = { };
           version = "1441704616:587121295";
         };
         {
           description = "VANC Data";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:data";
           id = "db3bd465-2772-484f-8fac-830b0471258b";
           label = "VANC Data";
           media_type = "video/smpte291";
           parents = { };
           source_id = "0e635152-e501-4d4e-bb87-9f3fe05eb79a";
           tags = { };
           version = "1453880607:123995943";
         };
         {
           description = "TR-04 Video";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:mux";
           id = "4857f747-96cf-4ed7-8f4b-9497199f1f25";
           label = "TR-04 Video";
           media_type = "video/SMPTE2022-6";
           parents = { };
           source_id = "782fac41-17f6-4a21-8186-57ba63a1a8d3";
           tags = { };
           version = "1453880607:123995943";
         };
         {
           description = "IS-07 Temperature Readings (C)";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           event_type = "number/temperature/C";
           format = "urn:x-nmos:format:data";
           id = "6327c381-1239-41d1-b314-efc719600e26";
           label = "IS-07 Temperature Readings (C)";
           media_type = "application/json";
           parents = { };
           source_id = "33e28c6f-d5ab-4ae5-b00d-f1cccab29af4";
           tags = { };
           version = "1453880605:374934072";
         };
         {
           description = "IS-07 Temperature Readings (F)";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           event_type = "number/temperature/F";
           format = "urn:x-nmos:format:data";
           id = "6327c381-1239-41d1-b314-efc719600e26";
           label = "IS-07 Temperature Readings (F)";
           media_type = "application/json";
           parents = { };
           source_id = "33e28c6f-d5ab-4ae5-b00d-f1cccab29af4";
           tags = { };
           version = "1453880605:374934072";
         };
         {
           description = "IS-07 Button";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           event_type = "boolean";
           format = "urn:x-nmos:format:data";
           id = "fa6258b9-2826-4a0d-81d0-7da9edbc405f";
           label = "IS-07 Button";
           media_type = "application/json";
           parents = { };
           source_id = "c8d27a1d-d124-4d06-bc43-312fd36f7db1";
           tags = { };
           version = "1453880605:374934072";
         };
       }
    api.receivers[receiverId].target:options ()
    A pre-flight check generally used for Cross-Origin Resource Sharing (CORS) purposes.

    Returns:

      table (status 200) result
    1. result.body: (string) Empty string.
    2. result.status: (number) 200.

    Or

      table (status 403) result
    1. result.body: (string) Empty string.
    2. result.status: (number) 403.
    api.receivers[receiverId].target:put (payload)
    Request a change to a Receiver's subscription (deprecated).

    Parameters:

    • payload (table) nil
    • args.payload: Describes the possible requests to a Node's Receiver target resource. Possible content:
      • sender: Describes a sender.
      • sender.description: (string) Detailed description of the resource.
      • sender.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • sender.label: (string) Freeform string label for the resource.
      • sender.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • sender.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • sender.caps: (table/sender) Capabilities of this sender.
      • sender.device_id: (string) Device ID which this Sender forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • sender.flow_id: (string | nil) ID of the Flow currently passing via this Sender. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • sender.interface_bindings: (array of items) Binding of Sender egress ports to interfaces on the parent Node..
        • item: (string)
      • sender.manifest_href: (string | nil/uri) HTTP(S) accessible URL to a file describing how to connect to the Sender.
      • sender.subscription: (table/sender) Object indicating how this Sender is currently configured to send data.
      • sender.subscription.active: (boolean) Sender is enabled and configured to send data.
      • sender.subscription.receiver_id: (string | nil) UUID of the Receiver to which this Sender is currently configured to send data. Only set if it is active, uses a unicast push-based transport and is sending to an NMOS Receiver; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • sender.transport: Transport type used by the Sender in URN format. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:transport:/.
        • or
        • (any)
      • or
      • (table/nodeapi_receiver_target) Describes an empty object.

    Returns:

      table/ReceiverTarget (status 202)
    1. Describes the possible requests to a Node's Receiver target resource. Possible content:
      • alt1: Describes a sender.
      • alt1.description: (string) Detailed description of the resource.
      • alt1.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.label: (string) Freeform string label for the resource.
      • alt1.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • alt1.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • alt1.caps: (table/sender) Capabilities of this sender.
      • alt1.device_id: (string) Device ID which this Sender forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.flow_id: (string | nil) ID of the Flow currently passing via this Sender. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.interface_bindings: (array of items) Binding of Sender egress ports to interfaces on the parent Node..
        • item: (string)
      • alt1.manifest_href: (string | nil/uri) HTTP(S) accessible URL to a file describing how to connect to the Sender.
      • alt1.subscription: (table/sender) Object indicating how this Sender is currently configured to send data.
      • alt1.subscription.active: (boolean) Sender is enabled and configured to send data.
      • alt1.subscription.receiver_id: (string | nil) UUID of the Receiver to which this Sender is currently configured to send data. Only set if it is active, uses a unicast push-based transport and is sending to an NMOS Receiver; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.transport: Transport type used by the Sender in URN format. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:transport:/.
        • or
        • (any)
      • or
      • (table/nodeapi_receiver_target) Describes an empty object.
    2. Example:
      {
         caps = { };
         description = "Test Card";
         device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
         flow_id = "5fbec3b1-1b0f-417d-9059-8b94a47197ed";
         id = "d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e";
         interface_bindings = { "eth0", "eth1" };
         label = "Test Card";
         manifest_href = "http://172.29.80.65/x-manufacturer/senders/d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e/stream.sdp";
         subscription = { active = true };
         tags = { };
         transport = "urn:x-nmos:transport:rtp.mcast";
         version = "1441704616:890020555";
       }

    Or

      table/Error (status 400) Returned when the PUT request is incorrectly formatted or missing mandatory attributes
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Or

      table/Error (status 404) Returned when the requested Receiver ID does not exist
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Or

      table/Error (status 409) Returned when the requested Receiver ID exists at a higher API version, and the resource cannot be conformed to the requested API version. The correct API version is identified via the Location header.
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Or

      table/Error (status 501) This feature has not been implemented due to deprecation
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Usage:

      node = require "lua-repl.lib.rest.nmos.node"
      api = node:create_api("http://node.nmos.acme.example.com")
      payload =
      {
        caps = { };
        description = "Test Card";
        device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
        flow_id = "5fbec3b1-1b0f-417d-9059-8b94a47197ed";
        id = "d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e";
        interface_bindings = { "eth0", "eth1" };
        label = "Test Card";
        manifest_href = "http://172.29.80.65/x-manufacturer/senders/d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e/stream.sdp";
        subscription = { active = true };
        tags = { };
        transport = "urn:x-nmos:transport:rtp.mcast";
        version = "1441704616:890020555";
      }
      result = api.receivers[receiverId].target:put(payload)
    api.receivers[receiverId]:get ()
    Get a single Receiver.
  • receiverId: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
  • Returns:

      table/Receiver (status 200)
    1. Describes a Receiver. Possible content:
      • receiver_video: Describes a video Receiver.
      • receiver_video.description: (string) Detailed description of the resource.
      • receiver_video.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_video.label: (string) Freeform string label for the resource.
      • receiver_video.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • receiver_video.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • receiver_video.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_video.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
        • item: (string)
      • receiver_video.subscription: (table/receiver_video) Object indicating how this Receiver is currently configured to receive data.
      • receiver_video.subscription.active: (boolean) Receiver is enabled and configured to receive data.
      • receiver_video.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_video.transport: Transport type accepted by the Receiver in URN format. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:transport:/.
        • or
        • (any)
      • receiver_video.caps: (table/receiver_video) Capabilities.
      • receiver_video.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
        • item: Possible content:
          • (string) Possible values: {"video/raw","video/H264","video/vc2"}.
          • or
          • (string) Must match the pattern: /^video\/[^\s\/]+$/.
      • receiver_video.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:video"}.
      • or
      • receiver_audio: Describes an audio Receiver.
      • receiver_audio.description: (string) Detailed description of the resource.
      • receiver_audio.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_audio.label: (string) Freeform string label for the resource.
      • receiver_audio.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • receiver_audio.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • receiver_audio.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_audio.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
        • item: (string)
      • receiver_audio.subscription: (table/receiver_audio) Object indicating how this Receiver is currently configured to receive data.
      • receiver_audio.subscription.active: (boolean) Receiver is enabled and configured to receive data.
      • receiver_audio.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_audio.transport: Transport type accepted by the Receiver in URN format. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:transport:/.
        • or
        • (any)
      • receiver_audio.caps: (table/receiver_audio) Capabilities.
      • receiver_audio.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
        • item: Possible content:
          • (string) Possible values: {"audio/L24","audio/L20","audio/L16","audio/L8"}.
          • or
          • (string) Must match the pattern: /^audio\/[^\s\/]+$/.
      • receiver_audio.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:audio"}.
      • or
      • receiver_data: Describes a data Receiver.
      • receiver_data.description: (string) Detailed description of the resource.
      • receiver_data.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_data.label: (string) Freeform string label for the resource.
      • receiver_data.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • receiver_data.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • receiver_data.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_data.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
        • item: (string)
      • receiver_data.subscription: (table/receiver_data) Object indicating how this Receiver is currently configured to receive data.
      • receiver_data.subscription.active: (boolean) Receiver is enabled and configured to receive data.
      • receiver_data.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_data.transport: Transport type accepted by the Receiver in URN format. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:transport:/.
        • or
        • (any)
      • receiver_data.caps: (table/receiver_data) Capabilities.
      • receiver_data.caps.event_types: (array of items) Subclassification of the event types accepted defined by the AMWA IS-07 specification.
        • item: (string)
      • receiver_data.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
        • item: Possible content:
          • (string) Possible values: {"video/smpte291","application/json"}.
          • or
          • (string) Must match the pattern: /^[^\s\/]+\/[^\s\/]+$/.
      • receiver_data.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:data"}.
      • or
      • receiver_mux: Describes a mux Receiver.
      • receiver_mux.description: (string) Detailed description of the resource.
      • receiver_mux.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_mux.label: (string) Freeform string label for the resource.
      • receiver_mux.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • receiver_mux.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • receiver_mux.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_mux.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
        • item: (string)
      • receiver_mux.subscription: (table/receiver_mux) Object indicating how this Receiver is currently configured to receive data.
      • receiver_mux.subscription.active: (boolean) Receiver is enabled and configured to receive data.
      • receiver_mux.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • receiver_mux.transport: Transport type accepted by the Receiver in URN format. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:transport:/.
        • or
        • (any)
      • receiver_mux.caps: (table/receiver_mux) Capabilities.
      • receiver_mux.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
        • item: Possible content:
          • (string) Possible values: {"video/SMPTE2022-6"}.
          • or
          • (string) Must match the pattern: /^[^\s\/]+\/[^\s\/]+$/.
      • receiver_mux.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:mux"}.
    2. Example:
      {
         caps =
         {
           media_types = { "video/raw" };
         };
         description = "";
         device_id = "05017e08-b329-45f9-a566-a3f99cc11e4d";
         format = "urn:x-nmos:format:video";
         id = "1eb53d65-ac83-441c-86f6-9b27df30ef0c";
         interface_bindings = { "eth0", "eth1" };
         label = "RTPRx";
         subscription = { active = true, sender_id = "2683ad14-642f-459d-a169-ef91c76cec6b" };
         tags = { };
         transport = "urn:x-nmos:transport:rtp";
         version = "1441704532:450093308";
       }

    Or

      table/Error (status 404) Returned when the requested Receiver ID does not exist
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Or

      table/Error (status 409) Returned when the requested Receiver ID exists at a higher API version, and the resource cannot be conformed to the requested API version. The correct API version is identified via the Location header.
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.
    api.receivers[receiverId]:options_target ()
    A pre-flight check generally used for Cross-Origin Resource Sharing (CORS) purposes. This function is alias for api.receivers[receiverId].target:options().

    Returns:

      table (status 200) result
    1. result.body: (string) Empty string.
    2. result.status: (number) 200.

    Or

      table (status 403) result
    1. result.body: (string) Empty string.
    2. result.status: (number) 403.
    api.receivers[receiverId]:put_target (payload)
    Request a change to a Receiver's subscription (deprecated). This function is alias for api.receivers[receiverId].target:put(payload).

    Parameters:

    • payload (table) nil
    • args.payload: Describes the possible requests to a Node's Receiver target resource. Possible content:
      • alt1: Describes a sender.
      • alt1.description: (string) Detailed description of the resource.
      • alt1.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.label: (string) Freeform string label for the resource.
      • alt1.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • alt1.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • alt1.caps: (table/sender) Capabilities of this sender.
      • alt1.device_id: (string) Device ID which this Sender forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.flow_id: (string | nil) ID of the Flow currently passing via this Sender. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.interface_bindings: (array of items) Binding of Sender egress ports to interfaces on the parent Node..
        • item: (string)
      • alt1.manifest_href: (string | nil/uri) HTTP(S) accessible URL to a file describing how to connect to the Sender.
      • alt1.subscription: (table/sender) Object indicating how this Sender is currently configured to send data.
      • alt1.subscription.active: (boolean) Sender is enabled and configured to send data.
      • alt1.subscription.receiver_id: (string | nil) UUID of the Receiver to which this Sender is currently configured to send data. Only set if it is active, uses a unicast push-based transport and is sending to an NMOS Receiver; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.transport: Transport type used by the Sender in URN format. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:transport:/.
        • or
        • (any)
      • or
      • (table/nodeapi_receiver_target) Describes an empty object.

    Returns:

      table/ReceiverTarget (status 202)
    1. Describes the possible requests to a Node's Receiver target resource. Possible content:
      • alt1: Describes a sender.
      • alt1.description: (string) Detailed description of the resource.
      • alt1.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.label: (string) Freeform string label for the resource.
      • alt1.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • alt1.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • alt1.caps: (table/sender) Capabilities of this sender.
      • alt1.device_id: (string) Device ID which this Sender forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.flow_id: (string | nil) ID of the Flow currently passing via this Sender. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.interface_bindings: (array of items) Binding of Sender egress ports to interfaces on the parent Node..
        • item: (string)
      • alt1.manifest_href: (string | nil/uri) HTTP(S) accessible URL to a file describing how to connect to the Sender.
      • alt1.subscription: (table/sender) Object indicating how this Sender is currently configured to send data.
      • alt1.subscription.active: (boolean) Sender is enabled and configured to send data.
      • alt1.subscription.receiver_id: (string | nil) UUID of the Receiver to which this Sender is currently configured to send data. Only set if it is active, uses a unicast push-based transport and is sending to an NMOS Receiver; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • alt1.transport: Transport type used by the Sender in URN format. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:transport:/.
        • or
        • (any)
      • or
      • (table/nodeapi_receiver_target) Describes an empty object.
    2. Example:
      {
         caps = { };
         description = "Test Card";
         device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
         flow_id = "5fbec3b1-1b0f-417d-9059-8b94a47197ed";
         id = "d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e";
         interface_bindings = { "eth0", "eth1" };
         label = "Test Card";
         manifest_href = "http://172.29.80.65/x-manufacturer/senders/d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e/stream.sdp";
         subscription = { active = true };
         tags = { };
         transport = "urn:x-nmos:transport:rtp.mcast";
         version = "1441704616:890020555";
       }

    Or

      table/Error (status 400) Returned when the PUT request is incorrectly formatted or missing mandatory attributes
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Or

      table/Error (status 404) Returned when the requested Receiver ID does not exist
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Or

      table/Error (status 409) Returned when the requested Receiver ID exists at a higher API version, and the resource cannot be conformed to the requested API version. The correct API version is identified via the Location header.
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Or

      table/Error (status 501) This feature has not been implemented due to deprecation
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Usage:

      node = require "lua-repl.lib.rest.nmos.node"
      api = node:create_api("http://node.nmos.acme.example.com")
      payload =
      {
        caps = { };
        description = "Test Card";
        device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
        flow_id = "5fbec3b1-1b0f-417d-9059-8b94a47197ed";
        id = "d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e";
        interface_bindings = { "eth0", "eth1" };
        label = "Test Card";
        manifest_href = "http://172.29.80.65/x-manufacturer/senders/d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e/stream.sdp";
        subscription = { active = true };
        tags = { };
        transport = "urn:x-nmos:transport:rtp.mcast";
        version = "1441704616:890020555";
      }
      result = api.receivers[receiverId]:put_target(payload)
    api.receivers:get ()
    List Receivers.

    Returns:

      table/Receivers (status 200)
    1. result.nil: (array of items) Collection of Receivers. A list of Receiver resources.
      • item: Describes a Receiver. Possible content:
        • receiver_video: Describes a video Receiver.
        • receiver_video.description: (string) Detailed description of the resource.
        • receiver_video.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_video.label: (string) Freeform string label for the resource.
        • receiver_video.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • receiver_video.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • receiver_video.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_video.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
          • item: (string)
        • receiver_video.subscription: (table/receiver_video) Object indicating how this Receiver is currently configured to receive data.
        • receiver_video.subscription.active: (boolean) Receiver is enabled and configured to receive data.
        • receiver_video.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_video.transport: Transport type accepted by the Receiver in URN format. Possible content:
          • (string) Must match the pattern: /^urn:x-nmos:transport:/.
          • or
          • (any)
        • receiver_video.caps: (table/receiver_video) Capabilities.
        • receiver_video.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
          • item: Possible content:
            • (string) Possible values: {"video/raw","video/H264","video/vc2"}.
            • or
            • (string) Must match the pattern: /^video\/[^\s\/]+$/.
        • receiver_video.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:video"}.
        • or
        • receiver_audio: Describes an audio Receiver.
        • receiver_audio.description: (string) Detailed description of the resource.
        • receiver_audio.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_audio.label: (string) Freeform string label for the resource.
        • receiver_audio.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • receiver_audio.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • receiver_audio.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_audio.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
          • item: (string)
        • receiver_audio.subscription: (table/receiver_audio) Object indicating how this Receiver is currently configured to receive data.
        • receiver_audio.subscription.active: (boolean) Receiver is enabled and configured to receive data.
        • receiver_audio.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_audio.transport: Transport type accepted by the Receiver in URN format. Possible content:
          • (string) Must match the pattern: /^urn:x-nmos:transport:/.
          • or
          • (any)
        • receiver_audio.caps: (table/receiver_audio) Capabilities.
        • receiver_audio.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
          • item: Possible content:
            • (string) Possible values: {"audio/L24","audio/L20","audio/L16","audio/L8"}.
            • or
            • (string) Must match the pattern: /^audio\/[^\s\/]+$/.
        • receiver_audio.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:audio"}.
        • or
        • receiver_data: Describes a data Receiver.
        • receiver_data.description: (string) Detailed description of the resource.
        • receiver_data.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_data.label: (string) Freeform string label for the resource.
        • receiver_data.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • receiver_data.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • receiver_data.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_data.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
          • item: (string)
        • receiver_data.subscription: (table/receiver_data) Object indicating how this Receiver is currently configured to receive data.
        • receiver_data.subscription.active: (boolean) Receiver is enabled and configured to receive data.
        • receiver_data.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_data.transport: Transport type accepted by the Receiver in URN format. Possible content:
          • (string) Must match the pattern: /^urn:x-nmos:transport:/.
          • or
          • (any)
        • receiver_data.caps: (table/receiver_data) Capabilities.
        • receiver_data.caps.event_types: (array of items) Subclassification of the event types accepted defined by the AMWA IS-07 specification.
          • item: (string)
        • receiver_data.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
          • item: Possible content:
            • (string) Possible values: {"video/smpte291","application/json"}.
            • or
            • (string) Must match the pattern: /^[^\s\/]+\/[^\s\/]+$/.
        • receiver_data.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:data"}.
        • or
        • receiver_mux: Describes a mux Receiver.
        • receiver_mux.description: (string) Detailed description of the resource.
        • receiver_mux.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_mux.label: (string) Freeform string label for the resource.
        • receiver_mux.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • receiver_mux.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • receiver_mux.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_mux.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
          • item: (string)
        • receiver_mux.subscription: (table/receiver_mux) Object indicating how this Receiver is currently configured to receive data.
        • receiver_mux.subscription.active: (boolean) Receiver is enabled and configured to receive data.
        • receiver_mux.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • receiver_mux.transport: Transport type accepted by the Receiver in URN format. Possible content:
          • (string) Must match the pattern: /^urn:x-nmos:transport:/.
          • or
          • (any)
        • receiver_mux.caps: (table/receiver_mux) Capabilities.
        • receiver_mux.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
          • item: Possible content:
            • (string) Possible values: {"video/SMPTE2022-6"}.
            • or
            • (string) Must match the pattern: /^[^\s\/]+\/[^\s\/]+$/.
        • receiver_mux.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:mux"}.
    2. Example:
      {
         {
           caps =
           {
             media_types = { "video/raw" };
           };
           description = "";
           device_id = "05017e08-b329-45f9-a566-a3f99cc11e4d";
           format = "urn:x-nmos:format:video";
           id = "1eb53d65-ac83-441c-86f6-9b27df30ef0c";
           interface_bindings = { "eth0", "eth1" };
           label = "RTPRx";
           subscription = { active = true, sender_id = "2683ad14-642f-459d-a169-ef91c76cec6b" };
           tags = { };
           transport = "urn:x-nmos:transport:rtp";
           version = "1441704532:450093308";
         };
         {
           caps =
           {
             event_types = { "number/temperature/*", "boolean" };
             media_types = { "application/json" };
           };
           description = "";
           device_id = "05017e08-b329-45f9-a566-a3f99cc11e4d";
           format = "urn:x-nmos:format:data";
           id = "9503a7ab-cc49-4b6a-a5a3-d0d0ca5c9671";
           interface_bindings = { "eth0" };
           label = "IS-07 Mixed RTPRx";
           subscription = { active = false };
           tags = { };
           transport = "urn:x-nmos:transport:mqtt";
           version = "1441704532:450093308";
         };
       }
    api.self:get ()
    Get information about this Node.

    Returns:

      table/Node (status 200)
    1. Describes the Node and the services which run on it.
    2. (string) Detailed description of the resource.
    3. (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
    4. (string) Freeform string label for the resource.
    5. (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
    6. (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
    7. (table/node) URL fragments required to connect to the Node API.
    8. api.endpoints: (array of items) Host, port and protocol details required to connect to the API.
      • item: (table/node)
      • item.authorization: (boolean) This endpoint requires authorization.
      • item.host: IP address or hostname which the Node API is running on. Possible content:
        • (string/hostname)
        • or
        • (string/ipv4)
        • or
        • (string/ipv6)
      • item.port: (number/integer) Port number which the Node API is running on. Minimum: 1. Maximum: 65535.
      • item.protocol: (string) Protocol supported by this instance of the Node API. Possible values: {"http","https"}.
    9. api.versions: (array of items) Supported API versions running on this Node.
      • item: (string) Must match the pattern: /^v[0-9]+\.[0-9]+$/.
    10. (table/node) Capabilities (not yet defined).
    11. clocks: (array of items) Clocks made available to Devices owned by this Node.
      • item: Possible content:
        • (table/clock_internal) Describes a clock with no external reference.
        • (string) Name of this refclock (unique for this set of clocks). Must match the pattern: /^clk[0-9]+$/.
        • (string) Type of external reference used by this clock. Possible values: {"internal"}.
        • or
        • (table/clock_ptp) Describes a clock referenced to PTP.
        • (string) ID of the PTP reference used by this clock. Must match the pattern: /^[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}$/.
        • (boolean) Lock state of this clock to the external reference. If true, this device follows the external reference, otherwise it has no defined relationship to the external reference.
        • (string) Name of this refclock (unique for this set of clocks). Must match the pattern: /^clk[0-9]+$/.
        • (string) Type of external reference used by this clock. Possible values: {"ptp"}.
        • (boolean) External refclock is synchronised to International Atomic Time (TAI).
        • (string) Version of PTP reference used by this clock. Possible values: {"IEEE1588-2008"}.
    12. (string/hostname) Node hostname (optional, deprecated).
    13. (string/uri) HTTP access href for the Node's API (deprecated).
    14. interfaces: (array of items) Network interfaces made available to devices owned by this Node. Port IDs and Chassis IDs are used to inform topology discovery via IS-06, and require that interfaces implement ARP at a minimum, and ideally LLDP..
      • item: (table/node)
      • item.attached_network_device: (table/node)
      • item.attached_network_device.chassis_id: Chassis ID of the attached network device, as signalled in LLDP received by this Node. Possible content:
        • (string) When the Chassis ID is a MAC address, use this format. Must match the pattern: /^([0-9a-f]{2}-){5}([0-9a-f]{2})$/.
        • or
        • (string) When the Chassis ID is anything other than a MAC address, a freeform string may be used. Must match the pattern: /^.+$/.
      • item.attached_network_device.port_id: Port ID of the attached network device, as signalled in LLDP received by this Node. Possible content:
        • (string) When the Port ID is a MAC address, use this format. Must match the pattern: /^([0-9a-f]{2}-){5}([0-9a-f]{2})$/.
        • or
        • (string) When the Port ID is anything other than a MAC address, a freeform string may be used. Must match the pattern: /^.+$/.
      • item.chassis_id: Chassis ID of the interface, as signalled in LLDP from this node. Set to null where LLDP is unsuitable for use (ie. virtualised environments). Possible content:
        • (string) When the Chassis ID is a MAC address, use this format. Must match the pattern: /^([0-9a-f]{2}-){5}([0-9a-f]{2})$/.
        • or
        • (string) When the Chassis ID is anything other than a MAC address, a freeform string may be used. Must match the pattern: /^.+$/.
        • or
        • (nil) When the Chassis ID is unavailable it should be set to null.
      • item.name: (string) Name of the interface (unique in scope of this node). This attribute is used by sub-resources of this node such as senders and receivers to refer to interfaces to which they are bound.
      • item.port_id: (string) Port ID of the interface, as signalled in LLDP or via ARP responses from this node. Must be a MAC address. Must match the pattern: /^([0-9a-f]{2}-){5}([0-9a-f]{2})$/.
    15. services: (array of items) Array of objects containing a URN format type and href.
      • item: (table/node)
      • item.authorization: (boolean) This endpoint requires authorization.
      • item.href: (string/uri) URL to reach a service running on the Node.
      • item.type: (string/uri) URN identifying the type of service.
    16. Example:
      {
         api =
         {
           endpoints =
           {
             { host = "172.29.80.65", port = 12345, protocol = "http" };
             {
               authorization = false;
               host = "172.29.80.65";
               port = 443;
               protocol = "https";
             };
           };
           versions = { "v1.0", "v1.1", "v1.2", "v1.3" };
         };
         caps = { };
         clocks =
         {
           { name = "clk0", ref_type = "internal" };
           {
             gmid = "08-00-11-ff-fe-21-e1-b0";
             locked = true;
             name = "clk1";
             ref_type = "ptp";
             traceable = true;
             version = "IEEE1588-2008";
           };
         };
         description = "host1";
         hostname = "host1";
         href = "http://172.29.80.65:12345/";
         id = "3b8be755-08ff-452b-b217-c9151eb21193";
         interfaces =
         {
           {
             attached_network_device = { chassis_id = "2f-8c-af-79-c7-00", port_id = "Ethernet 1/3" };
             chassis_id = "74-26-96-db-87-31";
             name = "eth0";
             port_id = "74-26-96-db-87-31";
           };
           {
             attached_network_device = { chassis_id = "2d-51-2b-85-89-7b", port_id = "Ethernet 1/2" };
             chassis_id = "74-26-96-db-87-31";
             name = "eth1";
             port_id = "74-26-96-db-87-32";
           };
         };
         label = "host1";
         services =
         {
           {
             authorization = false;
             href = "https://172.29.80.65:443/x-manufacturer/pipelinemanager/";
             type = "urn:x-manufacturer:service:pipelinemanager";
           };
           {
             authorization = false;
             href = "https://172.29.80.65:443/x-manufacturer/status/";
             type = "urn:x-manufacturer:service:status";
           };
           {
             authorization = false;
             href = "https://172.29.80.65:443/x-manufacturer/tally/";
             type = "urn:x-manufacturer:service:tally";
           };
           {
             authorization = false;
             href = "https://172.29.80.65:443/x-manufacturer/mdnsbridge/";
             type = "urn:x-manufacturer:service:mdnsbridge";
           };
           {
             authorization = false;
             href = "https://172.29.80.65:443/x-manufacturer/storequery/";
             type = "urn:x-manufacturer:service:storequery";
           };
         };
         tags = { };
         version = "1441700172:318426300";
       }
    api.senders[senderId]:get ()
    Get a single Sender.
  • senderId: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
  • Returns:

      table/Sender (status 200)
    1. Describes a sender.
    2. (string) Detailed description of the resource.
    3. (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
    4. (string) Freeform string label for the resource.
    5. (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
    6. (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
    7. (table/sender) Capabilities of this sender.
    8. (string) Device ID which this Sender forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
    9. (string | nil) ID of the Flow currently passing via this Sender. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
    10. interface_bindings: (array of items) Binding of Sender egress ports to interfaces on the parent Node..
      • item: (string)
    11. (string | nil/uri) HTTP(S) accessible URL to a file describing how to connect to the Sender.
    12. (table/sender) Object indicating how this Sender is currently configured to send data.
    13. (boolean) Sender is enabled and configured to send data.
    14. (string | nil) UUID of the Receiver to which this Sender is currently configured to send data. Only set if it is active, uses a unicast push-based transport and is sending to an NMOS Receiver; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
    15. transport: Transport type used by the Sender in URN format. Possible content:
      • (string) Must match the pattern: /^urn:x-nmos:transport:/.
      • or
      • (any)
    16. Example:
      {
         caps = { };
         description = "Test Card";
         device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
         flow_id = "5fbec3b1-1b0f-417d-9059-8b94a47197ed";
         id = "d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e";
         interface_bindings = { "eth0", "eth1" };
         label = "Test Card";
         manifest_href = "http://172.29.80.65/x-manufacturer/senders/d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e/stream.sdp";
         subscription = { active = true };
         tags = { };
         transport = "urn:x-nmos:transport:rtp.mcast";
         version = "1441704616:890020555";
       }

    Or

      table/Error (status 404) Returned when the requested Sender ID does not exist
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Or

      table/Error (status 409) Returned when the requested Sender ID exists at a higher API version, and the resource cannot be conformed to the requested API version. The correct API version is identified via the Location header.
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.
    api.senders:get ()
    List Senders.

    Returns:

      table/Senders (status 200)
    1. result.nil: (array of items) Collection of Senders. A list of Sender resources.
      • item: Describes a sender.
      • item.description: (string) Detailed description of the resource.
      • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.label: (string) Freeform string label for the resource.
      • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • item.caps: (table/sender) Capabilities of this sender.
      • item.device_id: (string) Device ID which this Sender forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.flow_id: (string | nil) ID of the Flow currently passing via this Sender. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.interface_bindings: (array of items) Binding of Sender egress ports to interfaces on the parent Node..
        • item: (string)
      • item.manifest_href: (string | nil/uri) HTTP(S) accessible URL to a file describing how to connect to the Sender.
      • item.subscription: (table/sender) Object indicating how this Sender is currently configured to send data.
      • item.subscription.active: (boolean) Sender is enabled and configured to send data.
      • item.subscription.receiver_id: (string | nil) UUID of the Receiver to which this Sender is currently configured to send data. Only set if it is active, uses a unicast push-based transport and is sending to an NMOS Receiver; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.transport: Transport type used by the Sender in URN format. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:transport:/.
        • or
        • (any)
    2. Example:
      {
         {
           caps = { };
           description = "Test Card";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           flow_id = "5fbec3b1-1b0f-417d-9059-8b94a47197ed";
           id = "d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e";
           interface_bindings = { "eth0", "eth1" };
           label = "Test Card";
           manifest_href = "http://172.29.80.65/x-manufacturer/senders/d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e/stream.sdp";
           subscription = { active = true };
           tags = { };
           transport = "urn:x-nmos:transport:rtp.mcast";
           version = "1441704616:890020555";
         };
       }
    api.sources[sourceId]:get ()
    Get a single Source.
  • sourceId: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
  • Returns:

      table/Source (status 200)
    1. Describes a Source. Possible content:
      • source_generic: Describes a generic Source.
      • source_generic.description: (string) Detailed description of the resource.
      • source_generic.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • source_generic.label: (string) Freeform string label for the resource.
      • source_generic.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • source_generic.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • source_generic.caps: (table/source_generic) Capabilities (not yet defined).
      • source_generic.clock_name: (string | nil) Reference to clock in the originating Node. Must match the pattern: /^clk[0-9]+$/.
      • source_generic.device_id: (string) Globally unique identifier for the Device which initially created the Source. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • source_generic.grain_rate: (table/source_generic) Maximum number of Grains per second for Flows derived from this Source. Corresponding Flow Grain rates may override this attribute. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Sources only.
      • source_generic.grain_rate.denominator: (number/integer) Denominator.
      • source_generic.grain_rate.numerator: (number/integer) Numerator.
      • source_generic.parents: (array of items) Array of UUIDs representing the Source IDs of Grains which came together at the input to this Source (may change over the lifetime of this Source).
        • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • source_generic.format: (string/uri) Format of the data coming from the Source as a URN. Possible values: {"urn:x-nmos:format:video","urn:x-nmos:format:mux"}.
      • or
      • source_audio: Describes an audio Source.
      • source_audio.description: (string) Detailed description of the resource.
      • source_audio.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • source_audio.label: (string) Freeform string label for the resource.
      • source_audio.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • source_audio.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • source_audio.caps: (table/source_audio) Capabilities (not yet defined).
      • source_audio.clock_name: (string | nil) Reference to clock in the originating Node. Must match the pattern: /^clk[0-9]+$/.
      • source_audio.device_id: (string) Globally unique identifier for the Device which initially created the Source. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • source_audio.grain_rate: (table/source_audio) Maximum number of Grains per second for Flows derived from this Source. Corresponding Flow Grain rates may override this attribute. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Sources only.
      • source_audio.grain_rate.denominator: (number/integer) Denominator.
      • source_audio.grain_rate.numerator: (number/integer) Numerator.
      • source_audio.parents: (array of items) Array of UUIDs representing the Source IDs of Grains which came together at the input to this Source (may change over the lifetime of this Source).
        • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • source_audio.channels: (array of items) Array of objects describing the audio channels.
        • item: (table/source_audio)
        • item.label: (string) Label for this channel (free text).
        • item.symbol: Symbol for this channel (from VSF TR-03 Appendix A). Possible content:
          • (string) Possible values: {"L","R","C","LFE","Ls","Rs","Lss","Rss","Lrs","Rrs","Lc","Rc","Cs","HI","VIN","M1","M2","Lt","Rt","Lst","Rst","S"}.
          • or
          • (string) Numbered Source Channel. Must match the pattern: /^NSC(0[0-9][0-9]|1[0-1][0-9]|12[0-8])$/.
          • or
          • (string) Undefined channel. Must match the pattern: /^U(0[1-9]|[1-5][0-9]|6[0-4])$/.
      • source_audio.format: (string/uri) Format of the data coming from the Source as a URN. Possible values: {"urn:x-nmos:format:audio"}.
      • or
      • source_data: Describes a data Source.
      • source_data.description: (string) Detailed description of the resource.
      • source_data.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • source_data.label: (string) Freeform string label for the resource.
      • source_data.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • source_data.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • source_data.caps: (table/source_data) Capabilities (not yet defined).
      • source_data.clock_name: (string | nil) Reference to clock in the originating Node. Must match the pattern: /^clk[0-9]+$/.
      • source_data.device_id: (string) Globally unique identifier for the Device which initially created the Source. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • source_data.grain_rate: (table/source_data) Maximum number of Grains per second for Flows derived from this Source. Corresponding Flow Grain rates may override this attribute. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Sources only.
      • source_data.grain_rate.denominator: (number/integer) Denominator.
      • source_data.grain_rate.numerator: (number/integer) Numerator.
      • source_data.parents: (array of items) Array of UUIDs representing the Source IDs of Grains which came together at the input to this Source (may change over the lifetime of this Source).
        • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • source_data.event_type: (string) Event type generated by this Source, if applicable.
      • source_data.format: (string/uri) Format of the data coming from the Source as a URN. Possible values: {"urn:x-nmos:format:data"}.
    2. Example:
      {
         caps = { };
         clock_name = "clk1";
         description = "Capture Card Source Video";
         device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
         format = "urn:x-nmos:format:video";
         id = "4569cea2-ab63-4f97-8dd1-bad4669ea5e4";
         label = "CaptureCardSourceVideo";
         parents = { };
         tags =
         {
           host = { "host1" };
         };
         version = "1441703336:902850419";
       }

    Or

      table/Error (status 404) Returned when the requested Source ID does not exist
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.

    Or

      table/Error (status 409) Returned when the requested Source ID exists at a higher API version, and the resource cannot be conformed to the requested API version. The correct API version is identified via the Location header.
    1. result.code: (number/integer) HTTP error code. Minimum: 400. Maximum: 599.
    2. result.debug: (nil | string) Debug information which may assist a programmer working with the API.
    3. result.error: (string) Human readable message which is suitable for user interface display, and helpful to the user.
    api.sources:get ()
    List Sources.

    Returns:

      table/Sources (status 200)
    1. result.nil: (array of items) Collection of Sources. A list of Source resources.
      • item: Describes a Source. Possible content:
        • source_generic: Describes a generic Source.
        • source_generic.description: (string) Detailed description of the resource.
        • source_generic.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • source_generic.label: (string) Freeform string label for the resource.
        • source_generic.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • source_generic.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • source_generic.caps: (table/source_generic) Capabilities (not yet defined).
        • source_generic.clock_name: (string | nil) Reference to clock in the originating Node. Must match the pattern: /^clk[0-9]+$/.
        • source_generic.device_id: (string) Globally unique identifier for the Device which initially created the Source. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • source_generic.grain_rate: (table/source_generic) Maximum number of Grains per second for Flows derived from this Source. Corresponding Flow Grain rates may override this attribute. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Sources only.
        • source_generic.grain_rate.denominator: (number/integer) Denominator.
        • source_generic.grain_rate.numerator: (number/integer) Numerator.
        • source_generic.parents: (array of items) Array of UUIDs representing the Source IDs of Grains which came together at the input to this Source (may change over the lifetime of this Source).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • source_generic.format: (string/uri) Format of the data coming from the Source as a URN. Possible values: {"urn:x-nmos:format:video","urn:x-nmos:format:mux"}.
        • or
        • source_audio: Describes an audio Source.
        • source_audio.description: (string) Detailed description of the resource.
        • source_audio.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • source_audio.label: (string) Freeform string label for the resource.
        • source_audio.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • source_audio.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • source_audio.caps: (table/source_audio) Capabilities (not yet defined).
        • source_audio.clock_name: (string | nil) Reference to clock in the originating Node. Must match the pattern: /^clk[0-9]+$/.
        • source_audio.device_id: (string) Globally unique identifier for the Device which initially created the Source. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • source_audio.grain_rate: (table/source_audio) Maximum number of Grains per second for Flows derived from this Source. Corresponding Flow Grain rates may override this attribute. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Sources only.
        • source_audio.grain_rate.denominator: (number/integer) Denominator.
        • source_audio.grain_rate.numerator: (number/integer) Numerator.
        • source_audio.parents: (array of items) Array of UUIDs representing the Source IDs of Grains which came together at the input to this Source (may change over the lifetime of this Source).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • source_audio.channels: (array of items) Array of objects describing the audio channels.
          • item: (table/source_audio)
          • item.label: (string) Label for this channel (free text).
          • item.symbol: Symbol for this channel (from VSF TR-03 Appendix A). Possible content:
            • (string) Possible values: {"L","R","C","LFE","Ls","Rs","Lss","Rss","Lrs","Rrs","Lc","Rc","Cs","HI","VIN","M1","M2","Lt","Rt","Lst","Rst","S"}.
            • or
            • (string) Numbered Source Channel. Must match the pattern: /^NSC(0[0-9][0-9]|1[0-1][0-9]|12[0-8])$/.
            • or
            • (string) Undefined channel. Must match the pattern: /^U(0[1-9]|[1-5][0-9]|6[0-4])$/.
        • source_audio.format: (string/uri) Format of the data coming from the Source as a URN. Possible values: {"urn:x-nmos:format:audio"}.
        • or
        • source_data: Describes a data Source.
        • source_data.description: (string) Detailed description of the resource.
        • source_data.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • source_data.label: (string) Freeform string label for the resource.
        • source_data.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • source_data.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • source_data.caps: (table/source_data) Capabilities (not yet defined).
        • source_data.clock_name: (string | nil) Reference to clock in the originating Node. Must match the pattern: /^clk[0-9]+$/.
        • source_data.device_id: (string) Globally unique identifier for the Device which initially created the Source. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • source_data.grain_rate: (table/source_data) Maximum number of Grains per second for Flows derived from this Source. Corresponding Flow Grain rates may override this attribute. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Sources only.
        • source_data.grain_rate.denominator: (number/integer) Denominator.
        • source_data.grain_rate.numerator: (number/integer) Numerator.
        • source_data.parents: (array of items) Array of UUIDs representing the Source IDs of Grains which came together at the input to this Source (may change over the lifetime of this Source).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • source_data.event_type: (string) Event type generated by this Source, if applicable.
        • source_data.format: (string/uri) Format of the data coming from the Source as a URN. Possible values: {"urn:x-nmos:format:data"}.
    2. Example:
      {
         {
           caps = { };
           clock_name = "clk0";
           description = "Capture Card Source Video";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:video";
           id = "4569cea2-ab63-4f97-8dd1-bad4669ea5e4";
           label = "CaptureCardSourceVideo";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1441703336:902850419";
         };
         {
           caps = { };
           channels =
           {
             { label = "Left Channel", symbol = "L" };
             { label = "Right Channel", symbol = "R" };
           };
           clock_name = "clk0";
           description = "Capture Card Source Audio";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:audio";
           id = "fc97ab0f-b51b-4129-9385-dcaf30f9482b";
           label = "CaptureCardSourceAudio";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1441703336:912670314";
         };
         {
           caps = { };
           channels =
           {
             { label = "Left Channel", symbol = "L" };
             { label = "Right Channel", symbol = "R" };
           };
           clock_name = "clk0";
           description = "Capture Card Source Audio";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:audio";
           id = "9738780e-141f-4e19-8601-a157dc855aa2";
           label = "CaptureCardSourceAudio";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1441704614:174935325";
         };
         {
           caps = { };
           clock_name = "clk0";
           description = "Capture Card Source Video";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:video";
           id = "02c46999-d532-4c52-905f-2e368a2af6cb";
           label = "CaptureCardSourceVideo";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1441704614:163285887";
         };
         {
           caps = { };
           clock_name = "clk0";
           description = "Capture Card Source VANC";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:data";
           id = "0e635152-e501-4d4e-bb87-9f3fe05eb79a";
           label = "Capture Card Source VANC";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1453880605:374934072";
         };
         {
           caps = { };
           clock_name = "clk0";
           description = "Capture Card Source TR-04/2022-6";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:mux";
           id = "782fac41-17f6-4a21-8186-57ba63a1a8d3";
           label = "Capture Card Source TR-04/2022-6";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1453880605:374934072";
         };
         {
           caps = { };
           description = "Capture Card Source 2022-6 (No Refclock)";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:mux";
           id = "3ca37fce-c0cf-42a6-86ad-43635a53b5bb";
           label = "Capture Card Source 2022-6 (No Refclock)";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1453880605:374934072";
         };
         {
           caps = { };
           clock_name = "clk0";
           description = "IS-07 Temperature Readings";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           event_type = "number/temperature/*";
           format = "urn:x-nmos:format:data";
           id = "33e28c6f-d5ab-4ae5-b00d-f1cccab29af4";
           label = "IS-07 Temperature Readings";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1453880605:374934072";
         };
         {
           caps = { };
           clock_name = "clk0";
           description = "IS-07 Button";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           event_type = "boolean";
           format = "urn:x-nmos:format:data";
           id = "c8d27a1d-d124-4d06-bc43-312fd36f7db1";
           label = "IS-07 Button";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1453880605:374934072";
         };
       }
    lua-repl.lib.rest.nmos.node.api:get ()
    List of paths available from this API.

    Returns:

      table/nodeapi_base[] (status 200)
    1. result.nil: (array of items) Node API base resource. Describes the Node API base resource.
      • item: (string) Possible values: {"self/","sources/","flows/","devices/","senders/","receivers/"}.
    2. Example:
      { "self/", "sources/", "flows/", "devices/", "senders/", "receivers/" }
    lua-repl.lib.rest.nmos.node.api:get_devices ()
    List Devices. This function is alias for api.devices:get().

    Returns:

      table/Devices (status 200)
    1. result.nil: (array of items) Collection of Devices. A list of Device resources.
      • item: Describes a Device.
      • item.description: (string) Detailed description of the resource.
      • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.label: (string) Freeform string label for the resource.
      • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • item.controls: (array of items) Control endpoints exposed for the Device.
        • item: (table/device)
        • item.authorization: (boolean) This endpoint requires authorization.
        • item.href: (string/uri) URL to reach a control endpoint, whether http or otherwise.
        • item.type: (string/uri) URN identifying the control format.
      • item.node_id: (string) Globally unique identifier for the Node which initially created the Device. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.receivers: (array of items) UUIDs of Receivers attached to the Device (deprecated).
        • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.senders: (array of items) UUIDs of Senders attached to the Device (deprecated).
        • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.type: Device type URN. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:device:/.
        • or
        • (any)
    2. Example:
      {
         {
           controls =
           {
             {
               authorization = false;
               href = "wss://154.67.63.2:4535";
               type = "urn:x-manufacturer:control:generic";
             };
           };
           description = "pipeline 3 default device";
           id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           label = "pipeline 3 default device";
           node_id = "3b8be755-08ff-452b-b217-c9151eb21193";
           receivers = { };
           senders = { "d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e" };
           tags = { };
           type = "urn:x-nmos:device:pipeline";
           version = "1441704616:592733242";
         };
         {
           controls =
           {
             {
               href = "ws://182.54.54.75:223";
               type = "urn:x-manufacturer:control:generic";
             };
             {
               href = "http://134.24.64.22/x-manufacturer/control/";
               type = "urn:x-manufacturer:control:generic";
             };
             {
               href = "telnet://120.43.64.3:8080";
               type = "urn:x-manufacturer:control:legacy";
             };
           };
           description = "pipeline 1 default device";
           id = "67c25159-ce25-4000-a66c-f31fff890265";
           label = "pipeline 1 default device";
           node_id = "3b8be755-08ff-452b-b217-c9151eb21193";
           receivers = { };
           senders = { };
           tags = { };
           type = "urn:x-nmos:device:pipeline";
           version = "1441703338:962976113";
         };
         {
           controls = { };
           description = "pipeline 2 default device";
           id = "05017e08-b329-45f9-a566-a3f99cc11e4d";
           label = "pipeline 2 default device";
           node_id = "3b8be755-08ff-452b-b217-c9151eb21193";
           receivers = { "1eb53d65-ac83-441c-86f6-9b27df30ef0c" };
           senders = { };
           tags = { };
           type = "urn:x-nmos:device:pipeline";
           version = "1441704514:993221361";
         };
       }
    lua-repl.lib.rest.nmos.node.api:get_flows ()
    List Flows. This function is alias for api.flows:get().

    Returns:

      table/Flows (status 200)
    1. result.nil: (array of items) Collection of Flows. A list of Flow resources.
      • item: Describes a Flow. Possible content:
        • item: Describes a raw Video Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_video_raw) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.colorspace: Colorspace used for the video. Any values not defined in the enum should be defined in the NMOS Parameter Registers. Possible content:
          • (string) Possible values: {"BT601","BT709","BT2020","BT2100"}.
          • or
          • (string) Must match the pattern: /^\S+$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:video"}.
        • item.frame_height: (number/integer) Height of the picture in pixels.
        • item.frame_width: (number/integer) Width of the picture in pixels.
        • item.interlace_mode: (string) Interlaced video mode for frames in this Flow. Possible values: {"progressive","interlaced_tff","interlaced_bff","interlaced_psf"}.
        • item.transfer_characteristic: Transfer characteristic. Any values not defined in the enum should be defined in the NMOS Parameter Registers. Possible content:
          • (string) Possible values: {"SDR","HLG","PQ"}.
          • or
          • (string) Must match the pattern: /^\S+$/.
        • item.components: (array of items) Array of objects describing the components.
          • item: (table/flow_video_raw)
          • item.bit_depth: (number/integer) Number of bits used to describe each sample.
          • item.height: (number/integer) Height of this component in pixels.
          • item.name: (string) Name of this component. Possible values: {"Y","Cb","Cr","I","Ct","Cp","A","R","G","B","DepthMap"}.
          • item.width: (number/integer) Width of this component in pixels.
        • item.media_type: (string) Subclassification of the format using IANA assigned media types. Possible values: {"video/raw"}.
        • or
        • item: Describes a coded Video Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_video_coded) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.colorspace: Colorspace used for the video. Any values not defined in the enum should be defined in the NMOS Parameter Registers. Possible content:
          • (string) Possible values: {"BT601","BT709","BT2020","BT2100"}.
          • or
          • (string) Must match the pattern: /^\S+$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:video"}.
        • item.frame_height: (number/integer) Height of the picture in pixels.
        • item.frame_width: (number/integer) Width of the picture in pixels.
        • item.interlace_mode: (string) Interlaced video mode for frames in this Flow. Possible values: {"progressive","interlaced_tff","interlaced_bff","interlaced_psf"}.
        • item.transfer_characteristic: Transfer characteristic. Any values not defined in the enum should be defined in the NMOS Parameter Registers. Possible content:
          • (string) Possible values: {"SDR","HLG","PQ"}.
          • or
          • (string) Must match the pattern: /^\S+$/.
        • item.media_type: Subclassification of the format using IANA assigned media types. Possible content:
          • (string) Possible values: {"video/H264","video/vc2"}.
          • or
          • (string) Must match the pattern: /^video\/[^\s\/]+$/.
        • or
        • item: Describes a raw audio Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_audio_raw) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:audio"}.
        • item.sample_rate: (table/flow_audio_raw) Number of audio samples per second for this Flow.
        • item.sample_rate.denominator: (number/integer) Denominator.
        • item.sample_rate.numerator: (number/integer) Numerator.
        • item.bit_depth: (number/integer) Bit depth of the audio samples.
        • item.media_type: Subclassification of the format using IANA assigned media types. Possible content:
          • (string) Possible values: {"audio/L24","audio/L20","audio/L16","audio/L8"}.
          • or
          • (string) Must match the pattern: /^audio\/[^\s\/]+$/.
        • or
        • item: Describes a coded audio Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_audio_coded) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:audio"}.
        • item.sample_rate: (table/flow_audio_coded) Number of audio samples per second for this Flow.
        • item.sample_rate.denominator: (number/integer) Denominator.
        • item.sample_rate.numerator: (number/integer) Numerator.
        • item.media_type: (string) Subclassification of the format using IANA assigned media types. Must match the pattern: /^audio\/[^\s\/]+$/.
        • or
        • item: Describes a generic data Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_data) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:data"}.
        • item.media_type: (string) Subclassification of the format using IANA assigned media types. Must match the pattern: /^[^\s\/]+\/[^\s\/]+$/.
        • or
        • item: Describes an SDI ancillary Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_sdianc_data) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.DID_SDID: (array of items) List of Data identification and Secondary data identification words.
          • item: (table/flow_sdianc_data)
          • item.DID: (string) Data identification word. Must match the pattern: /^0x[0-9a-fA-F]{2}$/.
          • item.SDID: (string) Secondary data identification word. Must match the pattern: /^0x[0-9a-fA-F]{2}$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:data"}.
        • item.media_type: (string) Subclassification of the format using IANA assigned media types. Possible values: {"video/smpte291"}.
        • or
        • item: Describes a JSON based Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_json_data) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.event_type: (string) Event type generated by this Flow, if applicable.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:data"}.
        • item.media_type: (string) Subclassification of the format using IANA assigned media types. Possible values: {"application/json"}.
        • or
        • item: Describes a mux Flow.
        • item.description: (string) Detailed description of the resource.
        • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.label: (string) Freeform string label for the resource.
        • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • item.device_id: (string) Globally unique identifier for the Device which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.1 onwards). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.grain_rate: (table/flow_mux) Number of Grains per second for this Flow. Must be an integer division of, or equal to the Grain rate specified by the parent Source. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Flows only.
        • item.grain_rate.denominator: (number/integer) Denominator.
        • item.grain_rate.numerator: (number/integer) Numerator.
        • item.parents: (array of items) Array of UUIDs representing the Flow IDs of Grains which came together to generate this Flow (may change over the lifetime of this Flow).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.source_id: (string) Globally unique identifier for the Source which initially created the Flow. This attribute is used to ensure referential integrity by registry implementations (v1.0 only). Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • item.format: (string/uri) Format of the data coming from the Flow as a URN. Possible values: {"urn:x-nmos:format:mux"}.
        • item.media_type: Subclassification of the format using IANA assigned media types. Possible content:
          • (string) Possible values: {"video/SMPTE2022-6"}.
          • or
          • (string) Must match the pattern: /^[^\s\/]+\/[^\s\/]+$/.
    2. Example:
      {
         {
           colorspace = "BT709";
           components =
           {
             { bit_depth = 10, height = 1080, name = "Y", width = 1920 };
             { bit_depth = 10, height = 1080, name = "Cb", width = 960 };
             { bit_depth = 10, height = 1080, name = "Cr", width = 960 };
           };
           description = "Test Card";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:video";
           frame_height = 1080;
           frame_width = 1920;
           id = "5fbec3b1-1b0f-417d-9059-8b94a47197ed";
           interlace_mode = "interlaced_tff";
           label = "Test Card";
           media_type = "video/raw";
           parents = { };
           source_id = "02c46999-d532-4c52-905f-2e368a2af6cb";
           tags = { };
           version = "1441704616:587121295";
         };
         {
           description = "VANC Data";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:data";
           id = "db3bd465-2772-484f-8fac-830b0471258b";
           label = "VANC Data";
           media_type = "video/smpte291";
           parents = { };
           source_id = "0e635152-e501-4d4e-bb87-9f3fe05eb79a";
           tags = { };
           version = "1453880607:123995943";
         };
         {
           description = "TR-04 Video";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:mux";
           id = "4857f747-96cf-4ed7-8f4b-9497199f1f25";
           label = "TR-04 Video";
           media_type = "video/SMPTE2022-6";
           parents = { };
           source_id = "782fac41-17f6-4a21-8186-57ba63a1a8d3";
           tags = { };
           version = "1453880607:123995943";
         };
         {
           description = "IS-07 Temperature Readings (C)";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           event_type = "number/temperature/C";
           format = "urn:x-nmos:format:data";
           id = "6327c381-1239-41d1-b314-efc719600e26";
           label = "IS-07 Temperature Readings (C)";
           media_type = "application/json";
           parents = { };
           source_id = "33e28c6f-d5ab-4ae5-b00d-f1cccab29af4";
           tags = { };
           version = "1453880605:374934072";
         };
         {
           description = "IS-07 Temperature Readings (F)";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           event_type = "number/temperature/F";
           format = "urn:x-nmos:format:data";
           id = "6327c381-1239-41d1-b314-efc719600e26";
           label = "IS-07 Temperature Readings (F)";
           media_type = "application/json";
           parents = { };
           source_id = "33e28c6f-d5ab-4ae5-b00d-f1cccab29af4";
           tags = { };
           version = "1453880605:374934072";
         };
         {
           description = "IS-07 Button";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           event_type = "boolean";
           format = "urn:x-nmos:format:data";
           id = "fa6258b9-2826-4a0d-81d0-7da9edbc405f";
           label = "IS-07 Button";
           media_type = "application/json";
           parents = { };
           source_id = "c8d27a1d-d124-4d06-bc43-312fd36f7db1";
           tags = { };
           version = "1453880605:374934072";
         };
       }
    lua-repl.lib.rest.nmos.node.api:get_receivers ()
    List Receivers. This function is alias for api.receivers:get().

    Returns:

      table/Receivers (status 200)
    1. result.nil: (array of items) Collection of Receivers. A list of Receiver resources.
      • item: Describes a Receiver. Possible content:
        • alt1: Describes a video Receiver.
        • alt1.description: (string) Detailed description of the resource.
        • alt1.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt1.label: (string) Freeform string label for the resource.
        • alt1.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • alt1.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • alt1.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt1.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
          • item: (string)
        • alt1.subscription: (table/receiver_video) Object indicating how this Receiver is currently configured to receive data.
        • alt1.subscription.active: (boolean) Receiver is enabled and configured to receive data.
        • alt1.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt1.transport: Transport type accepted by the Receiver in URN format. Possible content:
          • (string) Must match the pattern: /^urn:x-nmos:transport:/.
          • or
          • (any)
        • alt1.caps: (table/receiver_video) Capabilities.
        • alt1.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
          • item: Possible content:
            • (string) Possible values: {"video/raw","video/H264","video/vc2"}.
            • or
            • (string) Must match the pattern: /^video\/[^\s\/]+$/.
        • alt1.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:video"}.
        • or
        • alt2: Describes an audio Receiver.
        • alt2.description: (string) Detailed description of the resource.
        • alt2.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt2.label: (string) Freeform string label for the resource.
        • alt2.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • alt2.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • alt2.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt2.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
          • item: (string)
        • alt2.subscription: (table/receiver_audio) Object indicating how this Receiver is currently configured to receive data.
        • alt2.subscription.active: (boolean) Receiver is enabled and configured to receive data.
        • alt2.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt2.transport: Transport type accepted by the Receiver in URN format. Possible content:
          • (string) Must match the pattern: /^urn:x-nmos:transport:/.
          • or
          • (any)
        • alt2.caps: (table/receiver_audio) Capabilities.
        • alt2.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
          • item: Possible content:
            • (string) Possible values: {"audio/L24","audio/L20","audio/L16","audio/L8"}.
            • or
            • (string) Must match the pattern: /^audio\/[^\s\/]+$/.
        • alt2.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:audio"}.
        • or
        • alt3: Describes a data Receiver.
        • alt3.description: (string) Detailed description of the resource.
        • alt3.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt3.label: (string) Freeform string label for the resource.
        • alt3.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • alt3.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • alt3.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt3.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
          • item: (string)
        • alt3.subscription: (table/receiver_data) Object indicating how this Receiver is currently configured to receive data.
        • alt3.subscription.active: (boolean) Receiver is enabled and configured to receive data.
        • alt3.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt3.transport: Transport type accepted by the Receiver in URN format. Possible content:
          • (string) Must match the pattern: /^urn:x-nmos:transport:/.
          • or
          • (any)
        • alt3.caps: (table/receiver_data) Capabilities.
        • alt3.caps.event_types: (array of items) Subclassification of the event types accepted defined by the AMWA IS-07 specification.
          • item: (string)
        • alt3.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
          • item: Possible content:
            • (string) Possible values: {"video/smpte291","application/json"}.
            • or
            • (string) Must match the pattern: /^[^\s\/]+\/[^\s\/]+$/.
        • alt3.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:data"}.
        • or
        • alt4: Describes a mux Receiver.
        • alt4.description: (string) Detailed description of the resource.
        • alt4.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt4.label: (string) Freeform string label for the resource.
        • alt4.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • alt4.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • alt4.device_id: (string) Device ID which this Receiver forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt4.interface_bindings: (array of items) Binding of Receiver ingress ports to interfaces on the parent Node..
          • item: (string)
        • alt4.subscription: (table/receiver_mux) Object indicating how this Receiver is currently configured to receive data.
        • alt4.subscription.active: (boolean) Receiver is enabled and configured to receive data.
        • alt4.subscription.sender_id: (string | nil) UUID of the Sender from which this Receiver is currently configured to receive data. Only set if it is active and receiving from an NMOS Sender; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt4.transport: Transport type accepted by the Receiver in URN format. Possible content:
          • (string) Must match the pattern: /^urn:x-nmos:transport:/.
          • or
          • (any)
        • alt4.caps: (table/receiver_mux) Capabilities.
        • alt4.caps.media_types: (array of items) Subclassification of the formats accepted using IANA assigned media types.
          • item: Possible content:
            • (string) Possible values: {"video/SMPTE2022-6"}.
            • or
            • (string) Must match the pattern: /^[^\s\/]+\/[^\s\/]+$/.
        • alt4.format: (string/uri) Type of Flow accepted by the Receiver as a URN. Possible values: {"urn:x-nmos:format:mux"}.
    2. Example:
      {
         {
           caps =
           {
             media_types = { "video/raw" };
           };
           description = "";
           device_id = "05017e08-b329-45f9-a566-a3f99cc11e4d";
           format = "urn:x-nmos:format:video";
           id = "1eb53d65-ac83-441c-86f6-9b27df30ef0c";
           interface_bindings = { "eth0", "eth1" };
           label = "RTPRx";
           subscription = { active = true, sender_id = "2683ad14-642f-459d-a169-ef91c76cec6b" };
           tags = { };
           transport = "urn:x-nmos:transport:rtp";
           version = "1441704532:450093308";
         };
         {
           caps =
           {
             event_types = { "number/temperature/*", "boolean" };
             media_types = { "application/json" };
           };
           description = "";
           device_id = "05017e08-b329-45f9-a566-a3f99cc11e4d";
           format = "urn:x-nmos:format:data";
           id = "9503a7ab-cc49-4b6a-a5a3-d0d0ca5c9671";
           interface_bindings = { "eth0" };
           label = "IS-07 Mixed RTPRx";
           subscription = { active = false };
           tags = { };
           transport = "urn:x-nmos:transport:mqtt";
           version = "1441704532:450093308";
         };
       }
    lua-repl.lib.rest.nmos.node.api:get_self ()
    Get information about this Node. This function is alias for api.self:get().

    Returns:

      table/Node (status 200)
    1. Describes the Node and the services which run on it.
    2. (string) Detailed description of the resource.
    3. (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
    4. (string) Freeform string label for the resource.
    5. (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
    6. (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
    7. (table/node) URL fragments required to connect to the Node API.
    8. api.endpoints: (array of items) Host, port and protocol details required to connect to the API.
      • item: (table/node)
      • item.authorization: (boolean) This endpoint requires authorization.
      • item.host: IP address or hostname which the Node API is running on. Possible content:
        • (string/hostname)
        • or
        • (string/ipv4)
        • or
        • (string/ipv6)
      • item.port: (number/integer) Port number which the Node API is running on. Minimum: 1. Maximum: 65535.
      • item.protocol: (string) Protocol supported by this instance of the Node API. Possible values: {"http","https"}.
    9. api.versions: (array of items) Supported API versions running on this Node.
      • item: (string) Must match the pattern: /^v[0-9]+\.[0-9]+$/.
    10. (table/node) Capabilities (not yet defined).
    11. clocks: (array of items) Clocks made available to Devices owned by this Node.
      • item: Possible content:
        • (table/clock_internal) Describes a clock with no external reference.
        • (string) Name of this refclock (unique for this set of clocks). Must match the pattern: /^clk[0-9]+$/.
        • (string) Type of external reference used by this clock. Possible values: {"internal"}.
        • or
        • (table/clock_ptp) Describes a clock referenced to PTP.
        • (string) ID of the PTP reference used by this clock. Must match the pattern: /^[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}$/.
        • (boolean) Lock state of this clock to the external reference. If true, this device follows the external reference, otherwise it has no defined relationship to the external reference.
        • (string) Name of this refclock (unique for this set of clocks). Must match the pattern: /^clk[0-9]+$/.
        • (string) Type of external reference used by this clock. Possible values: {"ptp"}.
        • (boolean) External refclock is synchronised to International Atomic Time (TAI).
        • (string) Version of PTP reference used by this clock. Possible values: {"IEEE1588-2008"}.
    12. (string/hostname) Node hostname (optional, deprecated).
    13. (string/uri) HTTP access href for the Node's API (deprecated).
    14. interfaces: (array of items) Network interfaces made available to devices owned by this Node. Port IDs and Chassis IDs are used to inform topology discovery via IS-06, and require that interfaces implement ARP at a minimum, and ideally LLDP..
      • item: (table/node)
      • item.attached_network_device: (table/node)
      • item.attached_network_device.chassis_id: Chassis ID of the attached network device, as signalled in LLDP received by this Node. Possible content:
        • (string) When the Chassis ID is a MAC address, use this format. Must match the pattern: /^([0-9a-f]{2}-){5}([0-9a-f]{2})$/.
        • or
        • (string) When the Chassis ID is anything other than a MAC address, a freeform string may be used. Must match the pattern: /^.+$/.
      • item.attached_network_device.port_id: Port ID of the attached network device, as signalled in LLDP received by this Node. Possible content:
        • (string) When the Port ID is a MAC address, use this format. Must match the pattern: /^([0-9a-f]{2}-){5}([0-9a-f]{2})$/.
        • or
        • (string) When the Port ID is anything other than a MAC address, a freeform string may be used. Must match the pattern: /^.+$/.
      • item.chassis_id: Chassis ID of the interface, as signalled in LLDP from this node. Set to null where LLDP is unsuitable for use (ie. virtualised environments). Possible content:
        • (string) When the Chassis ID is a MAC address, use this format. Must match the pattern: /^([0-9a-f]{2}-){5}([0-9a-f]{2})$/.
        • or
        • (string) When the Chassis ID is anything other than a MAC address, a freeform string may be used. Must match the pattern: /^.+$/.
        • or
        • (nil) When the Chassis ID is unavailable it should be set to null.
      • item.name: (string) Name of the interface (unique in scope of this node). This attribute is used by sub-resources of this node such as senders and receivers to refer to interfaces to which they are bound.
      • item.port_id: (string) Port ID of the interface, as signalled in LLDP or via ARP responses from this node. Must be a MAC address. Must match the pattern: /^([0-9a-f]{2}-){5}([0-9a-f]{2})$/.
    15. services: (array of items) Array of objects containing a URN format type and href.
      • item: (table/node)
      • item.authorization: (boolean) This endpoint requires authorization.
      • item.href: (string/uri) URL to reach a service running on the Node.
      • item.type: (string/uri) URN identifying the type of service.
    16. Example:
      {
         api =
         {
           endpoints =
           {
             { host = "172.29.80.65", port = 12345, protocol = "http" };
             {
               authorization = false;
               host = "172.29.80.65";
               port = 443;
               protocol = "https";
             };
           };
           versions = { "v1.0", "v1.1", "v1.2", "v1.3" };
         };
         caps = { };
         clocks =
         {
           { name = "clk0", ref_type = "internal" };
           {
             gmid = "08-00-11-ff-fe-21-e1-b0";
             locked = true;
             name = "clk1";
             ref_type = "ptp";
             traceable = true;
             version = "IEEE1588-2008";
           };
         };
         description = "host1";
         hostname = "host1";
         href = "http://172.29.80.65:12345/";
         id = "3b8be755-08ff-452b-b217-c9151eb21193";
         interfaces =
         {
           {
             attached_network_device = { chassis_id = "2f-8c-af-79-c7-00", port_id = "Ethernet 1/3" };
             chassis_id = "74-26-96-db-87-31";
             name = "eth0";
             port_id = "74-26-96-db-87-31";
           };
           {
             attached_network_device = { chassis_id = "2d-51-2b-85-89-7b", port_id = "Ethernet 1/2" };
             chassis_id = "74-26-96-db-87-31";
             name = "eth1";
             port_id = "74-26-96-db-87-32";
           };
         };
         label = "host1";
         services =
         {
           {
             authorization = false;
             href = "https://172.29.80.65:443/x-manufacturer/pipelinemanager/";
             type = "urn:x-manufacturer:service:pipelinemanager";
           };
           {
             authorization = false;
             href = "https://172.29.80.65:443/x-manufacturer/status/";
             type = "urn:x-manufacturer:service:status";
           };
           {
             authorization = false;
             href = "https://172.29.80.65:443/x-manufacturer/tally/";
             type = "urn:x-manufacturer:service:tally";
           };
           {
             authorization = false;
             href = "https://172.29.80.65:443/x-manufacturer/mdnsbridge/";
             type = "urn:x-manufacturer:service:mdnsbridge";
           };
           {
             authorization = false;
             href = "https://172.29.80.65:443/x-manufacturer/storequery/";
             type = "urn:x-manufacturer:service:storequery";
           };
         };
         tags = { };
         version = "1441700172:318426300";
       }
    lua-repl.lib.rest.nmos.node.api:get_senders ()
    List Senders. This function is alias for api.senders:get().

    Returns:

      table/Senders (status 200)
    1. result.nil: (array of items) Collection of Senders. A list of Sender resources.
      • item: Describes a sender.
      • item.description: (string) Detailed description of the resource.
      • item.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.label: (string) Freeform string label for the resource.
      • item.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
      • item.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
      • item.caps: (table/sender) Capabilities of this sender.
      • item.device_id: (string) Device ID which this Sender forms part of. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.flow_id: (string | nil) ID of the Flow currently passing via this Sender. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.interface_bindings: (array of items) Binding of Sender egress ports to interfaces on the parent Node..
        • item: (string)
      • item.manifest_href: (string | nil/uri) HTTP(S) accessible URL to a file describing how to connect to the Sender.
      • item.subscription: (table/sender) Object indicating how this Sender is currently configured to send data.
      • item.subscription.active: (boolean) Sender is enabled and configured to send data.
      • item.subscription.receiver_id: (string | nil) UUID of the Receiver to which this Sender is currently configured to send data. Only set if it is active, uses a unicast push-based transport and is sending to an NMOS Receiver; otherwise null. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
      • item.transport: Transport type used by the Sender in URN format. Possible content:
        • (string) Must match the pattern: /^urn:x-nmos:transport:/.
        • or
        • (any)
    2. Example:
      {
         {
           caps = { };
           description = "Test Card";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           flow_id = "5fbec3b1-1b0f-417d-9059-8b94a47197ed";
           id = "d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e";
           interface_bindings = { "eth0", "eth1" };
           label = "Test Card";
           manifest_href = "http://172.29.80.65/x-manufacturer/senders/d7aa5a30-681d-4e72-92fb-f0ba0f6f4c3e/stream.sdp";
           subscription = { active = true };
           tags = { };
           transport = "urn:x-nmos:transport:rtp.mcast";
           version = "1441704616:890020555";
         };
       }
    lua-repl.lib.rest.nmos.node.api:get_sources ()
    List Sources. This function is alias for api.sources:get().

    Returns:

      table/Sources (status 200)
    1. result.nil: (array of items) Collection of Sources. A list of Source resources.
      • item: Describes a Source. Possible content:
        • alt1: Describes a generic Source.
        • alt1.description: (string) Detailed description of the resource.
        • alt1.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt1.label: (string) Freeform string label for the resource.
        • alt1.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • alt1.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • alt1.caps: (table/source_generic) Capabilities (not yet defined).
        • alt1.clock_name: (string | nil) Reference to clock in the originating Node. Must match the pattern: /^clk[0-9]+$/.
        • alt1.device_id: (string) Globally unique identifier for the Device which initially created the Source. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt1.grain_rate: (table/source_generic) Maximum number of Grains per second for Flows derived from this Source. Corresponding Flow Grain rates may override this attribute. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Sources only.
        • alt1.grain_rate.denominator: (number/integer) Denominator.
        • alt1.grain_rate.numerator: (number/integer) Numerator.
        • alt1.parents: (array of items) Array of UUIDs representing the Source IDs of Grains which came together at the input to this Source (may change over the lifetime of this Source).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt1.format: (string/uri) Format of the data coming from the Source as a URN. Possible values: {"urn:x-nmos:format:video","urn:x-nmos:format:mux"}.
        • or
        • alt2: Describes an audio Source.
        • alt2.description: (string) Detailed description of the resource.
        • alt2.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt2.label: (string) Freeform string label for the resource.
        • alt2.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • alt2.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • alt2.caps: (table/source_audio) Capabilities (not yet defined).
        • alt2.clock_name: (string | nil) Reference to clock in the originating Node. Must match the pattern: /^clk[0-9]+$/.
        • alt2.device_id: (string) Globally unique identifier for the Device which initially created the Source. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt2.grain_rate: (table/source_audio) Maximum number of Grains per second for Flows derived from this Source. Corresponding Flow Grain rates may override this attribute. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Sources only.
        • alt2.grain_rate.denominator: (number/integer) Denominator.
        • alt2.grain_rate.numerator: (number/integer) Numerator.
        • alt2.parents: (array of items) Array of UUIDs representing the Source IDs of Grains which came together at the input to this Source (may change over the lifetime of this Source).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt2.channels: (array of items) Array of objects describing the audio channels.
          • item: (table/source_audio)
          • item.label: (string) Label for this channel (free text).
          • item.symbol: Symbol for this channel (from VSF TR-03 Appendix A). Possible content:
            • (string) Possible values: {"L","R","C","LFE","Ls","Rs","Lss","Rss","Lrs","Rrs","Lc","Rc","Cs","HI","VIN","M1","M2","Lt","Rt","Lst","Rst","S"}.
            • or
            • (string) Numbered Source Channel. Must match the pattern: /^NSC(0[0-9][0-9]|1[0-1][0-9]|12[0-8])$/.
            • or
            • (string) Undefined channel. Must match the pattern: /^U(0[1-9]|[1-5][0-9]|6[0-4])$/.
        • alt2.format: (string/uri) Format of the data coming from the Source as a URN. Possible values: {"urn:x-nmos:format:audio"}.
        • or
        • alt3: Describes a data Source.
        • alt3.description: (string) Detailed description of the resource.
        • alt3.id: (string) Globally unique identifier for the resource. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt3.label: (string) Freeform string label for the resource.
        • alt3.tags: (table/resource_core) Key value set of freeform string tags to aid in filtering resources. Values should be represented as an array of strings. Can be empty.
        • alt3.version: (string) String formatted TAI timestamp (<seconds>:<nanoseconds>) indicating precisely when an attribute of the resource last changed. Must match the pattern: /^[0-9]+:[0-9]+$/.
        • alt3.caps: (table/source_data) Capabilities (not yet defined).
        • alt3.clock_name: (string | nil) Reference to clock in the originating Node. Must match the pattern: /^clk[0-9]+$/.
        • alt3.device_id: (string) Globally unique identifier for the Device which initially created the Source. This attribute is used to ensure referential integrity by registry implementations. Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt3.grain_rate: (table/source_data) Maximum number of Grains per second for Flows derived from this Source. Corresponding Flow Grain rates may override this attribute. Grain rate matches the frame rate for video (see NMOS Content Model). Specified for periodic Sources only.
        • alt3.grain_rate.denominator: (number/integer) Denominator.
        • alt3.grain_rate.numerator: (number/integer) Numerator.
        • alt3.parents: (array of items) Array of UUIDs representing the Source IDs of Grains which came together at the input to this Source (may change over the lifetime of this Source).
          • item: (string) Must match the pattern: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.
        • alt3.event_type: (string) Event type generated by this Source, if applicable.
        • alt3.format: (string/uri) Format of the data coming from the Source as a URN. Possible values: {"urn:x-nmos:format:data"}.
    2. Example:
      {
         {
           caps = { };
           clock_name = "clk0";
           description = "Capture Card Source Video";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:video";
           id = "4569cea2-ab63-4f97-8dd1-bad4669ea5e4";
           label = "CaptureCardSourceVideo";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1441703336:902850419";
         };
         {
           caps = { };
           channels =
           {
             { label = "Left Channel", symbol = "L" };
             { label = "Right Channel", symbol = "R" };
           };
           clock_name = "clk0";
           description = "Capture Card Source Audio";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:audio";
           id = "fc97ab0f-b51b-4129-9385-dcaf30f9482b";
           label = "CaptureCardSourceAudio";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1441703336:912670314";
         };
         {
           caps = { };
           channels =
           {
             { label = "Left Channel", symbol = "L" };
             { label = "Right Channel", symbol = "R" };
           };
           clock_name = "clk0";
           description = "Capture Card Source Audio";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:audio";
           id = "9738780e-141f-4e19-8601-a157dc855aa2";
           label = "CaptureCardSourceAudio";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1441704614:174935325";
         };
         {
           caps = { };
           clock_name = "clk0";
           description = "Capture Card Source Video";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:video";
           id = "02c46999-d532-4c52-905f-2e368a2af6cb";
           label = "CaptureCardSourceVideo";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1441704614:163285887";
         };
         {
           caps = { };
           clock_name = "clk0";
           description = "Capture Card Source VANC";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:data";
           id = "0e635152-e501-4d4e-bb87-9f3fe05eb79a";
           label = "Capture Card Source VANC";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1453880605:374934072";
         };
         {
           caps = { };
           clock_name = "clk0";
           description = "Capture Card Source TR-04/2022-6";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:mux";
           id = "782fac41-17f6-4a21-8186-57ba63a1a8d3";
           label = "Capture Card Source TR-04/2022-6";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1453880605:374934072";
         };
         {
           caps = { };
           description = "Capture Card Source 2022-6 (No Refclock)";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           format = "urn:x-nmos:format:mux";
           id = "3ca37fce-c0cf-42a6-86ad-43635a53b5bb";
           label = "Capture Card Source 2022-6 (No Refclock)";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1453880605:374934072";
         };
         {
           caps = { };
           clock_name = "clk0";
           description = "IS-07 Temperature Readings";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           event_type = "number/temperature/*";
           format = "urn:x-nmos:format:data";
           id = "33e28c6f-d5ab-4ae5-b00d-f1cccab29af4";
           label = "IS-07 Temperature Readings";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1453880605:374934072";
         };
         {
           caps = { };
           clock_name = "clk0";
           description = "IS-07 Button";
           device_id = "9126cc2f-4c26-4c9b-a6cd-93c4381c9be5";
           event_type = "boolean";
           format = "urn:x-nmos:format:data";
           id = "c8d27a1d-d124-4d06-bc43-312fd36f7db1";
           label = "IS-07 Button";
           parents = { };
           tags =
           {
             host = { "host1" };
           };
           version = "1453880605:374934072";
         };
       }
    generated by LDoc 1.4.6 Last updated 1980-01-01 00:00:00