Loading TS26510_Maf_Provisioning_RealTimeCommunication.yaml 0 → 100755 +282 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: Maf_Provisioning_RealTimeCommunication version: 1.0.0 description: | Media Delivery: Real-Time media Communication Provisioning API © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: Maf_Provisioning_RealTimeCommunication description: 'Media Delivery: Real-Time media Communication Provisioning API' externalDocs: description: 'TS 26.510 V18.0.0; Media Delivery; Interactions and APIs for media session handling' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.510/' servers: - url: '{apiRoot}/3gpp-maf-provisioning/v1' variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. security: - {} - OAuth2ClientCredentials: [] paths: /provisioning-sessions/{provisioningSessionId}/rtc-configuration: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' post: operationId: activateRealTimeCommunication summary: 'Activate the Real-Time media Communication procedure for the specified Provisioning Session by providing the Real-Time media Communication Configuration' requestBody: description: 'A JSON representation of a Real-Time media Communication Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' responses: '201': # OK description: 'Real-Time media Communication Configuration Created' headers: Location: description: 'URL of the newly created Real-Time media Communication Configuration (same as request URL).' required: true schema: $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': # Unauthorized $ref: 'TS29571_CommonData.yaml#/components/responses/401' '411': # Length Required $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': # Payload Too Large $ref: 'TS29571_CommonData.yaml#/components/responses/413' '414': # URI Too Long $ref: 'TS29571_CommonData.yaml#/components/responses/414' '415': # Unsupported Media Type $ref: 'TS29571_CommonData.yaml#/components/responses/415' '500': # Internal Server Error $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': # Service Unavailable $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' get: operationId: retrieveRTCConfiguration summary: 'Retrieve the Real-Time media Communication Configuration of the specified Provisioning Session' responses: '200': # OK description: 'Success' content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': # Unauthorized $ref: 'TS29571_CommonData.yaml#/components/responses/401' '404': # Not Found $ref: 'TS29571_CommonData.yaml#/components/responses/404' '410': # Gone: Resource no longer exists $ref: 'TS29571_CommonData.yaml#/components/responses/410' '413': # Payload Too Large: No request body allowed for this operation $ref: 'TS29571_CommonData.yaml#/components/responses/413' '414': # URI too long $ref: 'TS29571_CommonData.yaml#/components/responses/414' '500': # Internal Server Error $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': # Service Unavailable $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: operationId: updateRTCConfiguration summary: 'Update the Real-Time media Communication Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Real-Time media Communication Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' responses: '200': # OK description: 'Real-Time media Communication Configuration Updated' content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' '204': # No Content description: 'Real-Time media Communication Configuration Unchanged' '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': # Unauthorized $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': # Forbidden $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': # Not Found $ref: 'TS29571_CommonData.yaml#/components/responses/404' '410': # Gone: Resource no longer exists $ref: 'TS29571_CommonData.yaml#/components/responses/410' '411': # Length Required $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': # Payload Too Large $ref: 'TS29571_CommonData.yaml#/components/responses/413' '414': # URI Too Long $ref: 'TS29571_CommonData.yaml#/components/responses/414' '415': # Unsupported Media Type $ref: 'TS29571_CommonData.yaml#/components/responses/415' '500': # Internal Server Error $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': # Service Unavailable $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' patch: operationId: patchRTCConfiguration summary: 'Patch the Real-Time media Communication Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Real-Time media Communication Configuration' required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/RTCConfiguration' application/json-patch+json: schema: $ref: '#/components/schemas/RTCConfiguration' responses: '200': # OK description: 'Real-Time media Communication Configuration Updated' content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' '204': # No Content description: 'Real-Time media Communication Configuration Unchanged' '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': # Unauthorized $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': # Forbidden $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': # Not Found $ref: 'TS29571_CommonData.yaml#/components/responses/404' '410': # Gone: Resource no longer exists $ref: 'TS29571_CommonData.yaml#/components/responses/410' '411': # Length Required $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': # Payload Too Large $ref: 'TS29571_CommonData.yaml#/components/responses/413' '414': # URI Too Long $ref: 'TS29571_CommonData.yaml#/components/responses/414' '415': # Unsupported Media Type $ref: 'TS29571_CommonData.yaml#/components/responses/415' '500': # Internal Server Error $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': # Service Unavailable $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' delete: operationId: destroyRTCConfiguration summary: 'Destroy the current Real-Time media Communication Configuration of the specified Provisioning Session' responses: '204': # No Content description: 'Real-Time media Communication Configuration Destroyed' '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': # Unauthorized $ref: 'TS29571_CommonData.yaml#/components/responses/401' '404': # Not Found $ref: 'TS29571_CommonData.yaml#/components/responses/404' '410': # Gone: Resource no longer exists $ref: 'TS29571_CommonData.yaml#/components/responses/410' '413': # Payload Too Large: No request body allowed for this operation $ref: 'TS29571_CommonData.yaml#/components/responses/413' '414': # URI Too Long $ref: 'TS29571_CommonData.yaml#/components/responses/414' '500': # Internal Server Error $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': # Service Unavailable $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' components: securitySchemes: OAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: {} schemas: RTCConfiguration: type: object description: "A representation of a Real-Time media Communication Configuration resource." properties: edgeResourcesConfiguration: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' enableStunService: type: boolean default: false stunEndpoints: type: array minItems: 1 items: $ref: '#/components/schemas/M1EndpointAccess' enableTurnService: type: boolean default: false turnEndpoints: type: array minItems: 1 items: $ref: '#/components/schemas/M1EndpointAccess' enableSwapService: type: boolean default: false swapEndpoints: type: array minItems: 1 items: $ref: '#/components/schemas/M1EndpointAccess' M1EndpointAccess: type: object description: "Access details used for provisioning a service endpoint." allOf: - $ref: 'TS26510_CommonData.yaml#/components/schemas/EndpointAddress' - type: object properties: credentials: type: object required: - username - passphrase properties: username: type: string minLength: 1 passphrase: type: string minLength: 1 certificateId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' Loading
TS26510_Maf_Provisioning_RealTimeCommunication.yaml 0 → 100755 +282 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: Maf_Provisioning_RealTimeCommunication version: 1.0.0 description: | Media Delivery: Real-Time media Communication Provisioning API © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: Maf_Provisioning_RealTimeCommunication description: 'Media Delivery: Real-Time media Communication Provisioning API' externalDocs: description: 'TS 26.510 V18.0.0; Media Delivery; Interactions and APIs for media session handling' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.510/' servers: - url: '{apiRoot}/3gpp-maf-provisioning/v1' variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. security: - {} - OAuth2ClientCredentials: [] paths: /provisioning-sessions/{provisioningSessionId}/rtc-configuration: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' post: operationId: activateRealTimeCommunication summary: 'Activate the Real-Time media Communication procedure for the specified Provisioning Session by providing the Real-Time media Communication Configuration' requestBody: description: 'A JSON representation of a Real-Time media Communication Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' responses: '201': # OK description: 'Real-Time media Communication Configuration Created' headers: Location: description: 'URL of the newly created Real-Time media Communication Configuration (same as request URL).' required: true schema: $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': # Unauthorized $ref: 'TS29571_CommonData.yaml#/components/responses/401' '411': # Length Required $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': # Payload Too Large $ref: 'TS29571_CommonData.yaml#/components/responses/413' '414': # URI Too Long $ref: 'TS29571_CommonData.yaml#/components/responses/414' '415': # Unsupported Media Type $ref: 'TS29571_CommonData.yaml#/components/responses/415' '500': # Internal Server Error $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': # Service Unavailable $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' get: operationId: retrieveRTCConfiguration summary: 'Retrieve the Real-Time media Communication Configuration of the specified Provisioning Session' responses: '200': # OK description: 'Success' content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': # Unauthorized $ref: 'TS29571_CommonData.yaml#/components/responses/401' '404': # Not Found $ref: 'TS29571_CommonData.yaml#/components/responses/404' '410': # Gone: Resource no longer exists $ref: 'TS29571_CommonData.yaml#/components/responses/410' '413': # Payload Too Large: No request body allowed for this operation $ref: 'TS29571_CommonData.yaml#/components/responses/413' '414': # URI too long $ref: 'TS29571_CommonData.yaml#/components/responses/414' '500': # Internal Server Error $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': # Service Unavailable $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: operationId: updateRTCConfiguration summary: 'Update the Real-Time media Communication Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Real-Time media Communication Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' responses: '200': # OK description: 'Real-Time media Communication Configuration Updated' content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' '204': # No Content description: 'Real-Time media Communication Configuration Unchanged' '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': # Unauthorized $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': # Forbidden $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': # Not Found $ref: 'TS29571_CommonData.yaml#/components/responses/404' '410': # Gone: Resource no longer exists $ref: 'TS29571_CommonData.yaml#/components/responses/410' '411': # Length Required $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': # Payload Too Large $ref: 'TS29571_CommonData.yaml#/components/responses/413' '414': # URI Too Long $ref: 'TS29571_CommonData.yaml#/components/responses/414' '415': # Unsupported Media Type $ref: 'TS29571_CommonData.yaml#/components/responses/415' '500': # Internal Server Error $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': # Service Unavailable $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' patch: operationId: patchRTCConfiguration summary: 'Patch the Real-Time media Communication Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Real-Time media Communication Configuration' required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/RTCConfiguration' application/json-patch+json: schema: $ref: '#/components/schemas/RTCConfiguration' responses: '200': # OK description: 'Real-Time media Communication Configuration Updated' content: application/json: schema: $ref: '#/components/schemas/RTCConfiguration' '204': # No Content description: 'Real-Time media Communication Configuration Unchanged' '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': # Unauthorized $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': # Forbidden $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': # Not Found $ref: 'TS29571_CommonData.yaml#/components/responses/404' '410': # Gone: Resource no longer exists $ref: 'TS29571_CommonData.yaml#/components/responses/410' '411': # Length Required $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': # Payload Too Large $ref: 'TS29571_CommonData.yaml#/components/responses/413' '414': # URI Too Long $ref: 'TS29571_CommonData.yaml#/components/responses/414' '415': # Unsupported Media Type $ref: 'TS29571_CommonData.yaml#/components/responses/415' '500': # Internal Server Error $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': # Service Unavailable $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' delete: operationId: destroyRTCConfiguration summary: 'Destroy the current Real-Time media Communication Configuration of the specified Provisioning Session' responses: '204': # No Content description: 'Real-Time media Communication Configuration Destroyed' '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': # Unauthorized $ref: 'TS29571_CommonData.yaml#/components/responses/401' '404': # Not Found $ref: 'TS29571_CommonData.yaml#/components/responses/404' '410': # Gone: Resource no longer exists $ref: 'TS29571_CommonData.yaml#/components/responses/410' '413': # Payload Too Large: No request body allowed for this operation $ref: 'TS29571_CommonData.yaml#/components/responses/413' '414': # URI Too Long $ref: 'TS29571_CommonData.yaml#/components/responses/414' '500': # Internal Server Error $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': # Service Unavailable $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' components: securitySchemes: OAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: {} schemas: RTCConfiguration: type: object description: "A representation of a Real-Time media Communication Configuration resource." properties: edgeResourcesConfiguration: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' enableStunService: type: boolean default: false stunEndpoints: type: array minItems: 1 items: $ref: '#/components/schemas/M1EndpointAccess' enableTurnService: type: boolean default: false turnEndpoints: type: array minItems: 1 items: $ref: '#/components/schemas/M1EndpointAccess' enableSwapService: type: boolean default: false swapEndpoints: type: array minItems: 1 items: $ref: '#/components/schemas/M1EndpointAccess' M1EndpointAccess: type: object description: "Access details used for provisioning a service endpoint." allOf: - $ref: 'TS26510_CommonData.yaml#/components/schemas/EndpointAddress' - type: object properties: credentials: type: object required: - username - passphrase properties: username: type: string minLength: 1 passphrase: type: string minLength: 1 certificateId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId'