C.3 OpenAPI representation of the M1 APIs
26.5123GPP5G Media Streaming (5GMS)ProtocolsRelease 17TS
C.3.1 M1_ProvisioningSessions API
openapi: 3.0.0 info: title: M1_ProvisioningSessions version: 2.0.0 description: | 5GMS AF M1 Provisioning Sessions API © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: – name: M1_ProvisioningSessions description: ‘5G Media Streaming: Provisioning (M1) APIs: Provisioning Sessions’ externalDocs: description: ‘TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols’ url: ‘https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/’ servers: – url: ‘{apiRoot}/3gpp-m1/v2’ variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions: post: operationId: createProvisioningSession summary: ‘Create a new Provisioning Session’ responses: ‘201’: description: ‘Provisioning Session Created’ headers: Location: description: ‘URL including the resource identifier of the newly created Provisioning Session.’ required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ content: application/json: schema: $ref: ‘#/components/schemas/ProvisioningSession’ /provisioning-sessions/{provisioningSessionId}: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ get: operationId: getProvisioningSessionById summary: ‘Retrieve an existing Provisioning Session’ responses: ‘200’: description: ‘Success’ content: application/json: schema: $ref: ‘#/components/schemas/ProvisioningSession’ delete: operationId: destroyProvisioningSession summary: ‘Destroy an existing Provisioning Session’ responses: ‘204’: description: ‘Provisioning Session Destroyed’ # No Content components: schemas: ProvisioningSession: type: object description: "A representation of a Provisioning Session." required: – provisioningSessionId – provisioningSessionType – externalApplicationId properties: provisioningSessionId: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ provisioningSessionType: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ProvisioningSessionType’ aspId: $ref: ‘TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AspId’ externalApplicationId: $ref: ‘TS29571_CommonData.yaml#/components/schemas/ApplicationId’ serverCertificateIds: type: array items: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ minItems: 1 uniqueItems: true contentPreparationTemplateIds: type: array items: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ minItems: 1 uniqueItems: true metricsReportingConfigurationIds: type: array items: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ minItems: 1 uniqueItems: true policyTemplateIds: type: array items: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ minItems: 1 uniqueItems: true edgeResourcesConfigurationIds: type: array items: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ minItems: 1 uniqueItems: true eventDataProcessingConfigurationIds: type: array items: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ minItems: 1 uniqueItems: true |
C.3.2 M1_ServerCertificatesProvisioning API
openapi: 3.0.0 info: title: M1_ServerCertificatesProvisioning version: 2.0.0 description: | 5GMS AF M1 Server Certificates Provisioning API © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: – name: M1_ServerCertificatesProvisioning description: ‘5G Media Streaming: Provisioning (M1) APIs: Server Certificates Provisioning’ externalDocs: description: ‘TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols’ url: ‘https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/’ servers: – url: ‘{apiRoot}/3gpp-m1/v2’ variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/certificates: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: The resource identifier of an existing Provisioning Session.’ post: operationId: createOrReserveServerCertificate summary: ‘Create or reserve a Service Certificate resource’ description: ‘Without the optional csr query parameter, an X.509 certificate is generated and this is returned. If the csr query parameter is present, a Certificate Signing Request is instead generated and returned, allowing the X.509 certificate to be generated by the invoker and later uploaded.’ parameters: – in: query name: csr schema: type: string description: ‘When present, return a Certificate Signing Request instead of generating an X.509 certificate’ responses: ‘200’: description: ‘Server Certificate Created’ headers: Location: description: ‘URL of the newly created Server Certificate resource’ required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ content: ‘application/x-pem-file’: schema: type: string
/provisioning-sessions/{provisioningSessionId}/certificates/{certificateId}: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: The resource identifier of an existing Provisioning Session.’ – name: certificateId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Server Certificate’ put: operationId: uploadServerCertificate summary: "Upload the X.509 certificate for a previously reserved Server Certificate resource" requestBody: required: true content: application/x-pem-file: schema: type: string responses: ‘204’: description: ‘Server Certificate Updated’ get: operationId: retrieveServerCertificate summary: ‘Retrieve the X.509 certificate representation of the specified Server Certificate resource’ responses: ‘200’: description: ‘Success’ content: ‘application/x-pem-file’: schema: type: string ‘204’: description: ‘Awaiting Upload’ ‘404’: description: ‘Not Found’ delete: operationId: destroyServerCertificate summary: ‘Destroy an existing Server Certificate resource’ responses: ‘204’: description: ‘Server Certificate Destroyed’ |
C.3.3 M1_ContentPreparationTemplatesProvisioning API
openapi: 3.0.0 info: title: M1_ContentPreparationTemplatesProvisioning version: 2.0.0 description: | 5GMS AF M1 Content Preparation Templates Provisioning API © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: – name: M1_ContentPreparationTemplatesProvisioning description: ‘5G Media Streaming: Provisioning (M1) APIs: Content Preparation Templates Provisioning’ externalDocs: description: ‘TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols’ url: ‘https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/’ servers: – url: ‘{apiRoot}/3gpp-m1/v2’ variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/content-preparation-templates: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ post: operationId: createContentPreparationTemplate summary: ‘Create (and optionally upload) a new Content Preparation Template for the specified Provisioning Session’ requestBody: description: ‘A Content Preparation Template of any type’ required: true content: ‘*/*’: schema: type: string responses: ‘201’: description: ‘Content Preparation Template Created’ headers: Location: description: ‘URL of the newly created Content Preparation Template.’ required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ /provisioning-sessions/{provisioningSessionId}/content-preparation-templates/{contentPreparationTemplateId}: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ – name: contentPreparationTemplateId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Content Preparation Template.’ get: operationId: retrieveContentPreparationTemplate summary: ‘Retrieve the specified Content Preparation Template of the specified Provisioning Session’ responses: ‘200’: description: ‘Success’ content: ‘*/*’: schema: type: string put: operationId: updateContentPreparationTemplate summary: ‘Update the specified Content Preparation Template for the specified Provisioning Session’ requestBody: description: ‘A Content Preparation Template of any type’ required: true content: ‘*/*’: schema: type: string responses: ‘204’: description: ‘Updated Content Preparation Template’ ‘404’: description: ‘Not Found’ patch: operationId: patchContentPreparationTemplate summary: ‘Patch the specified Content Preparation Template for the specified Provisioning Session’ requestBody: description: ‘A Content Preparation Template patch of any type’ required: true content: application/merge-patch+json: schema: type: string application/json-patch+json: schema: type: string responses: ‘200’: description: ‘Patched Content Preparation Templates’ content: ‘*/*’: schema: type: string ‘404’: description: ‘Not Found’ delete: operationId: destroyContentPreparationTemplate summary: ‘Destroy the specified Content Preparation Template of the specified Provisioning Session’ responses: ‘204’: description: ‘Destroyed Content Preparation Template’ ‘404’: description: ‘Not Found’ |
C.3.4 M1_ContentProtocolsDiscovery API
openapi: 3.0.0 info: title: M1_ContentProtocolsDiscovery version: 2.0.0 description: | 5GMS AF M1 Content Protocols Discovery API © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: – name: M1_ContentDiscovery description: ‘5G Media Streaming: Provisioning (M1) APIs: Content Protocols Discovery’ externalDocs: description: ‘TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols’ url: ‘https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/’ servers: – url: ‘{apiRoot}/3gpp-m1/v2’ variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/protocols: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ get: operationId: retrieveContentProtocols summary: ‘Retrieve the set of Content Protocols supported by the specified Provisioning Session’ responses: ‘200’: description: ‘Success’ content: application/json: schema: $ref: ‘#/components/schemas/ContentProtocols’ components: schemas: ContentProtocolDescriptor: type: object description: "A descriptor describing a content protocol." required: – termIdentifier properties: termIdentifier: $ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’ descriptionLocator: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ ContentProtocols: type: object description: "A representation of the Content Protocols resource." properties: downlinkIngestProtocols: type: array items: $ref: ‘#/components/schemas/ContentProtocolDescriptor’ minItems: 1 uplinkEgestProtocols: type: array items: $ref: ‘#/components/schemas/ContentProtocolDescriptor’ minItems: 1 geoFencingLocatorTypes: type: array items: $ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’ minItems: 1 |
C.3.5 M1_ContentHostingProvisioning API
openapi: 3.0.0 info: title: M1_ContentHostingProvisioning version: 2.1.0 description: | 5GMS AF M1 Content Hosting Provisioning API © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: – name: M1_ContentHostingProvisioning description: ‘5G Media Streaming: Provisioning (M1) APIs: Content Hosting Provisioning’ externalDocs: description: ‘TS 26.512 V17.3.0; 5G Media Streaming (5GMS); Protocols’ url: ‘https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/’ servers: – url: ‘{apiRoot}/3gpp-m1/v2’ variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/content-hosting-configuration: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ post: operationId: createContentHostingConfiguration summary: ‘Create (and optionally upload) the Content Hosting Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Content Hosting Configuration’ required: true content: application/json: schema: $ref: ‘#/components/schemas/ContentHostingConfiguration’ responses: ‘201’: description: ‘Content Hosting Configuration Created’ headers: Location: description: ‘URL of the newly created Content Hosting Configuration (same as request URL).’ required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ get: operationId: retrieveContentHostingConfiguration summary: ‘Retrieve the Content Hosting Configuration of the specified Provisioning Session’ responses: ‘200’: description: ‘Success’ content: application/json: schema: $ref: ‘#/components/schemas/ContentHostingConfiguration’ ‘404’: description: ‘Not Found’ put: operationId: updateContentHostingConfiguration summary: ‘Update the Content Hosting Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Content Hosting Configuration’ required: true content: application/json: schema: $ref: ‘#/components/schemas/ContentHostingConfiguration’ responses: ‘204’: description: ‘Updated Content Hosting Configuration’ ‘404’: description: ‘Not Found’ patch: operationId: patchContentHostingConfiguration summary: ‘Patch the Content Hosting Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Content Hosting Configuration’ required: true content: application/merge-patch+json: schema: $ref: ‘#/components/schemas/ContentHostingConfiguration’ application/json-patch+json: schema: $ref: ‘#/components/schemas/ContentHostingConfiguration’ responses: ‘200’: description: ‘Patched Content Hosting Configuration’ content: application/json: schema: $ref: ‘#/components/schemas/ContentHostingConfiguration’ ‘404’: description: ‘Not Found’ delete: operationId: destroyContentHostingConfiguration summary: ‘Destroy the current Content Hosting Configuration of the specified Provisioning Session’ responses: ‘204’: description: ‘Destroyed Content Hosting Configuration’ ‘404’: description: ‘Not Found’
/provisioning-sessions/{provisioningSessionId}/content-hosting-configuration/purge: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: A unique identifier of the Provisioning post: operationId: purgeContentHostingCache summary: ‘Purge the content of the cache for the Content Hosting Configuration of the specified Provisioning Session’ requestBody: description: ‘The regular expression pattern for resources to purge from the cache’ required: true content: application/x-www-form-urlencoded: schema: properties: pattern: description: ‘Keyword’ type: string value: description: ‘The regular expression’ type: string responses: ‘200’: description: ‘Content Purged’ components: schemas: IngestConfiguration: type: object description: ‘A configuration for content ingest.’ properties: pull: type: boolean protocol: $ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’ baseURL: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ PathRewriteRule: type: object description: ‘A rule to manipulate URL paths.’ required: – requestPathPattern – mappedPath properties: requestPathPattern: type: string mappedPath: type: string CachingConfiguration: type: object description: ‘A content caching configuration.’ required: – urlPatternFilter properties: urlPatternFilter: type: string cachingDirectives: type: object required: – noCache properties: statusCodeFilters: type: array items: type: integer noCache: type: boolean maxAge: type: integer format: int32 DistributionConfiguration: type: object description: ‘A content distribution configuration.’ properties: contentPreparationTemplateId: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ canonicalDomainName: type: string domainNameAlias: type: string baseURL: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ pathRewriteRules: type: array items: $ref: ‘#/components/schemas/PathRewriteRule’ cachingConfigurations: type: array items: $ref: ‘#/components/schemas/CachingConfiguration’ geoFencing: type: object required: – locatorType – locators properties: locatorType: $ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’ locators: type: array items: type: string description: ‘Format of individual locators depends on the locatorType.’ minItems: 1 urlSignature: type: object required: – urlPattern – tokenName – passphraseName – passphrase – tokenExpiryName – useIPAddress properties: urlPattern: type: string tokenName: type: string passphraseName: type: string passphrase: type: string tokenExpiryName: type: string useIPAddress: type: boolean ipAddressName: type: string certificateId: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ supplementaryDistributionNetworks: type: array items: type: object description: "A duple tying a type of supplementary distribution network to its distribution mode." required: – distributionNetworkType – distributionMode properties: distributionNetworkType: $ref: ‘#/components/schemas/DistributionNetworkType’ distributionMode: $ref: ‘#/components/schemas/DistributionMode’ # Schema for the resource itself ContentHostingConfiguration: type: object description: "A representation of a Content Hosting Configuration resource." required: – name – ingestConfiguration – distributionConfigurations properties: name: type: string entryPointPath: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ ingestConfiguration: $ref: ‘#/components/schemas/IngestConfiguration’ distributionConfigurations: type: array items: $ref: ‘#/components/schemas/DistributionConfiguration’ DistributionNetworkType: description: "Type of distribution network." anyOf: – type: string enum: [NETWORK_EMBMS] – 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. DistributionMode: description: "Mode of content distribution." anyOf: – type: string enum: [MODE_EXCLUSIVE, MODE_HYBRID, MODE_DYNAMIC] – 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. |
C.3.6 M1_ConsumptionReportingProvisioning API
openapi: 3.0.0 info: title: M1_ConsumptionReportingProvisioning version: 2.0.0 description: | 5GMS AF M1 Consumption Reporting Provisioning API © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: – name: M1_ConsumptionReportingProvisioning description: ‘5G Media Streaming: Provisioning (M1) APIs: Consumption Reporting Provisioning’ externalDocs: description: ‘TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols’ url: ‘https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/’ servers: – url: ‘{apiRoot}/3gpp-m1/v2’ variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/consumption-reporting-configuration: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ post: operationId: activateConsumptionReporting summary: ‘Activate the consumption reporting procedure for the specified Provisioning Session by providing the Consumption Reporting Configuration’ requestBody: description: ‘A JSON representation of a Consumption Reporting Configuration’ required: true content: application/json: schema: $ref: ‘#/components/schemas/ConsumptionReportingConfiguration’ responses: ‘201’: description: ‘Consumption Reporting Configuration Created’ headers: Location: description: ‘URL of the newly created Consumption Reporting Configuration (same as request URL).’ required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ get: operationId: retrieveConsumptionReportingConfiguration summary: ‘Retrieve the Consumption Reporting Configuration of the specified Provisioning Session’ responses: ‘200’: description: ‘Success’ content: application/json: schema: $ref: ‘#/components/schemas/ConsumptionReportingConfiguration’ put: operationId: updateConsumptionReportingConfiguration summary: ‘Update the Consumption Reporting Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Consumption Reporting Configuration’ required: true content: application/json: schema: $ref: ‘#/components/schemas/ConsumptionReportingConfiguration’ responses: ‘204’: description: ‘Updated Consumption Reporting Configuration’ ‘404’: description: ‘Not Found’ patch: operationId: patchConsumptionReportingConfiguration summary: ‘Patch the Consumption Reporting Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Consumption Reporting Configuration’ required: true content: application/merge-patch+json: schema: $ref: ‘#/components/schemas/ConsumptionReportingConfiguration’ application/json-patch+json: schema: $ref: ‘#/components/schemas/ConsumptionReportingConfiguration’ responses: ‘200’: description: ‘Patched Consumption Reporting Configuration’ content: application/json: schema: $ref: ‘#/components/schemas/ConsumptionReportingConfiguration’ ‘404’: description: ‘Not Found’ delete: operationId: destroyConsumptionReportingConfiguration summary: ‘Destroy the current Consumption Reporting Configuration of the specified Provisioning Session’ responses: ‘204’: description: ‘Destroyed Consumption Reporting Configuration’ ‘404’: description: ‘Not Found’ components: schemas: ConsumptionReportingConfiguration: type: object description: "A representation of a Consumption Reporting Configuration resource." properties: reportingInterval: $ref: ‘TS29571_CommonData.yaml#/components/schemas/DurationSec’ samplePercentage: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Percentage’ locationReporting: type: boolean accessReporting: type: boolean |
C.3.7 M1_MetricsReportingProvisioning API
openapi: 3.0.0 info: title: M1_MetricsReportingProvisioning version: 2.0.0 description: | 5GMS AF M1 Metrics Reporting Provisioning API © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: – name: M1_MetricsReportingProvisioning description: ‘5G Media Streaming: Provisioning (M1) APIs: Metrics Reporting Provisioning’ externalDocs: description: ‘TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols’ url: ‘https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/’ servers: – url: ‘{apiRoot}/3gpp-m1/v2’ variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/metrics-reporting-configurations: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ post: operationId: activateMetricsReporting summary: ‘Activate the Metrics reporting procedure for the specified Provisioning Session by providing the Metrics Reporting Configuration’ requestBody: description: ‘A JSON representation of a Metrics Reporting Configuration’ required: true content: application/json: schema: $ref: ‘#/components/schemas/MetricsReportingConfiguration’ responses: ‘201’: description: ‘Metrics Reporting Configuration Created’ headers: Location: description: ‘URL of the newly created Metrics Reporting Configuration (same as request URL).’ required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ /provisioning-sessions/{provisioningSessionId}/metrics-reporting-configurations/{metricsReportingConfigurationId}: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ – name: metricsReportingConfigurationId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of a Metrics Reporting Configuration.’ get: operationId: retrieveMetricsReportingConfiguration summary: ‘Retrieve the specified Metrics Reporting Configuration of the specified Provisioning Session’ responses: ‘200’: description: ‘Success’ content: application/json: schema: $ref: ‘#/components/schemas/MetricsReportingConfiguration’ put: operationId: updateMetricsReportingConfiguration summary: ‘Update the specified Metrics Reporting Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Metrics Reporting Configuration’ required: true content: application/json: schema: $ref: ‘#/components/schemas/MetricsReportingConfiguration’ responses: ‘204’: description: ‘Updated Metrics Reporting Configuration’ ‘404’: description: ‘Not Found’ patch: operationId: patchMetricsReportingConfiguration summary: ‘Patch the specified Metrics Reporting Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Metrics Reporting Configuration’ required: true content: application/merge-patch+json: schema: $ref: ‘#/components/schemas/MetricsReportingConfiguration’ application/json-patch+json: schema: $ref: ‘#/components/schemas/MetricsReportingConfiguration’ responses: ‘200’: description: ‘Patched Metrics Reporting Configuration’ content: application/json: schema: $ref: ‘#/components/schemas/MetricsReportingConfiguration’ ‘404’: description: ‘Not Found’ delete: operationId: destroyMetricsReportingConfiguration summary: ‘Destroy the specified Metrics Reporting Configuration of the specified Provisioning Session’ responses: ‘204’: description: ‘Destroyed Metrics Reporting Configuration’ ‘404’: description: ‘Not Found’ components: schemas: MetricsReportingConfiguration: type: object description: "A representation of a Metrics Reporting Configuration resource." required: – metricsReportingConfigurationId – scheme properties: metricsReportingConfigurationId: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ scheme: $ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’ dataNetworkName: $ref: ‘TS29571_CommonData.yaml#/components/schemas/Dnn’ reportingInterval: $ref: ‘TS29571_CommonData.yaml#/components/schemas/DurationSec’ samplePercentage: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Percentage’ urlFilters: type: array items: type: string minItems: 1 metrics: type: array items: type: string minItems: 1 |
C.3.8 M1_PolicyTemplatesProvisioning API
openapi: 3.0.0 info: title: M1_PolicyTemplatesProvisioning version: 2.0.0 description: | 5GMS AF M1 Policy Templates Provisioning API © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: – name: M1_PolicyTemplatesProvisioning description: ‘5G Media Streaming: Provisioning (M1) APIs: Policy Templates Provisioning’ externalDocs: description: ‘TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols’ url: ‘https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/’ servers: – url: ‘{apiRoot}/3gpp-m1/v2’ variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/policy-templates: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ post: operationId: createPolicyTemplate summary: ‘Create (and optionally upload) a new Policy Template’ requestBody: description: ‘A JSON representation of a Policy Template’ required: true content: application/json: schema: $ref: ‘#/components/schemas/PolicyTemplate’ responses: ‘201’: description: ‘Policy Template Created’ headers: Location: description: ‘URL of the newly created Policy Template resource.’ required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’
/provisioning-sessions/{provisioningSessionId}/policy-templates/{policyTemplateId}: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘A unique identifier of the Provisioning Session.’ – name: policyTemplateId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘A resource identifier of a Policy Template.’ get: operationId: retrievePolicyTemplate summary: ‘Retrieve a representation of an existing Policy Template in the specified Provisioning Session’ responses: ‘200’: description: ‘Success’ content: application/json: schema: $ref: ‘#/components/schemas/PolicyTemplate’ ‘404’: description: ‘Not Found’ put: operationId: updatePolicyTemplate summary: ‘Update a Policy Template for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Policy Template’ required: true content: application/json: schema: $ref: ‘#/components/schemas/PolicyTemplate’ responses: ‘204’: description: ‘Updated Policy Template’ ‘404’: description: ‘Not Found’ patch: operationId: patchPolicyTemplate summary: ‘Patch the Policy Template for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Policy Template’ required: true content: application/merge-patch+json: schema: $ref: ‘#/components/schemas/PolicyTemplate’ application/json-patch+json: schema: $ref: ‘#/components/schemas/PolicyTemplate’ responses: ‘200’: description: ‘Patched Content Hosting Configuration’ content: application/json: schema: $ref: ‘#/components/schemas/PolicyTemplate’ ‘404’: description: ‘Not Found’ delete: operationId: destroyPolicyTemplate responses: ‘204’: description: ‘Destroyed Policy Template’ ‘404’: description: ‘Not Found’ components: schemas: PolicyTemplate: type: object description: "A representation of a Policy Template resource." required: – policyTemplateId – state – apiEndPoint – apiType – externalReference – applicationSessionContext properties: policyTemplateId: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ state: anyOf: – type: string enum: [PENDING, INVALID, READY, SUSPENDED] – 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. apiEndPoint: type: string apiType: anyOf: – type: string enum: [N5, N33] – 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. externalReference: type: string qoSSpecification: $ref: ‘TS26512_CommonData.yaml#/components/schemas/M1QoSSpecification’ applicationSessionContext: type: object properties: afAppId: $ref: ‘TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AfAppId’ sliceInfo: $ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’ dnn: $ref: ‘TS29571_CommonData.yaml#/components/schemas/Dnn’ aspId: $ref: ‘TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AspId’ chargingSpecification: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ChargingSpecification’ |
C.3.9 M1_EdgeResourcesProvisioning API
openapi: 3.0.0 info: title: M1_EdgeResourcesProvisioning version: 2.1.0 description: | 5GMS AF M1 Edge Resources Provisioning API © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: – name: M1_EdgeResourcesProvisioning description: ‘5G Media Streaming: Provisioning (M1) APIs: Edge Resources Provisioning’ externalDocs: description: ‘TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols’ url: ‘https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/’ servers: – url: ‘{apiRoot}/3gpp-m1/v2’ variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 7.10. paths: /provisioning-sessions/{provisioningSessionId}/edge-resources-configurations: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ post: operationId: createEdgeResourcesConfiguration summary: ‘Create an Edge Resources Configuration within the scope of the specified Provisioning Session’ requestBody: description: ‘A JSON representation of an Edge Resources Configuration’ required: true content: application/json: schema: $ref: ‘#/components/schemas/EdgeResourcesConfiguration’ responses: ‘201’: description: ‘Edge Resources Configuration Created’ headers: Location: description: ‘URL of the newly created Edge Resources Configuration.’ required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ /provisioning-sessions/{provisioningSessionId}/edge-resources-configurations/{edgeResourcesConfigurationId}: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ – name: edgeResourcesConfigurationId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Edge Resources Configuration.’ get: operationId: retrieveEdgeResourcesConfiguration summary: ‘Retrieve the Edge Resources Configuration of the specified Provisioning Session’ responses: ‘200’: description: ‘Success’ content: application/json: schema: $ref: ‘#/components/schemas/EdgeResourcesConfiguration’ put: operationId: updateEdgeResourcesConfiguration summary: ‘Update an Edge Resources Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of an Edge Resources Configuration’ required: true content: application/json: schema: $ref: ‘#/components/schemas/EdgeResourcesConfiguration’ responses: ‘204’: description: ‘Updated Edge Resources Configuration’ ‘404’: description: ‘Not Found’ patch: operationId: patchEdgeResourcesConfiguration summary: ‘Patch the Edge Resources Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Edge Resources Configuration’ required: true content: application/merge-patch+json: schema: $ref: ‘#/components/schemas/EdgeResourcesConfiguration’ application/json-patch+json: schema: $ref: ‘#/components/schemas/EdgeResourcesConfiguration’ responses: ‘200’: description: ‘Patched Edge Resources Configuration’ content: application/json: schema: $ref: ‘#/components/schemas/EdgeResourcesConfiguration’ ‘404’: description: ‘Not Found’ delete: operationId: destroyEdgeResourcesConfiguration responses: ‘204’: description: ‘Destroyed Edge Resources Configuration’ ‘404’: description: ‘Not Found’ components: schemas: EdgeResourcesConfiguration: type: object description: ‘A representation of an Edge Resources Configuration resource.’ required: – edgeResourcesConfigurationId – edgeManagementMode – easRequirements properties: edgeResourcesConfigurationId: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ edgeManagementMode: $ref: ‘#/components/schemas/EdgeManagementMode’ eligibilityCriteria: $ref: ‘TS26512_CommonData.yaml#/components/schemas/EdgeProcessingEligibilityCriteria’ easRequirements: $ref: ‘#/components/schemas/EASRequirements’ easRelocationRequirements: $ref: ‘#/components/schemas/M1EASRelocationRequirements’ M1EASRelocationRequirements: type: object description: ‘Relocation requirements of an EAS.’ required: – tolerance properties: tolerance: $ref: ‘TS26512_CommonData.yaml#/components/schemas/EASRelocationTolerance’ maxInterruptionDuration: $ref: ‘TS29571_CommonData.yaml#/components/schemas/UintegerRm’ maxResponseTimeDifference: $ref: ‘TS29571_CommonData.yaml#/components/schemas/UintegerRm’ EASRequirements: type: object description: ‘Requirements of an EAS.’ required: – easProviderIds – easType – easFeatures – serviceAvailabilitySchedule – serviceContinuityScenarios properties: easProviderIds: type: array items: type: string easType: type: string easFeatures: type: array items: type: string serviceKpi: $ref: ‘TS29558_Eees_EASRegistration.yaml#/components/schemas/EASServiceKPI’ serviceArea: $ref: ‘TS29558_Eecs_EESRegistration.yaml#/components/schemas/GeographicalServiceArea’ serviceAvailabilitySchedule: type: array items: $ref: ‘TS29122_CpProvisioning.yaml#/components/schemas/ScheduledCommunicationTime’ serviceContinuityScenarios: type: array items: $ref: ‘TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario’ serviceContinuitySupport: type: array items: $ref: ‘TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario’ EdgeManagementMode: description: ‘The management mode of an EAS.’ anyOf: – type: string enum: [EM_AF_DRIVEN, EM_APP_DRIVEN] – 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. |
C.3.10 M1_EventDataProcessingProvisioning API
openapi: 3.0.0 info: title: M1_EventDataProcessingProvisioning version: 2.0.0 description: | 5GMS AF M1 Event Data Processing Provisioning API © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: – name: M1_EventDataProcessingProvisioning description: ‘5G Media Streaming: Provisioning (M1) APIs: Event Data Processing Provisioning’ externalDocs: description: ‘TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols’ url: ‘https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/’ servers: – url: ‘{apiRoot}/3gpp-m1/v2’ variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/event-data-processing-configurations: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ post: operationId: createEventDataProcessingConfiguration summary: ‘Supply an Event Data Processing Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Event Data Processing Configuration’ required: true content: application/json: schema: $ref: ‘#/components/schemas/EventDataProcessingConfiguration’ responses: ‘201’: description: ‘Event Data Processing Configuration Created’ headers: Location: description: ‘URL of the newly created Event Data Processing Configuration (same as request URL).’ required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ /provisioning-sessions/{provisioningSessionId}/event-data-processing-configurations/{eventDataProcessingConfigurationId}: parameters: – name: provisioningSessionId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an existing Provisioning Session.’ – name: eventDataProcessingConfigurationId in: path required: true schema: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ description: ‘The resource identifier of an Event Data Processing Configuration.’ get: operationId: retrieveEventDataProcessingConfiguration summary: ‘Retrieve the specified Event Data Processing Configuration of the specified Provisioning Session’ responses: ‘200’: description: ‘Success’ content: application/json: schema: $ref: ‘#/components/schemas/EventDataProcessingConfiguration’ put: operationId: updateEventDataProcessingConfiguration summary: ‘Update the specified Event Data Processing Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Event Data Processing Configuration’ required: true content: application/json: schema: $ref: ‘#/components/schemas/EventDataProcessingConfiguration’ responses: ‘204’: description: ‘Updated Event Data Processing Configuration’ ‘404’: description: ‘Not Found’ patch: operationId: patchEventDataProcessingConfiguration summary: ‘Patch the specified Event Data Processing Configuration for the specified Provisioning Session’ requestBody: description: ‘A JSON representation of a Event Data Processing Configuration’ required: true content: application/merge-patch+json: schema: $ref: ‘#/components/schemas/EventDataProcessingConfiguration’ application/json-patch+json: schema: $ref: ‘#/components/schemas/EventDataProcessingConfiguration’ responses: ‘200’: description: ‘Patched Event Data Processing Configuration’ content: application/json: schema: $ref: ‘#/components/schemas/EventDataProcessingConfiguration’ ‘404’: description: ‘Not Found’ delete: operationId: destroyEventDataProcessingConfiguration summary: ‘Destroy the specified Event Data Processing Configuration of the specified Provisioning Session’ responses: ‘204’: description: ‘Destroyed Event Data Processing Configuration’ ‘404’: description: ‘Not Found’ components: schemas: EventDataProcessingConfiguration: description: ‘A representation of an Event Data Processing Configuration resource.’ type: object required: – eventDataProcessingConfigurationId – eventId – dataAccessProfiles properties: eventDataProcessingConfigurationId: $ref: ‘TS26512_CommonData.yaml#/components/schemas/ResourceId’ eventId: $ref: ‘TS29517_Naf_EventExposure.yaml#/components/schemas/AfEvent’ authorizationUrl: $ref: ‘TS26512_CommonData.yaml#/components/schemas/Url’ dataAccessProfiles: type: array items: $ref: ‘TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataAccessProfile’ |