openapi: 3.2.0 info: title: 3gpp-iptvconfiguration Individual IPTV Configuration API version: 1.2.0 description: "API for IPTV configuration. \n© 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). \nAll rights reserved.\n" servers: - url: '{apiRoot}/3gpp-iptvconfiguration/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122. security: - {} - oAuth2ClientCredentials: [] tags: - name: Individual IPTV Configuration paths: /{afId}/configurations/{configurationId}: get: summary: read an active configuration for the AF and the configuration Id operationId: ReadAnSubscription tags: - Individual IPTV Configuration parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: configurationId in: path description: Identifier of the configuration resource required: true schema: type: string responses: '200': description: OK (Successful get the active configuration) content: application/json: schema: $ref: '#/components/schemas/IptvConfigData' '307': $ref: TS29122_CommonData.yaml#/components/responses/307 '308': $ref: TS29122_CommonData.yaml#/components/responses/308 '400': $ref: TS29122_CommonData.yaml#/components/responses/400 '401': $ref: TS29122_CommonData.yaml#/components/responses/401 '403': $ref: TS29122_CommonData.yaml#/components/responses/403 '404': $ref: TS29122_CommonData.yaml#/components/responses/404 '406': $ref: TS29122_CommonData.yaml#/components/responses/406 '429': $ref: TS29122_CommonData.yaml#/components/responses/429 '500': $ref: TS29122_CommonData.yaml#/components/responses/500 '503': $ref: TS29122_CommonData.yaml#/components/responses/503 default: $ref: TS29122_CommonData.yaml#/components/responses/default put: summary: Fully updates/replaces an existing configuration resource operationId: FullyUpdateAnSubscription tags: - Individual IPTV Configuration parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: configurationId in: path description: Identifier of the configuration resource required: true schema: type: string requestBody: description: Parameters to update/replace the existing configuration required: true content: application/json: schema: $ref: '#/components/schemas/IptvConfigData' responses: '200': description: OK (Successful deletion of the existing configuration) content: application/json: schema: $ref: '#/components/schemas/IptvConfigData' '204': description: 'Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. ' '307': $ref: TS29122_CommonData.yaml#/components/responses/307 '308': $ref: TS29122_CommonData.yaml#/components/responses/308 '400': $ref: TS29122_CommonData.yaml#/components/responses/400 '401': $ref: TS29122_CommonData.yaml#/components/responses/401 '403': $ref: TS29122_CommonData.yaml#/components/responses/403 '404': $ref: TS29122_CommonData.yaml#/components/responses/404 '411': $ref: TS29122_CommonData.yaml#/components/responses/411 '413': $ref: TS29122_CommonData.yaml#/components/responses/413 '415': $ref: TS29122_CommonData.yaml#/components/responses/415 '429': $ref: TS29122_CommonData.yaml#/components/responses/429 '500': $ref: TS29122_CommonData.yaml#/components/responses/500 '503': $ref: TS29122_CommonData.yaml#/components/responses/503 default: $ref: TS29122_CommonData.yaml#/components/responses/default patch: summary: Partial updates an existing configuration resource operationId: PartialUpdateAnSubscription tags: - Individual IPTV Configuration parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: configurationId in: path description: Identifier of the configuration resource required: true schema: type: string requestBody: required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/IptvConfigDataPatch' responses: '200': description: OK. The configuration was modified successfully. content: application/json: schema: $ref: '#/components/schemas/IptvConfigData' '204': description: 'Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. ' '307': $ref: TS29122_CommonData.yaml#/components/responses/307 '308': $ref: TS29122_CommonData.yaml#/components/responses/308 '400': $ref: TS29122_CommonData.yaml#/components/responses/400 '401': $ref: TS29122_CommonData.yaml#/components/responses/401 '403': $ref: TS29122_CommonData.yaml#/components/responses/403 '404': $ref: TS29122_CommonData.yaml#/components/responses/404 '411': $ref: TS29122_CommonData.yaml#/components/responses/411 '413': $ref: TS29122_CommonData.yaml#/components/responses/413 '415': $ref: TS29122_CommonData.yaml#/components/responses/415 '429': $ref: TS29122_CommonData.yaml#/components/responses/429 '500': $ref: TS29122_CommonData.yaml#/components/responses/500 '503': $ref: TS29122_CommonData.yaml#/components/responses/503 default: $ref: TS29122_CommonData.yaml#/components/responses/default delete: summary: Deletes an already existing configuration operationId: DeleteAnSubscription tags: - Individual IPTV Configuration parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: configurationId in: path description: Identifier of the configuration resource required: true schema: type: string responses: '204': description: No Content (Successful deletion of the existing configuration) '307': $ref: TS29122_CommonData.yaml#/components/responses/307 '308': $ref: TS29122_CommonData.yaml#/components/responses/308 '400': $ref: TS29122_CommonData.yaml#/components/responses/400 '401': $ref: TS29122_CommonData.yaml#/components/responses/401 '403': $ref: TS29122_CommonData.yaml#/components/responses/403 '404': $ref: TS29122_CommonData.yaml#/components/responses/404 '429': $ref: TS29122_CommonData.yaml#/components/responses/429 '500': $ref: TS29122_CommonData.yaml#/components/responses/500 '503': $ref: TS29122_CommonData.yaml#/components/responses/503 default: $ref: TS29122_CommonData.yaml#/components/responses/default components: schemas: IptvConfigData: description: Represents an individual IPTV Configuration resource. type: object properties: self: $ref: TS29122_CommonData.yaml#/components/schemas/Link gpsi: $ref: TS29571_CommonData.yaml#/components/schemas/Gpsi exterGroupId: $ref: TS29122_CommonData.yaml#/components/schemas/ExternalGroupId afAppId: type: string dnn: $ref: TS29571_CommonData.yaml#/components/schemas/Dnn snssai: $ref: TS29571_CommonData.yaml#/components/schemas/Snssai multiAccCtrls: type: object additionalProperties: $ref: '#/components/schemas/MulticastAccessControl' minProperties: 1 description: 'Identifies a list of multicast address access control information. Any string value can be used as a key of the map. ' mtcProviderId: $ref: TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation suppFeat: $ref: TS29571_CommonData.yaml#/components/schemas/SupportedFeatures required: - afAppId - multiAccCtrls - suppFeat AccessRightStatus: anyOf: - type: string enum: - FULLY_ALLOWED - PREVIEW_ALLOWED - NO_ALLOWED - type: string description: 'This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. ' description: "Represents the access right status for parameter provision. \nPossible values are:\n- FULLY_ALLOWED: The User is fully allowed to access to the channel.\n- PREVIEW_ALLOWED: The User is preview allowed to access to the channel.\n- NO_ALLOWED: The User is not allowed to access to the channel.\n" IptvConfigDataPatch: description: 'Represents the parameters to request the modification of an IPTV Configuration resource. ' type: object properties: multiAccCtrls: type: object additionalProperties: $ref: '#/components/schemas/MulticastAccessControl' minProperties: 1 description: 'Identifies a list of multicast address access control information. Any string value can be used as a key of the map. ' MulticastAccessControl: description: Represents multicast address access control information. type: object properties: srcIpv4Addr: $ref: TS29571_CommonData.yaml#/components/schemas/Ipv4Addr srcIpv6Addr: $ref: TS29571_CommonData.yaml#/components/schemas/Ipv6Addr multicastV4Addr: $ref: TS29571_CommonData.yaml#/components/schemas/Ipv4Addr multicastV6Addr: $ref: TS29571_CommonData.yaml#/components/schemas/Ipv6Addr accStatus: $ref: '#/components/schemas/AccessRightStatus' required: - accStatus securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: {} externalDocs: description: '3GPP TS 29.522 V18.6.0; 5G System; Network Exposure Function Northbound APIs. ' url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.522/