openapi: 3.2.0
info:
title: TVU Networks — Uncategorized Route Object API
description: Uncategorized operations of the TVU Networks public HTTP API, assembled verbatim from the per-endpoint OpenAPI 3.0.1 exports TVU publishes on its own Apifox documentation site (https://docs.tvunetworks.cn/). Each operation body is the provider's own export; only grouping, servers[] and operationId backfill were added by API Evangelist.
version: 1.0.0
contact:
name: TVU Networks
url: https://www.tvunetworks.com/tvu-developer/
servers:
- url: https://api.tvunetworks.com
description: Prod Env default server
tags:
- name: Route Object
paths:
/route-object/object-service/api/v1/object:
post:
summary: Create a new object
deprecated: false
description: 'Creates an object in objectd with full field support including features, geo info,
admin/owner info, tags, and optional tangible binding.
Example request:
POST /api/v1/object
{
"objectName": "Studio Camera 1",
"objectType": 1,
"tangibleId": "tgb-001",
"tangibleType": "SDI",
"tangibleName": "SDI Input 1",
"isAsyn": false
}'
tags:
- Route Object
parameters:
- name: SID
in: header
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
requestBody:
content:
application/json:
schema:
description: unified object creation parameter with all supported fields
type: object
properties:
objectId:
type: integer
description: Unique object ID (Long). Null when creating a new object; populated on response.
format: int64
objectName:
type: string
description: Human-readable name of the object. Required for creation.
objectType:
type: integer
description: Integer type code of the object (e.g., 1 = source, 2 = project). Required for creation.
tangibleId:
type: string
description: ID of the tangible (physical device/source) to bind to this object.
tangibleType:
type: string
description: Type of the tangible (e.g., SDI, PACK, EXT, ANYWHERE).
tangibleName:
type: string
description: Human-readable name of the tangible device.
distinction:
type: string
description: Distinction label used to differentiate multiple tangibles on the same object.
admin:
$ref: '#/components/schemas/AdminInfo'
description: Admin user info (userId and email of the object administrator).
owner:
$ref: '#/components/schemas/OwnerInfo'
description: Owner user info (userId and email of the object owner).
tags:
type: array
items:
type: string
description: List of tag strings to apply to the object (e.g., "broadcast", "live").
features:
type: array
items:
$ref: '#/components/schemas/FeatureInfo'
description: ''
description: List of feature flags to enable on the object (e.g., recording, publicSlug).
extraInfo:
type: string
description: Extra JSON metadata string for additional tangible-specific information.
origin:
type: string
description: Origin identifier indicating the service or system creating the object.
geoInfo:
type: array
items:
$ref: '#/components/schemas/GeoInfo'
description: ''
description: List of geographic coordinates associated with the object.
location:
type: array
items:
type: string
description: List of location name strings (e.g., city, country).
dmaEmbargo:
type: boolean
description: Whether the object has a DMA embargo restriction applied.
description:
type: string
description: Free-text description of the object.
url:
type: string
description: Special SDI URL for MediaHub objects requiring URL-based tangible resolution.
attributes:
type: array
items:
$ref: '#/components/schemas/CreateObjectAttr'
description: com.tvunetworks.model.objectd.CreateObjectAttr
description: List of custom attributes to attach to the object on creation.
priority:
type: integer
description: Priority for the tangible binding when an object is bound to multiple tangibles. 0 = highest priority.
isAsyn:
type: boolean
description: 'If{@code true}, the object is created asynchronously. Default: false (synchronous).'
x-apifox-orders:
- objectId
- objectName
- objectType
- tangibleId
- tangibleType
- tangibleName
- distinction
- admin
- owner
- tags
- features
- extraInfo
- origin
- geoInfo
- location
- dmaEmbargo
- description
- url
- attributes
- priority
- isAsyn
x-apifox-ignore-properties: []
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
errorCode:
type: string
errorInfo:
type: string
result:
type: string
description: created object ID
required:
- errorCode
- errorInfo
- result
description: '[ProcessResult] wrapping the created object ID as a string'
x-apifox-orders:
- errorCode
- errorInfo
- result
x-apifox-ignore-properties: []
example:
errorCode: '0x0'
errorInfo: success
result: string
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290259-run
operationId: Create_a_new_object_473290259
x-source-doc: https://docs.tvunetworks.cn/api-473290259.md
put:
summary: Update an existing object
deprecated: false
description: 'Updates object metadata in objectd. Only fields provided in the request body are updated.
Example request:
PUT /api/v1/object
{
"objectId": "123456",
"objectName": "Updated Camera Name",
"description": "Primary broadcast camera",
"tags": ["live", "broadcast"]
}'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
description: update parameter containing the objectId (required) and fields to update
type: object
properties:
objectId:
type: string
description: Unique ID of the object to update. Required.
objectName:
type: string
description: New name for the object. Leave null to keep the existing name.
nestedObjects:
type: array
items:
$ref: '#/components/schemas/NestedObjects'
description: ''
description: Updated list of nested child objects. Replaces the existing nested object list if provided.
description:
type: string
description: Updated free-text description. Leave null to keep the existing description.
admin:
$ref: '#/components/schemas/AdminInfo'
description: Updated admin user info. Leave null to keep the existing admin.
owner:
$ref: '#/components/schemas/OwnerInfo'
description: Updated owner user info. Leave null to keep the existing owner.
features:
type: array
items:
$ref: '#/components/schemas/FeatureInfo'
description: ''
description: Updated list of feature flags. Replaces the existing features list if provided.
dmaEmbargo:
type: boolean
description: Updated DMA embargo flag. Leave null to keep the existing value.
geoInfo:
type: array
items:
$ref: '#/components/schemas/GeoInfo'
description: ''
description: Updated list of geographic coordinates. Leave null to keep existing geo info.
location:
type: array
items:
type: string
description: Updated list of location name strings. Leave null to keep existing locations.
origin:
type: string
description: Updated origin identifier. Leave null to keep the existing value.
tags:
type: array
items:
type: string
description: Updated list of tag strings. Replaces the existing tags list if provided.
x-apifox-orders:
- objectId
- objectName
- nestedObjects
- description
- admin
- owner
- features
- dmaEmbargo
- geoInfo
- location
- origin
- tags
x-apifox-ignore-properties: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlResult'
description: '[Standard result wrapper for objectd GraphQL operations.
A successful response has{@code errorCode = "0x0"}.] with errorCode {@code 0x0} on success, or error details on failure'
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290260-run
operationId: Update_an_existing_object_473290260
x-source-doc: https://docs.tvunetworks.cn/api-473290260.md
delete:
summary: Delete an object (requires authentication)
deprecated: false
description: 'Deletes the specified object using the given deleteType. Requires user authentication via
{@code @Authorization}; the userId is populated automatically from the auth context.
Example request:
DELETE /api/v1/object?serviceName=media-service
{
"objectId": "123456",
"deleteType": 2,
"forceDelete": false
}'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: object01
in: cookie
description: ''
required: false
example: 01daily1
schema:
type: string
default: 01daily1
- name: serviceName
in: query
description: name of the calling service for audit logging (required)
required: true
schema:
type: string
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
description: "delete parameter containing required objectId, deleteType (1=ready-to-delete, 2=delete, 3=to-app-delete), and forceDelete flag;\n userId is populated from the auth context"
type: object
properties:
userId:
type: string
description: ID of the user requesting the delete. Populated from auth context when using authenticated endpoints.
objectId:
type: string
description: ID of the object to delete. Required.
deleteType:
type: integer
description: "Delete operation type.\n
\n - 1 = ready-to-delete (move to recycling bin)
\n - 2 = hard delete
\n - 3 = to-app-delete (notify app service before deletion)
\n
"
forceDelete:
type: boolean
description: 'If{@code true}, the object is deleted even if it is currently locked. Default: false.'
required:
- objectId
x-apifox-orders:
- userId
- objectId
- deleteType
- forceDelete
x-apifox-ignore-properties: []
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlResult'
description: '[Standard result wrapper for objectd GraphQL operations.
A successful response has{@code errorCode = "0x0"}.] with errorCode {@code 0x0} on success, or error details on failure'
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290261-run
operationId: Delete_an_object_requires_authentication_473290261
x-source-doc: https://docs.tvunetworks.cn/api-473290261.md
/route-object/object-service/api/v1/object/bytangible/{tangibleId}:
get:
summary: Query all objects bound to a given tangible ID
deprecated: false
description: 'Returns full object details for all objects associated with the specified tangible.
Example request:
GET /api/v1/object/bytangible/tgb-001'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: tangibleId
in: path
description: the tangible ID to look up (path variable)
required: true
example: ''
schema:
type: string
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ObjectDetailsInfo'
description: Detailed information for an object returned by queries.
description: list of [Detailed information for an object returned by queries.] with full object details for each bound object
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290263-run
operationId: Query_all_objects_bound_to_a_given_tangible_ID_473290263
x-source-doc: https://docs.tvunetworks.cn/api-473290263.md
/route-object/object-service/api/v1/object/checkfeature:
post:
summary: Check whether a specific feature is enabled for a set of objects
deprecated: false
description: 'Returns a map of objectId to boolean indicating if the named feature is enabled for each object.
Example request:
POST /api/v1/object/checkfeature
{
"userId": "user-abc",
"objectIds": ["123456", "789012"],
"featureName": "recording"
}'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: object01
in: cookie
description: ''
required: false
example: 01daily1
schema:
type: string
default: 01daily1
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CheckObjectFeature'
description: parameter containing userId, the list of objectIds, and the featureName to check
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessResultMapBoolean'
description: '[ProcessResult] wrapping a {@code Map} where key is objectId and value indicates whether the feature is enabled'
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290264-run
operationId: Check_whether_a_specific_feature_is_enabled_for_a_set_of_objects_473290264
x-source-doc: https://docs.tvunetworks.cn/api-473290264.md
/route-object/object-service/api/v1/object/checkowneradmin:
post:
summary: Check whether the specified user is an admin or owner of the given object
deprecated: false
description: 'Returns{@code true} if the user has admin or owner privileges on the object,{@code false} otherwise.
Example request:
POST /api/v1/object/checkowneradmin
{
"userId": "user-abc",
"objectId": "123456"
}'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: object01
in: cookie
description: ''
required: false
example: 01daily1
schema:
type: string
default: 01daily1
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CheckObjectAdmin'
description: parameter containing the userId and objectId to check
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessResultBoolean'
description: '[ProcessResult] wrapping a boolean: {@code true} if the user is an admin/owner, {@code false} otherwise'
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290265-run
operationId: Check_whether_the_specified_user_is_an_admin_or_owner_of_the_given_object_473290265
x-source-doc: https://docs.tvunetworks.cn/api-473290265.md
/route-object/object-service/api/v1/object/copy:
post:
summary: Copy an object and bind the copy to a new tangible
deprecated: false
description: 'Creates a copy of the specified object and binds the new copy to the given tangibleId.
The copied object inherits all metadata from the source object.
Example request:
POST /api/v1/object/copy
{
"objectId": "123456",
"tangibleId": "tgb-new-001",
"userId": "user-abc"
}'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: object01
in: cookie
description: ''
required: false
example: 01daily1
schema:
type: string
default: 01daily1
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CopyObjectParam'
description: copy parameter containing the required source objectId, required target tangibleId, and required userId
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessResult'
description: '[ProcessResult] wrapping the newly created object ID'
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290268-run
operationId: Copy_an_object_and_bind_the_copy_to_a_new_tangible_473290268
x-source-doc: https://docs.tvunetworks.cn/api-473290268.md
/route-object/object-service/api/v1/object/hold:
post:
summary: Place a hold on an object to reserve it for exclusive use by an application
deprecated: false
description: 'Locks the object so that it cannot be used by other applications until explicitly released.
An optional callback URL is invoked when the hold state changes.
Example request:
POST /api/v1/object/hold
{
"appName": "media-encoder",
"objectId": "123456",
"user": "user-abc",
"callbackUrl": "https://example.com/callback",
"tangibleId": "tgb-001",
"features": ["recording"]
}'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: object01
in: cookie
description: ''
required: false
example: 01daily1
schema:
type: string
default: 01daily1
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/HoldObjectParam'
description: "hold parameter containing required appName, required objectId, required user (userId),\n and optional callbackUrl, requestHeader, description, tangibleId, and features list"
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlResult'
description: '[Standard result wrapper for objectd GraphQL operations.
A successful response has{@code errorCode = "0x0"}.] with errorCode {@code 0x0} on success, or error details on failure'
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290269-run
operationId: Place_a_hold_on_an_object_to_reserve_it_for_exclusive_use_by_an_application_473290269
x-source-doc: https://docs.tvunetworks.cn/api-473290269.md
/route-object/object-service/api/v1/object/info/ids:
post:
summary: Query detailed object information by a list of object IDs
deprecated: false
description: 'Batch retrieves full object details for each ID in the list from the search index.
Example request:
POST /api/v1/object/info/ids
["123456", "789012", "345678"]'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
description: list of object IDs to retrieve
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessResultListObjectDetailsInfo'
description: '[ProcessResult] wrapping a list of [Detailed information for an object returned by queries.] with full object details'
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290262-run
operationId: Query_detailed_object_information_by_a_list_of_object_IDs_473290262
x-source-doc: https://docs.tvunetworks.cn/api-473290262.md
/route-object/object-service/api/v1/object/release:
post:
summary: Release a previously held object
deprecated: false
description: 'Removes the hold placed on the object by the specified application and user,
making it available for other applications.
Example request:
POST /api/v1/object/release
{
"appName": "media-encoder",
"objectId": "123456",
"user": "user-abc",
"tangibleId": "tgb-001"
}'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: object01
in: cookie
description: ''
required: false
example: 01daily1
schema:
type: string
default: 01daily1
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReleaseObjectParam'
description: release parameter containing required appName, required objectId, required user (userId), and optional tangibleId
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlResult'
description: '[Standard result wrapper for objectd GraphQL operations.
A successful response has{@code errorCode = "0x0"}.] with errorCode {@code 0x0} on success, or error details on failure'
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290270-run
operationId: Release_a_previously_held_object_473290270
x-source-doc: https://docs.tvunetworks.cn/api-473290270.md
/route-object/object-service/api/v1/object/tangible/bind:
post:
summary: Bind a tangible to an object
deprecated: false
description: 'Creates a binding between an existing object and an existing tangible.
The priority field controls the ordering when an object is bound to multiple tangibles (0 = highest priority).
Example request:
POST /api/v1/object/tangible/bind
{
"objectId": "123456",
"tangibleId": "tgb-001",
"priority": 0
}'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: object01
in: cookie
description: ''
required: false
example: 01daily1
schema:
type: string
default: 01daily1
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ObjTgbRelation'
description: parameter containing the required objectId, required tangibleId, and optional priority (0 = highest)
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlResult'
description: '[Standard result wrapper for objectd GraphQL operations.
A successful response has{@code errorCode = "0x0"}.] with errorCode {@code 0x0} on success, or error details on failure'
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290267-run
operationId: Bind_a_tangible_to_an_object_473290267
x-source-doc: https://docs.tvunetworks.cn/api-473290267.md
/route-object/object-service/api/v1/object/tangible/unlink:
post:
summary: Unlink (detach) a tangible from an object
deprecated: false
description: 'Removes the binding between the specified object and tangible.
After unlinking, the tangible is no longer associated with the object.
Example request:
POST /api/v1/object/tangible/unlink
{
"objectId": "123456",
"tangibleId": "tgb-001"
}'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: object01
in: cookie
description: ''
required: false
example: 01daily1
schema:
type: string
default: 01daily1
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ObjTgbRelation'
description: parameter containing the required objectId and required tangibleId to unlink
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GraphqlResult'
description: '[Standard result wrapper for objectd GraphQL operations.
A successful response has{@code errorCode = "0x0"}.] with errorCode {@code 0x0} on success, or error details on failure'
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290266-run
operationId: Unlink_detach_a_tangible_from_an_object_473290266
x-source-doc: https://docs.tvunetworks.cn/api-473290266.md
/route-object/object-service/api/v1/object/{id}:
get:
summary: Get object information from the search index by object ID
deprecated: false
description: 'Retrieves the full object details stored in the search/ES index for the specified object.
Example request:
GET /api/v1/object/123456'
tags:
- Route Object
parameters:
- name: SID
in: cookie
description: ''
required: false
example: '{{SID}}'
schema:
type: string
default: '{{SID}}'
- name: id
in: path
description: the object ID to retrieve (path variable)
required: true
example: '1377420057780555776'
schema:
type: string
- name: SID
in: header
description: ''
example: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
schema:
type: string
default: 92575d36dcb631ac94745e6b157de17a5a13d65b31e44869f06854ab928dd80235d4daae8696b4a92a7be5f802c45a219648701fc9ca59f44e9c0f022d5d38a7
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
errorCode:
type: string
errorInfo:
type: string
result:
type: object
properties:
tangibleId:
type: string
tangibleName:
type: string
tangibleType:
type: string
objectId:
type: string
objectName:
type: string
objectType:
type: integer
nestedObjects:
type: 'null'
description:
type: string
admin:
type: object
properties:
users:
type: array
items:
type: string
groups:
type: array
items:
type: string
required:
- users
- groups
x-apifox-orders:
- users
- groups
owner:
type: object
properties:
users:
type: array
items:
type: string
groups:
type: array
items:
type: string
required:
- users
- groups
x-apifox-orders:
- users
- groups
operator:
type: 'null'
features:
type: array
items:
type: object
properties:
feature:
type: string
users:
type: array
items:
type: string
groups:
type: array
items:
type: string
required:
- feature
- users
- groups
x-apifox-orders:
- feature
- users
- groups
createTimestamp:
type: integer
updateTimestamp:
type: integer
recyclingBinTime:
type: 'null'
deleteFlag:
type: 'null'
dmaEmbargo:
type: 'null'
geoInfo:
type: 'null'
location:
type: array
items:
type: string
origin:
type: string
tags:
type: array
items:
type: string
holdType:
type: 'null'
tangibleInfo:
type: array
items:
type: object
properties:
distinction:
type: 'null'
tangibleId:
type: string
tangibleName:
type: string
tangibleType:
type: string
extraInfo:
type: string
createTimestamp:
type: integer
required:
- distinction
- tangibleId
- tangibleName
- tangibleType
- extraInfo
- createTimestamp
x-apifox-orders:
- distinction
- tangibleId
- tangibleName
- tangibleType
- extraInfo
- createTimestamp
tagsInfo:
type: 'null'
highlight:
type: 'null'
required:
- tangibleId
- tangibleName
- tangibleType
- objectId
- objectName
- objectType
- nestedObjects
- description
- admin
- owner
- operator
- features
- createTimestamp
- updateTimestamp
- recyclingBinTime
- deleteFlag
- dmaEmbargo
- geoInfo
- location
- origin
- tags
- holdType
- tangibleInfo
- tagsInfo
- highlight
x-apifox-orders:
- tangibleId
- tangibleName
- tangibleType
- objectId
- objectName
- objectType
- nestedObjects
- description
- admin
- owner
- operator
- features
- createTimestamp
- updateTimestamp
- recyclingBinTime
- deleteFlag
- dmaEmbargo
- geoInfo
- location
- origin
- tags
- holdType
- tangibleInfo
- tagsInfo
- highlight
required:
- errorCode
- errorInfo
- result
description: '[ProcessResult] wrapping the object info as a JSON string from the search index'
x-apifox-orders:
- errorCode
- errorInfo
- result
example:
errorCode: '0x0'
errorInfo: success
result:
tangibleId: 55524c204558544c0000019bedaaedca
tangibleName: VSiN POC
tangibleType: SRT
objectId: '1377420057780555776'
objectName: VSiN POC
objectType: 1
nestedObjects: null
description: ''
admin:
users: []
groups:
- d10ec1d08ae44d4282f4d1ebc0e2fd6d
- a8f42e664ea74331811292b8763673c5
owner:
users:
- c04cdf97756849268c61c82c5cf63a55
groups:
- 3ee6f96c07804280babaa699f4c93a74
operator: null
features:
- feature: livepreview
users: []
groups:
- d10ec1d08ae44d4282f4d1ebc0e2fd6d
- feature: takelive
users: []
groups:
- d10ec1d08ae44d4282f4d1ebc0e2fd6d
- feature: rec
users: []
groups:
- d10ec1d08ae44d4282f4d1ebc0e2fd6d
- feature: stt
users: []
groups:
- d10ec1d08ae44d4282f4d1ebc0e2fd6d
- feature: face
users: []
groups:
- d10ec1d08ae44d4282f4d1ebc0e2fd6d
- feature: gpt
users: []
groups:
- d10ec1d08ae44d4282f4d1ebc0e2fd6d
- feature: slug
users: []
groups:
- d10ec1d08ae44d4282f4d1ebc0e2fd6d
- feature: owner
users: []
groups: []
createTimestamp: 1748444133099
updateTimestamp: 1772683146000
recyclingBinTime: null
deleteFlag: null
dmaEmbargo: null
geoInfo: null
location: []
origin: object-service
tags: []
holdType: null
tangibleInfo:
- distinction: null
tangibleId: 55524c204558544c0000019bedaaedca
tangibleName: VSiN POC
tangibleType: SRT
extraInfo: '{"urLoadTier":"TVUDECFVA4","url":"srt://192.33.1.61:60120"}'
createTimestamp: 1769218961178
- distinction: null
tangibleId: 13aa0fe7646346c58338b997ecb50cb1
tangibleName: 01KJY2CBB8RTAZTYYAZDX06MY1:input_srt_decoder_b493c70926494f49856abad33093e503
tangibleType: SHM
extraInfo: '{"SubType":"srt_decoder","ObjectId":"1377420057780555776","Zone":"us-east-1a","AudioShm":"A13aa0fe7646346c58338b997ecb50cb1","VideoShm":"V13aa0fe7646346c58338b997ecb50cb1","Originating":"J2N/0.2.36+9169031688","Vendor":1,"SaaSZone":"us-east-1a","BoxId":"3501ad9193d8412bbaa4035aaa74ac26","SaaSVendor":"AWS","Type":"SHM","DataShm":"D13aa0fe7646346c58338b997ecb50cb1","Version":4,"SaaSRegion":"us-east-1","Huan":"huan:mx::::srt_decoder:13aa0fe7646346c58338b997ecb50cb1","Region":"us-east-1","ProcessId":"13aa0fe7646346c58338b997ecb50cb1","RegionId":"SaaSRegion","TvuLiveShm":"SHMD13aa0fe7646346c58338b997ecb50cb1","CreateTimestamp":1772683145612,"TangibleId":"13aa0fe7646346c58338b997ecb50cb1"}'
createTimestamp: 1772683145766
tagsInfo: null
highlight: null
headers: {}
x-apifox-name: ''
security: []
x-apifox-folder: ''
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/4126232/apis/api-473290258-run
operationId: Get_object_information_from_the_search_index_by_object_ID_473290258
x-source-doc: https://docs.tvunetworks.cn/api-473290258.md
components:
schemas:
ProcessResultMapBoolean:
type: object
properties:
errorCode:
type: string
description: ''
errorInfo:
type: string
description: ''
result:
$ref: '#/components/schemas/MapBoolean'
description: ''
x-apifox-orders:
- errorCode
- errorInfo
- result
x-apifox-ignore-properties: []
x-apifox-folder: ''
ProcessResultBoolean:
type: object
properties:
errorCode:
type: string
description: ''
errorInfo:
type: string
description: ''
result:
type: boolean
description: ''
x-apifox-orders:
- errorCode
- errorInfo
- result
x-apifox-ignore-properties: []
x-apifox-folder: ''
CopyObjectParam:
type: object
properties:
objectId:
type: string
description: ''
tangibleId:
type: string
description: ''
userId:
type: string
description: ''
required:
- objectId
- tangibleId
- userId
x-apifox-orders:
- objectId
- tangibleId
- userId
x-apifox-ignore-properties: []
x-apifox-folder: ''
ObjTgbRelation:
type: object
properties:
objectId:
type: string
description: ID of the object to bind or unbind. Required.
tangibleId:
type: string
description: ID of the tangible (device/source) to bind or unbind. Required.
priority:
type: integer
description: Binding priority when an object is associated with multiple tangibles. 0 = highest priority. Optional.
required:
- objectId
- tangibleId
x-apifox-orders:
- objectId
- tangibleId
- priority
x-apifox-ignore-properties: []
x-apifox-folder: ''
ReleaseObjectParam:
type: object
properties:
appName:
type: string
description: Name of the application that originally placed the hold. Required.
objectId:
type: string
description: ID of the object to release. Required.
user:
type: string
description: User ID of the user releasing the hold. Required.
tangibleId:
type: string
description: ID of the specific tangible to release. Optional; if omitted, the entire object hold is released.
required:
- appName
- objectId
- user
x-apifox-orders:
- appName
- objectId
- user
- tangibleId
x-apifox-ignore-properties: []
x-apifox-folder: ''
TypeInfo:
type: object
properties:
ObjectType:
type: string
description: ''
num:
type: integer
description: ''
x-apifox-orders:
- ObjectType
- num
x-apifox-ignore-properties: []
x-apifox-folder: ''
ProcessResult:
type: object
properties:
errorCode:
type: string
description: ''
errorInfo:
type: string
description: ''
result:
description: ''
type: object
properties: {}
processResponse:
type: string
description: ''
enum:
- SUCCESS
- PARAMETER_ERROR
- EXCEPTION
- API_EXCEPTION
- ALREADY_EXIST
- NOT_EXIST
- OBJECT_IS_LOCKED
- OPERATION_FAIL
- AUTHORIZATION_FAIL
- MISSING_USER_INFO
- NO_PERMISSION
- NO_SET_PROJECT_CONFIG
- NO_SET_DELETE_CONFIG
- NO_SET_READ_CONFIG
- NO_SET_UPDATE_CONFIG
- NO_ORIGIN_SERVICE
- WRONG_DELETE_TYPE
- USER_NOT_EXIST
- TRY_LOCK_FAIL
- BIND_RELATION_FAIL
- CREATE_FAIL
- UPDATE_FAIL
- NO_OBJECT_INFO
- NO_GROUP_INFO
- TANGIBLE_ID_SAME
- TANGIBLE_HAS_BIND_BIND_OBJECT
- CREATE_TOKEN_FAIL
- CORRELATE_USER_DEVICE_FAIL
- NO_ADMIN_OWNER_PERMISSION
x-apifox-orders:
- errorCode
- errorInfo
- result
- processResponse
x-apifox-ignore-properties: []
x-apifox-folder: ''
ObjectDetailsInfo:
type: object
properties:
tangibleId:
type: string
description: Primary tangible ID bound to this object. Populated for legacy MX compatibility.
tangibleName:
type: string
description: Primary tangible name bound to this object. Populated for legacy MX compatibility.
tangibleType:
type: string
description: Primary tangible type (e.g., SDI, PACK, EXT). Populated for legacy MX compatibility.
objectId:
type: string
description: Unique object ID string.
objectName:
type: string
description: Human-readable name of the object.
objectType:
type: integer
description: Integer type code of the object (e.g., 1 = source, 2 = project).
nestedObjects:
type: array
items:
$ref: '#/components/schemas/NestedObjects'
description: ''
description: List of nested child objects associated with this object.
description:
type: string
description: Free-text description of the object.
admin:
$ref: '#/components/schemas/AdminInfo'
description: Admin user info (userId and email of the object administrator).
owner:
$ref: '#/components/schemas/OwnerInfo'
description: Owner user info (userId and email of the object owner).
operator:
$ref: '#/components/schemas/OperatorInfo'
description: Operator info recording the last user who modified the object.
features:
type: array
items:
$ref: '#/components/schemas/FeatureInfo'
description: ''
description: List of feature flags enabled for this object (e.g., recording, publicSlug).
createTimestamp:
type: integer
description: Unix timestamp (milliseconds) when the object was created.
format: int64
updateTimestamp:
type: integer
description: Unix timestamp (milliseconds) when the object was last updated.
format: int64
recyclingBinTime:
type: integer
description: Unix timestamp (milliseconds) when the object was moved to the recycling bin. Null if not in bin.
format: int64
deleteFlag:
type: integer
description: 'Soft-delete flag: 0 = active, 1 = deleted.'
dmaEmbargo:
type: boolean
description: Whether the object has a DMA embargo restriction applied.
geoInfo:
type: array
items:
$ref: '#/components/schemas/GeoInfo'
description: ''
description: List of geographic location coordinates associated with the object.
location:
type: array
items:
type: string
description: List of location name strings (e.g., city, country).
origin:
type: string
description: Origin identifier indicating the service or system that created the object.
tags:
type: array
items:
type: string
description: List of tag strings applied to the object (e.g., "broadcast", "live").
holdType:
type: integer
description: 'Hold type indicator: non-null when the object is held by an application.'
tangibleInfo:
type: array
items:
$ref: '#/components/schemas/TangibleInfo'
description: 'Tangible (physical device or source) metadata model.
Used both as a request parameter for create/update operations and as a response field within object details.'
description: Full list of tangibles bound to this object, including all binding metadata.
tagsInfo:
type: array
items:
$ref: '#/components/schemas/TagInfo'
description: ''
description: Detailed tag information list, including tag key/value pairs.
highlight:
type: string
description: Search highlight snippet showing matched query terms in context.
x-apifox-orders:
- tangibleId
- tangibleName
- tangibleType
- objectId
- objectName
- objectType
- nestedObjects
- description
- admin
- owner
- operator
- features
- createTimestamp
- updateTimestamp
- recyclingBinTime
- deleteFlag
- dmaEmbargo
- geoInfo
- location
- origin
- tags
- holdType
- tangibleInfo
- tagsInfo
- highlight
x-apifox-ignore-properties: []
x-apifox-folder: ''
GraphqlResult:
type: object
properties:
errorCode:
type: string
description: Error code returned by objectd.{@code "0x0"} indicates success; any other value indicates an error.
errorInfo:
type: string
description: Human-readable error message. Populated when errorCode is not{@code "0x0"}.
result:
type: string
description: JSON string containing the operation result data. Populated on success.
x-apifox-orders:
- errorCode
- errorInfo
- result
x-apifox-ignore-properties: []
x-apifox-folder: ''
TangibleInfo:
type: object
properties:
distinction:
type: string
description: Optional label to distinguish between multiple tangibles of the same type on one object.
tangibleId:
type: string
description: Unique ID of the tangible device or source. Required for update/bind operations.
tangibleName:
type: string
description: Human-readable name of the tangible device.
tangibleType:
type: string
description: Type of the tangible (e.g., SDI, PACK, EXT, ANYWHERE, GRID_SDI).
extraInfo:
type: string
description: 'JSON string containing extra tangible-specific metadata. Default: "{}".'
default: '{}'
createTimestamp:
type: integer
description: Unix timestamp (milliseconds) when the tangible was created.
format: int64
x-apifox-orders:
- distinction
- tangibleId
- tangibleName
- tangibleType
- extraInfo
- createTimestamp
x-apifox-ignore-properties: []
x-apifox-folder: ''
AdminInfo:
type: object
properties:
users:
type: array
items:
type: string
description: ''
groups:
type: array
items:
type: string
description: ''
x-apifox-orders:
- users
- groups
x-apifox-ignore-properties: []
x-apifox-folder: ''
FeatureInfo:
type: object
properties:
feature:
type: string
description: ''
users:
type: array
items:
type: string
description: ''
groups:
type: array
items:
type: string
description: ''
x-apifox-orders:
- feature
- users
- groups
x-apifox-ignore-properties: []
x-apifox-folder: ''
TagInfo:
type: object
properties:
tagId:
type: string
description: ''
tagName:
type: string
description: ''
classification:
type: integer
description: ''
createTimestamp:
type: integer
description: ''
format: int64
groupId:
type: string
description: ''
userId:
type: string
description: ''
detail:
type: array
items:
$ref: '#/components/schemas/TypeInfo'
description: ''
description: ''
num:
type: integer
description: ''
thumbnail:
type: string
description: ''
sortIndex:
type: integer
description: ''
x-apifox-orders:
- tagId
- tagName
- classification
- createTimestamp
- groupId
- userId
- detail
- num
- thumbnail
- sortIndex
x-apifox-ignore-properties: []
x-apifox-folder: ''
HoldObjectParam:
type: object
properties:
appName:
type: string
description: Name of the application placing the hold (e.g., "media-encoder"). Required.
objectId:
type: string
description: ID of the object to hold. Required.
user:
type: string
description: User ID of the user placing the hold. Required.
callbackUrl:
type: string
description: Callback URL to invoke when the hold state changes (e.g., released or expired). Optional.
requestHeader:
type: string
description: HTTP request headers to include when calling the callbackUrl. Optional JSON string.
description:
type: string
description: Human-readable reason or description for this hold. Optional.
tangibleId:
type: string
description: ID of the specific tangible to hold. Optional; if omitted, the hold applies to the object globally.
features:
type: array
items:
type: string
description: List of feature names that the hold should lock (e.g., ["recording"]). Optional.
required:
- appName
- objectId
- user
x-apifox-orders:
- appName
- objectId
- user
- callbackUrl
- requestHeader
- description
- tangibleId
- features
x-apifox-ignore-properties: []
x-apifox-folder: ''
ProcessResultListObjectDetailsInfo:
type: object
properties:
errorCode:
type: string
description: ''
errorInfo:
type: string
description: ''
result:
type: array
items:
$ref: '#/components/schemas/ObjectDetailsInfo'
description: Detailed information for an object returned by queries.
description: ''
x-apifox-orders:
- errorCode
- errorInfo
- result
x-apifox-ignore-properties: []
x-apifox-folder: ''
OwnerInfo:
type: object
properties:
users:
type: array
items:
type: string
description: ''
groups:
type: array
items:
type: string
description: ''
x-apifox-orders:
- users
- groups
x-apifox-ignore-properties: []
x-apifox-folder: ''
MapBoolean:
type: object
properties:
key:
type: boolean
x-apifox-orders:
- key
x-apifox-ignore-properties: []
x-apifox-folder: ''
CreateObjectAttr:
type: object
properties:
attrName:
type: string
description: ''
attrValue:
type: array
items:
type: string
description: ''
x-apifox-orders:
- attrName
- attrValue
x-apifox-ignore-properties: []
x-apifox-folder: ''
OperatorInfo:
type: object
properties:
users:
type: array
items:
type: string
description: ''
groups:
type: array
items:
type: string
description: ''
x-apifox-orders:
- users
- groups
x-apifox-ignore-properties: []
x-apifox-folder: ''
NestedObjects:
type: object
properties:
objectList:
type: array
items:
type: string
description: ''
x-apifox-orders:
- objectList
x-apifox-ignore-properties: []
x-apifox-folder: ''
GeoInfo:
type: object
properties:
lat:
type: number
description: ''
lon:
type: number
description: ''
x-apifox-orders:
- lat
- lon
x-apifox-ignore-properties: []
x-apifox-folder: ''
CheckObjectFeature:
type: object
properties:
userId:
type: string
description: ID of the user making the request, used for permission scoping. Optional.
objectIds:
type: array
items:
type: string
description: List of object IDs to check features for. Required.
featureName:
type: string
description: Name of the specific feature to check (e.g., "recording", "publicSlug"). Required for checkObjectFeature; optional for objectFeatureList.
x-apifox-orders:
- userId
- objectIds
- featureName
x-apifox-ignore-properties: []
x-apifox-folder: ''
CheckObjectAdmin:
type: object
properties:
userId:
type: string
description: ''
objectId:
type: string
description: ''
x-apifox-orders:
- userId
- objectId
x-apifox-ignore-properties: []
x-apifox-folder: ''
securitySchemes:
bearer:
type: bearer
scheme: bearer
apikey-header-Authorization:
type: apikey
in: header
name: Authorization
apikey-header-SID:
type: apikey
in: header
name: SID
tvu:
type: bearer
scheme: bearer