openapi: 3.0.0 info: title: Npcf_PolicyAuthorization Service API version: 1.1.0 description: | PCF Policy Authorization Service. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.514 V16.5.0; 5G System; Policy Authorization Service;Stage 3. url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.514/' # servers: - url: '{apiRoot}/npcf-policyauthorization/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 security: - {} - oAuth2ClientCredentials: - npcf-policyauthorization paths: /app-sessions: post: summary: Creates a new Individual Application Session Context resource operationId: PostAppSessions tags: - Application Sessions (Collection) requestBody: description: Contains the information for the creation the resource required: true content: application/json: schema: $ref: '#/components/schemas/AppSessionContext' responses: '201': description: Successful creation of the resource content: application/json: schema: $ref: '#/components/schemas/AppSessionContext' headers: Location: description: 'Contains the URI of the created individual application session context resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId} or the URI of the created events subscription sub-resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription}' required: true schema: type: string '303': description: See Other. The result of the HTTP POST request would be equivalent to the existing Application Session Context. headers: Location: description: 'Contains the URI of the existing individual Application Session Context resource.' required: true schema: type: string '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ExtendedProblemDetails' headers: Retry-After: description: 'Indicates the time the AF has to wait before making a new request. It can be a non-negative integer (decimal number) indicating the number of seconds the AF has to wait before making a new request or an HTTP-date after which the AF can retry a new request. ' schema: anyOf: - type: integer - type: string '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' callbacks: terminationRequest: '{$request.body#/ascReqData/notifUri}/terminate': post: requestBody: description: Request of the termination of the Individual Application Session Context required: true content: application/json: schema: $ref: '#/components/schemas/TerminationInfo' responses: '204': description: The receipt of the notification is acknowledged. '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' eventNotification: '{$request.body#/ascReqData/evSubsc/notifUri}/notify': post: requestBody: description: Notification of an event occurrence in the PCF. required: true content: application/json: schema: $ref: '#/components/schemas/EventsNotification' responses: '204': description: The receipt of the notification is acknowledged '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' detected5GsBridgeForPduSession: '{$request.body#/ascReqData/evSubsc/notifUri}/new-bridge': post: requestBody: description: Notification of a new 5GS Bridge detected in the PCF. required: true content: application/json: schema: $ref: '#/components/schemas/PduSessionTsnBridge' responses: '204': description: The receipt of the notification is acknowledged '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' /app-sessions/pcscf-restoration: post: summary: "Indicates P-CSCF restoration and does not create an Individual Application Session Context" operationId: PcscfRestoration tags: - PCSCF Restoration Indication requestBody: description: PCSCF Restoration Indication required: true content: application/json: schema: $ref: '#/components/schemas/PcscfRestorationRequestData' responses: '204': description: The deletion is confirmed without returning additional data. '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' # /app-sessions/{appSessionId}: get: summary: "Reads an existing Individual Application Session Context" operationId: GetAppSession tags: - Individual Application Session Context (Document) parameters: - name: appSessionId description: string identifying the resource in: path required: true schema: type: string responses: '200': description: A representation of the resource is returned. content: application/json: schema: $ref: '#/components/schemas/AppSessionContext' '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '406': $ref: 'TS29571_CommonData.yaml#/components/responses/406' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' patch: summary: "Modifies an existing Individual Application Session Context" operationId: ModAppSession tags: - Individual Application Session Context (Document) parameters: - name: appSessionId description: string identifying the resource in: path required: true schema: type: string requestBody: description: modification of the resource. required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/AppSessionContextUpdateData' responses: '200': description: successful modification of the resource and a representation of that resource is returned content: application/json: schema: $ref: '#/components/schemas/AppSessionContext' '204': description: The successful modification '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ExtendedProblemDetails' headers: Retry-After: description: 'Indicates the time the AF has to wait before making a new request. It can be a non-negative integer (decimal number) indicating the number of seconds the AF has to wait before making a new request or an HTTP-date after which the AF can retry a new request. ' schema: anyOf: - type: integer - type: string '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' callbacks: eventNotification: '{$request.body#/evSubsc/notifUri}/notify': post: requestBody: description: Notification of an event occurrence in the PCF. required: true content: application/json: schema: $ref: '#/components/schemas/EventsNotification' responses: '204': description: The receipt of the notification is acknowledged '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' # # /app-sessions/{appSessionId}/delete: post: summary: "Deletes an existing Individual Application Session Context" operationId: DeleteAppSession tags: - Individual Application Session Context (Document) parameters: - name: appSessionId description: string identifying the Individual Application Session Context resource in: path required: true schema: type: string requestBody: description: deletion of the Individual Application Session Context resource, req notification required: false content: application/json: schema: $ref: '#/components/schemas/EventsSubscReqData' responses: '200': description: The deletion of the resource is confirmed and a resource is returned content: application/json: schema: $ref: '#/components/schemas/AppSessionContext' '204': description: The deletion is confirmed without returning additional data. '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' # /app-sessions/{appSessionId}/events-subscription: put: summary: "creates or modifies an Events Subscription subresource" operationId: updateEventsSubsc tags: - Events Subscription (Document) parameters: - name: appSessionId description: string identifying the Events Subscription resource in: path required: true schema: type: string requestBody: description: Creation or modification of an Events Subscription resource. required: true content: application/json: schema: $ref: '#/components/schemas/EventsSubscReqData' responses: '201': description: The creation of the Events Subscription resource is confirmed and its representation is returned. content: application/json: schema: $ref: '#/components/schemas/EventsSubscPutData' headers: Location: description: 'Contains the URI of the created Events Subscription resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription}' required: true schema: type: string '200': description: The modification of the Events Subscription resource is confirmed its representation is returned. content: application/json: schema: $ref: '#/components/schemas/EventsSubscPutData' '204': description: The modification of the Events Subscription subresource is confirmed without returning additional data. '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' callbacks: eventNotification: '{$request.body#/notifUri}/notify': post: requestBody: description: Contains the information for the notification of an event occurrence in the PCF. required: true content: application/json: schema: $ref: '#/components/schemas/EventsNotification' responses: '204': description: The receipt of the notification is acknowledged. '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' delete: summary: deletes the Events Subscription subresource operationId: DeleteEventsSubsc tags: - Events Subscription (Document) parameters: - name: appSessionId description: string identifying the Individual Application Session Context resource in: path required: true schema: type: string responses: '204': description: The deletion of the of the Events Subscription sub-resource is confirmed without returning additional data. '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' components: securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{nrfApiRoot}/oauth2/token' scopes: npcf-policyauthorization: Access to the Npcf_PolicyAuthorization API schemas: AppSessionContext: description: Represents an Individual Application Session Context resource. type: object properties: ascReqData: $ref: '#/components/schemas/AppSessionContextReqData' ascRespData: $ref: '#/components/schemas/AppSessionContextRespData' evsNotif: $ref: '#/components/schemas/EventsNotification' AppSessionContextReqData: description: Identifies the service requirements of an Individual Application Session Context. type: object required: - notifUri - suppFeat oneOf: - required: [ueIpv4] - required: [ueIpv6] - required: [ueMac] properties: afAppId: $ref: '#/components/schemas/AfAppId' afChargId: $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationChargingId' afReqData: $ref: '#/components/schemas/AfRequestedData' afRoutReq: $ref: '#/components/schemas/AfRoutingRequirement' aspId: $ref: '#/components/schemas/AspId' bdtRefId: $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' dnn: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' evSubsc: $ref: '#/components/schemas/EventsSubscReqData' mcpttId: description: indication of MCPTT service request type: string mcVideoId: description: indication of MCVideo service request type: string medComponents: type: object additionalProperties: $ref: '#/components/schemas/MediaComponent' minProperties: 1 ipDomain: type: string mpsId: description: indication of MPS service request type: string mcsId: description: indication of MCS service request type: string preemptControlInfo: $ref: '#/components/schemas/PreemptionControlInformation' resPrio: $ref: '#/components/schemas/ReservPriority' servInfStatus: $ref: '#/components/schemas/ServiceInfoStatus' notifUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' servUrn: $ref: '#/components/schemas/ServiceUrn' sliceInfo: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' sponId: $ref: '#/components/schemas/SponId' sponStatus: $ref: '#/components/schemas/SponsoringStatus' supi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' ueIpv4: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' ueIpv6: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' ueMac: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' tsnBridgeManCont: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' tsnPortManContDstt: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' tsnPortManContNwtts: type: array items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' minItems: 1 AppSessionContextRespData: description: Describes the authorization data of an Individual Application Session Context created by the PCF. type: object properties: servAuthInfo: $ref: '#/components/schemas/ServAuthInfo' ueIds: type: array items: $ref: '#/components/schemas/UeIdentityInfo' minItems: 1 suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' AppSessionContextUpdateData: description: Identifies the modifications to an Individual Application Session Context and may include the modifications to the sub-resource Events Subscription. type: object properties: afAppId: $ref: '#/components/schemas/AfAppId' afRoutReq: $ref: '#/components/schemas/AfRoutingRequirementRm' aspId: $ref: '#/components/schemas/AspId' bdtRefId: $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' evSubsc: $ref: '#/components/schemas/EventsSubscReqDataRm' mcpttId: description: indication of MCPTT service request type: string mcVideoId: description: indication of modification of MCVideo service type: string medComponents: type: object additionalProperties: $ref: '#/components/schemas/MediaComponentRm' minProperties: 1 mpsId: description: indication of MPS service request type: string mcsId: description: indication of MCS service request type: string preemptControlInfo: $ref: '#/components/schemas/PreemptionControlInformationRm' resPrio: $ref: '#/components/schemas/ReservPriority' servInfStatus: $ref: '#/components/schemas/ServiceInfoStatus' sipForkInd: $ref: '#/components/schemas/SipForkingIndication' sponId: $ref: '#/components/schemas/SponId' sponStatus: $ref: '#/components/schemas/SponsoringStatus' tsnBridgeManCont: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' tsnPortManContDstt: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' tsnPortManContNwtts: type: array items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' minItems: 1 EventsSubscReqData: description: Identifies the events the application subscribes to. type: object required: - events properties: events: type: array items: $ref: '#/components/schemas/AfEventSubscription' minItems: 1 notifUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' reqQosMonParams: type: array items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter' minItems: 1 qosMon: $ref: '#/components/schemas/QosMonitoringInformation' reqAni: $ref: '#/components/schemas/RequiredAccessInfo' usgThres: $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' notifCorreId: type: string EventsSubscReqDataRm: description: this data type is defined in the same way as the EventsSubscReqData data type, but with the OpenAPI nullable property set to true. type: object required: - events properties: events: type: array items: $ref: '#/components/schemas/AfEventSubscription' notifUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' reqQosMonParams: type: array items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RequestedQosMonitoringParameter' minItems: 1 qosMon: $ref: '#/components/schemas/QosMonitoringInformationRm' reqAni: $ref: '#/components/schemas/RequiredAccessInfo' usgThres: $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThresholdRm' notifCorreId: type: string nullable: true MediaComponent: description: Identifies a media component. type: object required: - medCompN properties: afAppId: $ref: '#/components/schemas/AfAppId' afRoutReq: $ref: '#/components/schemas/AfRoutingRequirement' qosReference: type: string altSerReqs: type: array items: type: string minItems: 1 contVer: $ref: '#/components/schemas/ContentVersion' codecs: type: array items: $ref: '#/components/schemas/CodecData' minItems: 1 maxItems: 2 desMaxLatency: $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' desMaxLoss: $ref: 'TS29571_CommonData.yaml#/components/schemas/Float' flusId: type: string fStatus: $ref: '#/components/schemas/FlowStatus' marBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' marBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' maxPacketLossRateDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' maxPacketLossRateUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' maxSuppBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' maxSuppBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' medCompN: type: integer medSubComps: type: object additionalProperties: $ref: '#/components/schemas/MediaSubComponent' minProperties: 1 medType: $ref: '#/components/schemas/MediaType' minDesBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' minDesBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' mirBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' mirBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' preemptCap: $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionCapability' preemptVuln: $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionVulnerability' prioSharingInd: $ref: '#/components/schemas/PrioritySharingIndicator' resPrio: $ref: '#/components/schemas/ReservPriority' rrBw: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' rsBw: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' sharingKeyDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' sharingKeyUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' tsnQos: $ref: '#/components/schemas/TsnQosContainer' tscaiInputDl: $ref: '#/components/schemas/TscaiInputContainer' tscaiInputUl: $ref: '#/components/schemas/TscaiInputContainer' MediaComponentRm: description: This data type is defined in the same way as the MediaComponent data type, but with the OpenAPI nullable property set to true type: object required: - medCompN properties: afAppId: $ref: '#/components/schemas/AfAppId' afRoutReq: $ref: '#/components/schemas/AfRoutingRequirementRm' qosReference: type: string nullable: true altSerReqs: type: array items: type: string minItems: 1 nullable: true contVer: $ref: '#/components/schemas/ContentVersion' codecs: type: array items: $ref: '#/components/schemas/CodecData' minItems: 1 maxItems: 2 desMaxLatency: $ref: 'TS29571_CommonData.yaml#/components/schemas/FloatRm' desMaxLoss: $ref: 'TS29571_CommonData.yaml#/components/schemas/FloatRm' flusId: type: string nullable: true fStatus: $ref: '#/components/schemas/FlowStatus' marBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' marBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' maxPacketLossRateDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' maxPacketLossRateUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketLossRateRm' maxSuppBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' maxSuppBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' medCompN: type: integer medSubComps: type: object additionalProperties: $ref: '#/components/schemas/MediaSubComponentRm' minProperties: 1 medType: $ref: '#/components/schemas/MediaType' minDesBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' minDesBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' mirBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' mirBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' preemptCap: $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionCapabilityRm' preemptVuln: $ref: 'TS29571_CommonData.yaml#/components/schemas/PreemptionVulnerabilityRm' prioSharingInd: $ref: '#/components/schemas/PrioritySharingIndicator' resPrio: $ref: '#/components/schemas/ReservPriority' rrBw: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' rsBw: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' sharingKeyDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32Rm' sharingKeyUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32Rm' tsnQos: $ref: '#/components/schemas/TsnQosContainerRm' tscaiInputDl: $ref: '#/components/schemas/TscaiInputContainer' tscaiInputUl: $ref: '#/components/schemas/TscaiInputContainer' nullable: true MediaSubComponent: description: Identifies a media subcomponent type: object required: - fNum properties: afSigProtocol: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' ethfDescs: type: array items: $ref: '#/components/schemas/EthFlowDescription' minItems: 1 maxItems: 2 fNum: type: integer fDescs: type: array items: $ref: '#/components/schemas/FlowDescription' minItems: 1 maxItems: 2 fStatus: $ref: '#/components/schemas/FlowStatus' marBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' marBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' tosTrCl: $ref: '#/components/schemas/TosTrafficClass' flowUsage: $ref: '#/components/schemas/FlowUsage' MediaSubComponentRm: description: This data type is defined in the same way as the MediaSubComponent data type, but with the OpenAPI nullable property set to true. Removable attributes marBwDl and marBwUl are defined with the corresponding removable data type. type: object required: - fNum properties: afSigProtocol: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AfSigProtocol' ethfDescs: type: array items: $ref: '#/components/schemas/EthFlowDescription' minItems: 1 maxItems: 2 nullable: true fNum: type: integer fDescs: type: array items: $ref: '#/components/schemas/FlowDescription' minItems: 1 maxItems: 2 nullable: true fStatus: $ref: '#/components/schemas/FlowStatus' marBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' marBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' tosTrCl: $ref: '#/components/schemas/TosTrafficClassRm' flowUsage: $ref: '#/components/schemas/FlowUsage' nullable: true EventsNotification: description: describes the notification of a matched event type: object required: - evSubsUri - evNotifs properties: accessType: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' addAccessInfo: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AdditionalAccessInfo' relAccessInfo: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AdditionalAccessInfo' anChargAddr: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/AccNetChargingAddress' anChargIds: type: array items: $ref: '#/components/schemas/AccessNetChargingIdentifier' minItems: 1 anGwAddr: $ref: '#/components/schemas/AnGwAddress' evSubsUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' evNotifs: type: array items: $ref: '#/components/schemas/AfEventNotification' minItems: 1 failedResourcAllocReports: type: array items: $ref: '#/components/schemas/ResourcesAllocationInfo' minItems: 1 noNetLocSupp: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/NetLocAccessSupport' outOfCredReports: type: array items: $ref: '#/components/schemas/OutOfCreditInformation' minItems: 1 plmnId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' qncReports: type: array items: $ref: '#/components/schemas/QosNotificationControlInfo' minItems: 1 qosMonReports: type: array items: $ref: '#/components/schemas/QosMonitoringReport' minItems: 1 ranNasRelCauses: type: array items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/RanNasRelCause' minItems: 1 description: Contains the RAN and/or NAS release cause. ratType: $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' ueLoc: $ref: 'TS29571_CommonData.yaml#/components/schemas/UserLocation' ueTimeZone: $ref: 'TS29571_CommonData.yaml#/components/schemas/TimeZone' usgRep: $ref: 'TS29122_CommonData.yaml#/components/schemas/AccumulatedUsage' tsnBridgeInfo: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/TsnBridgeInfo' tsnBridgeManCont: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' tsnPortManContDstt: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' tsnPortManContNwtts: type: array items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' minItems: 1 AfEventSubscription: description: describes the event information delivered in the subscription type: object required: - event properties: event: $ref: '#/components/schemas/AfEvent' notifMethod: $ref: '#/components/schemas/AfNotifMethod' repPeriod: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' waitTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' AfEventNotification: description: describes the event information delivered in the notification type: object required: - event properties: event: $ref: '#/components/schemas/AfEvent' flows: type: array items: $ref: '#/components/schemas/Flows' minItems: 1 TerminationInfo: description: indicates the cause for requesting the deletion of the Individual Application Session Context resource type: object required: - termCause - resUri properties: termCause: $ref: '#/components/schemas/TerminationCause' resUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' AfRoutingRequirement: description: describes the event information delivered in the subscription type: object properties: appReloc: type: boolean routeToLocs: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' minItems: 1 spVal: $ref: '#/components/schemas/SpatialValidity' tempVals: type: array items: $ref: '#/components/schemas/TemporalValidity' minItems: 1 upPathChgSub: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' addrPreserInd: type: boolean SpatialValidity: description: describes explicitly the route to an Application location type: object required: - presenceInfoList properties: presenceInfoList: type: object additionalProperties: $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' minProperties: 1 SpatialValidityRm: description: this data type is defined in the same way as the SpatialValidity data type, but with the OpenAPI nullable property set to true type: object required: - presenceInfoList properties: presenceInfoList: type: object additionalProperties: $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' minProperties: 1 nullable: true AfRoutingRequirementRm: description: this data type is defined in the same way as the AfRoutingRequirement data type, but with the OpenAPI nullable property set to true and the spVal and tempVals attributes defined as removable. type: object properties: appReloc: type: boolean routeToLocs: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' minItems: 1 nullable: true spVal: $ref: '#/components/schemas/SpatialValidityRm' tempVals: type: array items: $ref: '#/components/schemas/TemporalValidity' minItems: 1 nullable: true upPathChgSub: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' addrPreserInd: type: boolean nullable: true nullable: true AnGwAddress: description: describes the address of the access network gateway control node type: object anyOf: - required: [anGwIpv4Addr] - required: [anGwIpv6Addr] properties: anGwIpv4Addr: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' anGwIpv6Addr: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' Flows: description: Identifies the flows type: object required: - medCompN properties: contVers: type: array items: $ref: '#/components/schemas/ContentVersion' minItems: 1 fNums: type: array items: type: integer minItems: 1 medCompN: type: integer EthFlowDescription: description: Identifies an Ethernet flow type: object required: - ethType properties: destMacAddr: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' ethType: type: string fDesc: $ref: '#/components/schemas/FlowDescription' fDir: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowDirection' sourceMacAddr: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' vlanTags: type: array items: type: string minItems: 1 maxItems: 2 srcMacAddrEnd: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' destMacAddrEnd: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' ResourcesAllocationInfo: description: describes the status of the PCC rule(s) related to certain media components. type: object required: - mcResourcStatus properties: mcResourcStatus: $ref: '#/components/schemas/MediaComponentResourcesStatus' flows: type: array items: $ref: '#/components/schemas/Flows' minItems: 1 TemporalValidity: description: Indicates the time interval(s) during which the AF request is to be applied type: object properties: startTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' stopTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' # QosNotificationControlInfo: description: Indicates whether the QoS targets for a GRB flow are not guaranteed or guaranteed again type: object required: - notifType properties: notifType: $ref: '#/components/schemas/QosNotifType' flows: type: array items: $ref: '#/components/schemas/Flows' minItems: 1 altSerReq: type: string # AcceptableServiceInfo: description: Indicates the maximum bandwidth that shall be authorized by the PCF. type: object properties: accBwMedComps: type: object additionalProperties: $ref: '#/components/schemas/MediaComponent' minProperties: 1 marBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' marBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' UeIdentityInfo: description: Represents 5GS-Level UE identities. type: object anyOf: - required: [gpsi] - required: [pei] - required: [supi] properties: gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' pei: $ref: 'TS29571_CommonData.yaml#/components/schemas/Pei' supi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' # AccessNetChargingIdentifier: description: Describes the access network charging identifier. type: object required: - accNetChaIdValue properties: accNetChaIdValue: $ref: 'TS29571_CommonData.yaml#/components/schemas/ChargingId' flows: type: array items: $ref: '#/components/schemas/Flows' minItems: 1 # OutOfCreditInformation: description: Indicates the SDFs without available credit and the corresponding termination action. type: object required: - finUnitAct properties: finUnitAct: $ref: 'TS32291_Nchf_ConvergedCharging.yaml#/components/schemas/FinalUnitAction' flows: type: array items: $ref: '#/components/schemas/Flows' minItems: 1 # QosMonitoringInformation: description: Indicates the QoS Monitoring information to report, i.e. UL and/or DL and or round trip delay. type: object properties: repThreshDl: type: integer repThreshUl: type: integer repThreshRp: type: integer # # PduSessionTsnBridge: description: Contains the new 5GS Bridge information and may contain the DS-TT port and/or NW-TT port management information. type: object required: - tsnBridgeInfo properties: tsnBridgeInfo: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/TsnBridgeInfo' tsnBridgeManCont: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/BridgeManagementContainer' tsnPortManContDstt: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' tsnPortManContNwtts: type: array items: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/PortManagementContainer' minItems: 1 # QosMonitoringInformationRm: description: this data type is defined in the same way as the QosMonitoringInformation data type, but with the OpenAPI nullable property set to true. type: object properties: repThreshDl: type: integer repThreshUl: type: integer repThreshRp: type: integer nullable: true # PcscfRestorationRequestData: description: Indicates P-CSCF restoration. type: object oneOf: - required: [ueIpv4] - required: [ueIpv6] properties: dnn: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' ipDomain: type: string sliceInfo: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' supi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' ueIpv4: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' ueIpv6: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' # # QosMonitoringReport: description: QoS Monitoring reporting information type: object properties: flows: type: array items: $ref: '#/components/schemas/Flows' minItems: 1 ulDelays: type: array items: type: integer minItems: 1 dlDelays: type: array items: type: integer minItems: 1 rtDelays: type: array items: type: integer minItems: 1 # TsnQosContainer: description: Indicates TSC Traffic QoS. type: object properties: maxTscBurstSize: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVol' tscPackDelay: $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' tscPrioLevel: $ref: '#/components/schemas/TscPriorityLevel' # # TsnQosContainerRm: description: Indicates removable TSC Traffic QoS. type: object properties: maxTscBurstSize: $ref: 'TS29571_CommonData.yaml#/components/schemas/ExtMaxDataBurstVolRm' tscPackDelay: $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudgetRm' tscPrioLevel: $ref: '#/components/schemas/TscPriorityLevelRm' nullable: true # TscaiInputContainer: description: Indicates TSC Traffic pattern. type: object properties: periodicity: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' burstArrivalTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' nullable: true # # EventsSubscPutData: description: Identifies the events the application subscribes to within an Events Subscription sub-resource data. It may contain the notification of the already met events anyOf: - $ref: '#/components/schemas/EventsSubscReqData' - $ref: '#/components/schemas/EventsNotification' # # EXTENDED PROBLEMDETAILS # ExtendedProblemDetails: description: Extends ProblemDetails to also include the acceptable service info. allOf: - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' - type: object properties: acceptableServInfo: $ref: '#/components/schemas/AcceptableServiceInfo' # # SIMPLE DATA TYPES # AfAppId: description: Contains an AF application identifier. type: string AspId: description: Contains an identity of an application service provider. type: string CodecData: description: Contains codec related information. type: string ContentVersion: description: Represents the content version of some content. type: integer FlowDescription: description: Defines a packet filter of an IP flow. type: string SponId: description: Contains an identity of a sponsor. type: string ServiceUrn: description: Contains values of the service URN and may include subservices. type: string TosTrafficClass: description: 2-octet string, where each octet is encoded in hexadecimal representation. The first octet contains the IPv4 Type-of-Service or the IPv6 Traffic-Class field and the second octet contains the ToS/Traffic Class mask field. type: string TosTrafficClassRm: description: this data type is defined in the same way as the TosTrafficClass data type, but with the OpenAPI nullable property set to true type: string nullable: true TscPriorityLevel: type: integer minimum: 1 maximum: 8 TscPriorityLevelRm: type: integer minimum: 1 maximum: 8 nullable: true # # ENUMERATIONS DATA TYPES # MediaType: anyOf: - type: string enum: - AUDIO - VIDEO - DATA - APPLICATION - CONTROL - TEXT - MESSAGE - OTHER - type: string # ReservPriority: anyOf: - type: string enum: - PRIO_1 - PRIO_2 - PRIO_3 - PRIO_4 - PRIO_5 - PRIO_6 - PRIO_7 - PRIO_8 - PRIO_9 - PRIO_10 - PRIO_11 - PRIO_12 - PRIO_13 - PRIO_14 - PRIO_15 - PRIO_16 - type: string # ServAuthInfo: anyOf: - type: string enum: - TP_NOT_KNOWN - TP_EXPIRED - TP_NOT_YET_OCURRED - type: string # SponsoringStatus: anyOf: - type: string enum: - SPONSOR_DISABLED - SPONSOR_ENABLED - type: string # AfEvent: anyOf: - type: string enum: - ACCESS_TYPE_CHANGE - ANI_REPORT - CHARGING_CORRELATION - EPS_FALLBACK - FAILED_RESOURCES_ALLOCATION - OUT_OF_CREDIT - PLMN_CHG - QOS_MONITORING - QOS_NOTIF - RAN_NAS_CAUSE - REALLOCATION_OF_CREDIT - SUCCESSFUL_RESOURCES_ALLOCATION - TSN_BRIDGE_INFO - USAGE_REPORT - type: string # AfNotifMethod: anyOf: - type: string enum: - EVENT_DETECTION - ONE_TIME - PERIODIC - PDU_SESSION_RELEASE - type: string # QosNotifType: anyOf: - type: string enum: - GUARANTEED - NOT_GUARANTEED - type: string # TerminationCause: anyOf: - type: string enum: - ALL_SDF_DEACTIVATION - PDU_SESSION_TERMINATION - PS_TO_CS_HO - type: string # MediaComponentResourcesStatus: anyOf: - type: string enum: - ACTIVE - INACTIVE - type: string # # FlowUsage: anyOf: - type: string enum: - NO_INFO - RTCP - AF_SIGNALLING - type: string FlowStatus: anyOf: - type: string enum: - ENABLED-UPLINK - ENABLED-DOWNLINK - ENABLED - DISABLED - REMOVED - type: string # RequiredAccessInfo: anyOf: - type: string enum: - USER_LOCATION - UE_TIME_ZONE - type: string # SipForkingIndication: anyOf: - type: string enum: - SINGLE_DIALOGUE - SEVERAL_DIALOGUES - type: string # AfRequestedData: anyOf: - type: string enum: - UE_IDENTITY - type: string # ServiceInfoStatus: anyOf: - type: string enum: - FINAL - PRELIMINARY - type: string # PreemptionControlInformation: anyOf: - type: string enum: - MOST_RECENT - LEAST_RECENT - HIGHEST_BW - type: string # PrioritySharingIndicator: anyOf: - type: string enum: - ENABLED - DISABLED - type: string # PreemptionControlInformationRm: anyOf: - $ref: '#/components/schemas/PreemptionControlInformation' - $ref: 'TS29571_CommonData.yaml#/components/schemas/NullValue'