Skip to content
Commits on Source (2)
openapi: 3.0.1
info:
title: 3GPP Edge NRM
version: 18.8.0
description: >-
OAS 3.0.1 specification of the Edge NRM
© 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 28.538; Edge NRM
url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.538/
paths: {}
components:
schemas:
#-------- Definition of types-----------------------------------------------------
ServingLocation:
type: object
properties:
geographicalLocation:
$ref: '#/components/schemas/GeoLoc'
topologicalLocation:
$ref: '#/components/schemas/TopologicalServiceArea'
TopologicalServiceArea:
type: object
properties:
cellIdList:
type: array
items:
type: integer
trackingAreaIdList:
$ref: 'TS28541_NrNrm.yaml#/components/schemas/TaiList'
servingPLMN:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/PlmnId'
GeoLoc:
type: object
properties:
geographicalCoordinates:
$ref: '#/components/schemas/GeographicalCoordinates'
civicLocation:
type: string
GeographicalCoordinates:
type: object
properties:
latitude:
type: integer
longitude:
type: integer
EDNConnectionInfo:
type: object
properties:
dNN:
type: string
eDNServiceArea:
$ref: '#/components/schemas/ServingLocation'
AffinityAntiAffinity:
type: object
properties:
affinityEAS:
type: array
items:
type: string
antiAffinityEAS:
type: array
items:
type: string
VirtualResource:
type: object
properties:
virtualMemory:
type: integer
virtualDisk:
type: integer
virtualCPU:
type: string
vnfdId:
type: string
SoftwareImageInfo:
type: object
properties:
minimumDisk:
type: integer
minimumRAM:
type: integer
discFormat:
type: string
operatingSystem:
type: string
swImageRef:
type: string
RegistrationInfo:
type: object
properties:
registrationExpiry:
type: string
readOnly: true
registrationID:
type: string
readOnly: true
secCredential:
type: string
Duration:
type: object
properties:
startTime:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
endTime:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
EASServicePermission:
type: string
description: any of enumerated value
enum:
- TRIAL
- SILVER
- GOLD
EASFeature:
type: string
EASStatus:
type: string
description: any of enumerated value
enum:
- ENABLED
- DISABLED
ResourceReservationRequirement:
type: object
properties:
computeRequirement:
type: string
storageRequirement:
type: string
networkingRequirement:
type: integer
ResourceReservationStatus:
type: object
properties:
resourceId:
type: string
reservationStatus:
type: string
description: any of enumrated value
enum:
- RESERVED
- USEd
RelocationTriggerInfo:
type: object
properties:
triggerType:
type: string
description: any of enumrated value
enum:
- IMMEDIATE
- FUTURE
futuristicTriggerTime:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
AvailableEDNList:
type: object
properties:
resourceQuota:
$ref: '#/components/schemas/VirtualResource'
FederatedECSInfo:
type: object
properties:
federateECSIdentifier:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
federatedECSProfile:
type: integer
servedEASList:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
servedEESList:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
#-------- Definition of types for name-containments ------
SubNetwork-ncO-EdgeNrm:
type: object
properties:
ECSFunction:
$ref: '#/components/schemas/ECSFunction-Multiple'
EdgeDataNetwork:
$ref: '#/components/schemas/EdgeDataNetwork-Multiple'
#-------- Definition of concrete IOCs --------------------------------------------
EdgeDataNetwork-Single:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
- type: object
properties:
ednIdentifier:
type: string
eDNConnectionInfo:
$ref: '#/components/schemas/EDNConnectionInfo'
- type: object
properties:
EASFunction:
$ref: '#/components/schemas/EASFunction-Multiple'
EESFunction:
$ref: '#/components/schemas/EESFunction-Multiple'
availableEdgeVirtualResources:
type: string
EASFunction-Single:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
- type: object
properties:
attributes:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr'
- type: object
properties:
eASIdentifier:
type: string
eESAddress:
type: array
items:
type: string
registrationInfo:
$ref: '#/components/schemas/RegistrationInfo'
eASRequirementsRef:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
eASAddress:
type: array
items:
type: string
relocationTriggerInfo:
$ref: '#/components/schemas/RelocationTriggerInfo'
relocationRejectByASP:
type: boolean
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO'
EASProfile-Single:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
- type: object
properties:
aCID:
type: string
eASProvider:
type: string
eASdescription:
type: string
eASSchedule:
$ref: '#/components/schemas/Duration'
eASGeographicalServiceArea:
$ref: '#/components/schemas/GeoLoc'
eASTopologicalServiceArea:
$ref: '#/components/schemas/TopologicalServiceArea'
eASServicePermissionLevel:
$ref: '#/components/schemas/EASServicePermission'
eASFeature:
$ref: '#/components/schemas/EASFeature'
eASServiceContinuitySupport:
type: boolean
eASDNAI:
type: string
eASAvailabilityReportingPeriod:
type: integer
eASStatus:
$ref: '#/components/schemas/EASStatus'
EESFunction-Single:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
- type: object
properties:
attributes:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr'
- type: object
properties:
eESIdentifier:
type: string
eESServingLocation:
type: array
items:
$ref: '#/components/schemas/ServingLocation'
eESAddress:
type: array
items:
type: string
softwareImageInfo:
$ref: '#/components/schemas/SoftwareImageInfo'
serviceContinuitySupport:
type: boolean
eASFunctionRef:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
registrationInfo:
$ref: '#/components/schemas/RegistrationInfo'
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO'
ECSFunction-Single:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
- type: object
properties:
attributes:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-Attr'
- type: object
properties:
eCSAddress:
type: string
providerIdentifier:
type: string
edgeDataNetworkRef:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
eESFuncitonRef:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
softwareImageInfo:
$ref: '#/components/schemas/SoftwareImageInfo'
sharedECSInfo:
$ref: '#/components/schemas/FederatedECSInfo'
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/ManagedFunction-ncO'
EASRequirements-Single:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
- type: object
properties:
requiredEASservingLocation:
$ref: '#/components/schemas/ServingLocation'
affinityAntiAffinity:
$ref: '#/components/schemas/AffinityAntiAffinity'
serviceContinuity:
type: boolean
virtualResource:
$ref: '#/components/schemas/VirtualResource'
softwareImageInfo:
$ref: '#/components/schemas/SoftwareImageInfo'
eASSchedule:
$ref: '#/components/schemas/Duration'
eASFeature:
$ref: '#/components/schemas/EASFeature'
relocationPolicy:
type: string
description: any of enumrated value
enum:
- YES
- NO
- YESwNOTIFY
federationID:
type: string
eASDeploymentMonitor:
$ref: 'TS28623_GenericNrm.yaml#/components/schemas/ProcessMonitor'
reservationJobRef:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/Dn'
EASResourceReservationJob-Single:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
- type: object
properties:
reservationLocation:
$ref: '#/components/schemas/ServingLocation'
resourceReservationRequirement:
type: array
items:
$ref: '#/components/schemas/ResourceReservationRequirement'
requestedReservationExpiration:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
resourceReservationStatus:
type: array
items:
$ref: '#/components/schemas/ResourceReservationStatus'
EdgeFederation-Single:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
- type: object
properties:
participatingOPiD:
type: string
leadingOPiD:
type: string
federatedECSInfo:
$ref: '#/components/schemas/FederatedECSInfo'
OperatorEdgeFederation-Single:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
- type: object
properties:
federationID:
type: string
FederationExpiry:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/DateTime'
leadingOPiD:
type: string
avaibleEDNList:
$ref: '#/components/schemas/AvailableEDNList'
acceptedEDN:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
OperatorEdgeDataNetwork-Single:
allOf:
- $ref: 'TS28623_GenericNrm.yaml#/components/schemas/Top'
- type: object
properties:
availableEASResource:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
edgeDataNetworkRef:
$ref: 'TS28623_ComDefs.yaml#/components/schemas/DnList'
#-------- Definition of JSON arrays for name-contained IOCs ----------------------
EASFunction-Multiple:
type: array
items:
$ref: '#/components/schemas/EASFunction-Single'
ECSFunction-Multiple:
type: array
items:
$ref: '#/components/schemas/ECSFunction-Single'
EESFunction-Multiple:
type: array
items:
$ref: '#/components/schemas/EESFunction-Single'
EdgeDataNetwork-Multiple:
type: array
items:
$ref: '#/components/schemas/EdgeDataNetwork-Single'
EASProfile-Multiple:
type: array
items:
$ref: '#/components/schemas/EASProfile-Single'
EdgeFederation-Multiple:
type: array
items:
$ref: '#/components/schemas/EASProfile-Single'
OperatorEdgeFederation-Multiple:
type: array
items:
$ref: '#/components/schemas/OperatorEdgeFederation-Single'
OperatorEdgeDataNetwork-Multiple:
type: array
items:
$ref: '#/components/schemas/OperatorEdgeDataNetwork-Single'
#--------------------------------- Definition ------------------------------------
resources-edgeNrm:
oneOf:
- $ref: '#/components/schemas/EASFunction-Single'
- $ref: '#/components/schemas/ECSFunction-Single'
- $ref: '#/components/schemas/EESFunction-Single'
- $ref: '#/components/schemas/EdgeDataNetwork-Single'
- $ref: '#/components/schemas/EASRequirements-Single'
- $ref: '#/components/schemas/EASProfile-Single'
- $ref: '#/components/schemas/EdgeFederation-Single'
- $ref: '#/components/schemas/OperatorEdgeFederation-Single'
- $ref: '#/components/schemas/OperatorEdgeDataNetwork-Single'
- $ref: '#/components/schemas/EASResourceReservationJob-Single'
This diff is collapsed.
This diff is collapsed.
openapi: 3.0.1
info:
title: Common Type Definitions
version: 18.7.0
description: >-
OAS 3.0.1 specification of common type definitions in the Generic NRM
© 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 28.623; Generic NRM; Common type definitions
url: http://www.3gpp.org/ftp/Specs/archive/28_series/28.623/
paths: {}
components:
schemas:
Float:
type: number
format: float
DateTime:
type: string
format: date-time
FullTime:
type: string
description: format (e.g., full-time) is from RFC 3339
format: full-time
DateMonth:
type: string
format: date-month
DateMonthDay:
type: string
format: date-mday
DayInYear:
type: object
properties:
month:
$ref: '#/components/schemas/DateMonth'
monthDay:
$ref: '#/components/schemas/DateMonthDay'
Latitude:
type: number
format: float
minimum: -90
maximum: 90
Longitude:
type: number
format: float
minimum: -180
maximum: 180
Dn:
type: string
DnList:
type: array
items:
$ref: '#/components/schemas/Dn'
Mcc:
type: string
pattern: '^[0-9]{3}$'
Mnc:
type: string
pattern: '^[0-9]{2,3}$'
Nid:
type: string
pattern: '^[A-Fa-f0-9]{11}$'
PlmnId:
type: object
properties:
mcc:
$ref: '#/components/schemas/Mcc'
mnc:
$ref: '#/components/schemas/Mnc'
Tac:
type: string
pattern: '(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)'
UtraCellId:
type: integer
EutraCellId:
type: string
pattern: '^[A-Fa-f0-9]{7}$'
NrCellId:
type: string
pattern: '^[A-Fa-f0-9]{9}$'
TimeWindow:
oneOf:
- type: object
properties:
startTime:
$ref: '#/components/schemas/DateTime'
endTime:
$ref: '#/components/schemas/DateTime'
- type: object
properties:
startTime:
$ref: '#/components/schemas/DateTime'
- type: object
properties:
endTime:
$ref: '#/components/schemas/DateTime'
GeoCoordinate:
type: object
properties:
latitude:
$ref: '#/components/schemas/Latitude'
longitude:
$ref: '#/components/schemas/Longitude'
altitude:
$ref: '#/components/schemas/Float'
ConvexGeoPolygon:
type: array
items:
$ref: '#/components/schemas/GeoCoordinate'
minItems: 3
GeoArea:
type: object
properties:
convexGeoPolygon:
$ref: '#/components/schemas/ConvexGeoPolygon'
GeoAreaToCellMapping:
type: object
properties:
geoArea:
$ref: '#/components/schemas/GeoArea'
associationThreshold:
type: integer
AreaOfInterest:
oneOf:
- type: array
items:
$ref: '#/components/schemas/GeoAreaToCellMapping'
- type: array
items:
$ref: 'TS28623_GenericNrm.yaml#/components/schemas/Tai'
- type: array
items:
$ref: '#/components/schemas/NrCellId'
- type: array
items:
$ref: '#/components/schemas/EutraCellId'
- type: array
items:
$ref: '#/components/schemas/UtraCellId'
Fqdn:
type: string
Ipv4Addr:
type: string
pattern: '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$'
example: '198.51.100.1'
Ipv6Addr:
type: string
allOf:
- pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))$'
- pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))$'
example: '2001:db8:85a3::8a2e:370:7334'
Ipv6Prefix:
type: string
allOf:
- pattern: '^((:|(0?|([1-9a-f][0-9a-f]{0,3}))):)((0?|([1-9a-f][0-9a-f]{0,3})):){0,6}(:|(0?|([1-9a-f][0-9a-f]{0,3})))(\/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))$'
- pattern: '^((([^:]+:){7}([^:]+))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?))(\/.+)$'
example: '2001:db8:abcd:12::0/64'
IpAddr:
oneOf:
- $ref: '#/components/schemas/Ipv4Addr'
- $ref: '#/components/schemas/Ipv6Addr'
- $ref: '#/components/schemas/Ipv6Prefix'
HostAddr:
# This definition will be deprecated, when all occurances of HostAddr
# are replaced by Host.
oneOf:
- $ref: '#/components/schemas/Ipv4Addr'
- $ref: '#/components/schemas/Ipv6Addr'
- $ref: '#/components/schemas/Fqdn'
Host:
oneOf:
- $ref: '#/components/schemas/IpAddr'
- $ref: '#/components/schemas/Fqdn'
Uri:
type: string
TimeInterval:
type: object
properties:
intervalStart:
$ref: '#/components/schemas/FullTime'
intervalEnd:
$ref: '#/components/schemas/FullTime'
AdministrativeState:
type: string
enum:
- LOCKED
- UNLOCKED
default: LOCKED
OperationalState:
type: string
enum:
- ENABLED
- DISABLED
default: DISABLED
UsageState:
type: string
enum:
- IDLE
- ACTIVE
- BUSY
AvailabilityStatus:
type: string
enum:
- IN_TEST
- FAILED
- POWER_OFF
- OFF_LINE
- OFF_DUTY
- DEPENDENCY
- DEGRADED
- NOT_INSTALLED
- LOG_FULL
AttributeNameValuePairSet:
description: >-
The key of this map is the attribute name, and the value the attribute value.
type: object
minProperties: 1
additionalProperties:
nullable: true
AttributeValueChangeSet:
description: >-
The first array item contains the attribute name value pairs with the new values,
and the second array item the attribute name value pairs with the optional old values.
type: array
items:
$ref: '#/components/schemas/AttributeNameValuePairSet'
minItems: 1
maxItems: 2
Filter:
description: >-
The filter format shall be compliant to Jex (TS 32.161).
type: string
SystemDN:
type: string
NotificationId:
type: integer
NotificationType:
oneOf:
- $ref: 'TS28111_FaultNrm.yaml#/components/schemas/AlarmNotificationTypes'
- $ref: 'TS28532_ProvMnS.yaml#/components/schemas/CmNotificationTypes'
- $ref: 'TS28532_PerfMnS.yaml#/components/schemas/PerfNotificationTypes'
- $ref: 'TS28532_HeartbeatNtf.yaml#/components/schemas/HeartbeatNotificationTypes'
- $ref: 'TS28532_FileDataReportingMnS.yaml#/components/schemas/FileNotificationTypes'
NotificationHeader:
type: object
properties:
href:
$ref: '#/components/schemas/Uri'
notificationId:
$ref: '#/components/schemas/NotificationId'
notificationType:
$ref: '#/components/schemas/NotificationType'
eventTime:
$ref: '#/components/schemas/DateTime'
systemDN:
$ref: '#/components/schemas/SystemDN'
required:
- href
- notificationId
- notificationType
- eventTime
- systemDN
ErrorResponse:
description: >-
Default schema for the response message body in case the request
is not successful.
type: object
properties:
error:
type: object
properties:
errorInfo:
type: string
Subscription:
type: object
properties:
consumerReference:
$ref: '#/components/schemas/Uri'
timeTick:
type: integer
filter:
$ref: '#/components/schemas/Filter'
ErrorResponseGet:
description: >-
Default schema for the response message body in case the Get
is not successful.
type: object
properties:
status:
type: string
type:
type: string
reason:
type: string
title:
type: string
badQueryParams:
type: array
items:
type: string
otherProblems:
type: array
items:
type: object
properties:
status:
type: string
type:
type: string
reason:
type: string
title:
type: string
badQueryParams:
type: array
items:
type: string
required:
- type
required:
- type
ErrorResponseDefault:
type: object
properties:
status:
type: string
type:
type: string
reason:
type: string
title:
type: string
badAttributes:
type: array
items:
type: string
badObjects:
type: array
items:
type: string
otherProblems:
type: array
items:
type: object
properties:
status:
type: string
type:
type: string
reason:
type: string
title:
type: string
badAttributes:
type: array
items:
type: string
badObjects:
type: array
items:
type: string
required:
- type
required:
- type
ErrorResponsePatch:
description: >-
Default schema for the response message body in case the patch
is not successful.
type: object
properties:
status:
type: string
type:
type: string
reason:
type: string
title:
type: string
badOP:
type: string
otherProblems:
type: array
items:
type: object
properties:
status:
type: string
type:
type: string
reason:
type: string
title:
type: string
badOp:
type: string
required:
- type
- badOp
required:
- type
- badOp
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
openapi: 3.0.0
info:
version: 1.3.0
title: Nchf_SpendingLimitControl
description: |
Nchf Spending Limit Control Service.
© 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 29.594 V18.4.0; 5G System; Spending Limit Control Service.
url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.594/'
servers:
- url: '{apiRoot}/nchf-spendinglimitcontrol/v1'
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501
security:
- {}
- oAuth2ClientCredentials:
- nchf-spendinglimitcontrol
paths:
/subscriptions:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingLimitContext'
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingLimitStatus'
headers:
Location:
description: >
Contains the URI of the created individual spending limit resource,
according to the structure
{apiRoot}/nchf-spendinglimitcontrol/v1/subscriptions/{subscriptionId}
required: true
schema:
type: string
'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'
'502':
$ref: 'TS29571_CommonData.yaml#/components/responses/502'
'503':
$ref: 'TS29571_CommonData.yaml#/components/responses/503'
default:
$ref: 'TS29571_CommonData.yaml#/components/responses/default'
callbacks:
statusNotification:
'{$request.body#/notifUri}/notify':
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingLimitStatus'
responses:
'204':
description: No Content, Notification was succesfull
'307':
$ref: 'TS29571_CommonData.yaml#/components/responses/307'
'308':
$ref: 'TS29571_CommonData.yaml#/components/responses/308'
'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'
'502':
$ref: 'TS29571_CommonData.yaml#/components/responses/502'
'503':
$ref: 'TS29571_CommonData.yaml#/components/responses/503'
default:
$ref: 'TS29571_CommonData.yaml#/components/responses/default'
subscriptionTermination:
'{$request.body#/notifUri}/terminate':
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionTerminationInfo'
responses:
'204':
description: No Content, Notification was succesfull
'307':
$ref: 'TS29571_CommonData.yaml#/components/responses/307'
'308':
$ref: 'TS29571_CommonData.yaml#/components/responses/308'
'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'
'502':
$ref: 'TS29571_CommonData.yaml#/components/responses/502'
'503':
$ref: 'TS29571_CommonData.yaml#/components/responses/503'
default:
$ref: 'TS29571_CommonData.yaml#/components/responses/default'
/subscriptions/{subscriptionId}:
parameters:
- in: path
name: subscriptionId
description: Identifies an individual spending limit retrieval subscription.
required: true
schema:
type: string
put:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingLimitContext'
responses:
'200':
description: OK. Resource was succesfully modified and representation is returned
content:
application/json:
schema:
$ref: '#/components/schemas/SpendingLimitStatus'
'307':
$ref: 'TS29571_CommonData.yaml#/components/responses/307'
'308':
$ref: 'TS29571_CommonData.yaml#/components/responses/308'
'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'
'502':
$ref: 'TS29571_CommonData.yaml#/components/responses/502'
'503':
$ref: 'TS29571_CommonData.yaml#/components/responses/503'
default:
$ref: 'TS29571_CommonData.yaml#/components/responses/default'
delete:
responses:
'204':
description: No Content. Resource was succesfully deleted
'307':
$ref: 'TS29571_CommonData.yaml#/components/responses/307'
'308':
$ref: 'TS29571_CommonData.yaml#/components/responses/308'
'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'
'502':
$ref: 'TS29571_CommonData.yaml#/components/responses/502'
'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:
nchf-spendinglimitcontrol: Access to the Nchf_SpendingLimitControl API
schemas:
SpendingLimitContext:
description: >
Represents the subscription data structure required for an individual CHF spending limit
subscription.
type: object
properties:
supi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
gpsi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
policyCounterIds:
type: array
items:
$ref: '#/components/schemas/PolicyCounterId'
minItems: 1
description: >
This is a list of policy counter identifier(s), which identifies policy counters
maintained per subscriber within the CHF.
notifUri:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
expiry:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
supportedFeatures:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
notifId:
type: string
SpendingLimitStatus:
description: >
Represents the data structure presenting the statuses of policy counters.
type: object
properties:
supi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
notifId:
type: string
statusInfos:
type: object
additionalProperties:
$ref: '#/components/schemas/PolicyCounterInfo'
minProperties: 1
description: >
Status of the requested policy counters. The key of the map is the attribute
"policyCounterId".
expiry:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
supportedFeatures:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
PolicyCounterInfo:
description: Represents the data structure presenting the policy counter status.
type: object
properties:
policyCounterId:
$ref: '#/components/schemas/PolicyCounterId'
currentStatus:
type: string
description: >
Identifies the policy counter status applicable for a specific policy counter identified
by the policyCounterId. The values (e.g. valid, invalid or any other status) are not
specified. The interpretation and actions related to the defined values are out of scope
of 3GPP.
penPolCounterStatuses:
type: array
items:
$ref: '#/components/schemas/PendingPolicyCounterStatus'
minItems: 1
description: Provides the pending policy counter status.
required:
- policyCounterId
- currentStatus
PendingPolicyCounterStatus:
description: >
Represents the data structure presenting the pending policy counter status.
type: object
properties:
policyCounterStatus:
type: string
description: >
Identifies the policy counter status applicable for a specific policy counter identified
by the policyCounterId. The values (e.g. valid, invalid or any other status) are not
specified. The interpretation and actions related to the defined values are out of scope
of 3GPP.
activationTime:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
required:
- policyCounterStatus
- activationTime
PolicyCounterId:
type: string
description: Identifies a policy counter.
SubscriptionTerminationInfo:
description: >
Represents the data structure presenting the indication of the termination of the
subscription.
type: object
properties:
supi:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
notifId:
type: string
termCause:
$ref: '#/components/schemas/TerminationCause'
required:
- supi
# Simple data types and Enumerations
TerminationCause:
anyOf:
- type: string
enum:
- REMOVED_SUBSCRIBER
- type: string
description: >
This string provides forward-compatibility with future extensions to the enumeration
and is not used to encode content defined in the present version of this API.
description: |
Represents the cause for requesting the termination of the subscription to policy counter
status changes.
Possible values are:
- REMOVED_SUBSCRIBER: The subscriber identified by the SUPI has been removed from the CHF.
openapi: 3.0.0
info:
title: Nchf_ConvergedCharging
version: 3.2.1
version: 3.2.2
description: |
ConvergedCharging Service © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
ConvergedCharging Service © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: >
3GPP TS 32.291 V18.7.0: Telecommunication management; Charging management;
3GPP TS 32.291 V18.9.0: Telecommunication management; Charging management;
5G system, charging service; Stage 3.
url: 'http://www.3gpp.org/ftp/Specs/archive/32_series/32.291/'
servers:
......@@ -1096,8 +1096,13 @@ components:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Supi'
recipientGPSI:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
recipientOtherAddress:
recipientOtherAddress: # Included for backwards compatibility, shall not be used
$ref: '#/components/schemas/SMAddressInfo'
recipientOtherAddresses:
type: array
items:
$ref: '#/components/schemas/RecipientAddress'
minItems: 0
recipientReceivedAddress:
$ref: '#/components/schemas/SMAddressInfo'
recipientSCCPAddress:
......@@ -2732,13 +2737,13 @@ components:
- type: string
enum:
- EMAIL_ADDRESS
- MSISDN
- MSISDN # Included for backwards compatibility, shall not be used
- IPV4_ADDRESS
- IPV6_ADDRESS
- NUMERIC_SHORTCODE
- ALPHANUMERIC_SHORTCODE
- OTHER
- IMSI
- IMSI # Included for backwards compatibility, shall not be used
- type: string
SMAddresseeType:
anyOf:
......