openapi: 3.0.0 info: title: 3gpp-service-parameter version: 1.0.0.alpha-1 description: | API for AF service paramter © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.522 V16.3.0; 5G System; Network Exposure Function Northbound APIs. url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' security: - {} - oAuth2ClientCredentials: [] servers: - url: '{apiRoot}/3gpp-service-parameter/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. paths: /{afId}/subscriptions: parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string get: summary: read all of the active subscriptions for the AF tags: - ServiceParameter API SCS/AS level GET Operation responses: '200': description: OK. content: application/json: schema: type: array items: $ref: '#/components/schemas/ServiceParameterData' '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '406': $ref: 'TS29122_CommonData.yaml#/components/responses/406' '429': $ref: 'TS29122_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29122_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29122_CommonData.yaml#/components/responses/503' default: $ref: 'TS29122_CommonData.yaml#/components/responses/default' post: summary: Creates a new subscription resource tags: - ServiceParameter API Subscription level POST Operation requestBody: description: Request to create a new subscription resource required: true content: application/json: schema: $ref: '#/components/schemas/ServiceParameterData' responses: '201': description: Created (Successful creation of subscription) content: application/json: schema: $ref: '#/components/schemas/ServiceParameterData' headers: Location: description: 'Contains the URI of the newly created resource' required: true schema: type: string '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29122_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29122_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29122_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29122_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29122_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29122_CommonData.yaml#/components/responses/503' default: $ref: 'TS29122_CommonData.yaml#/components/responses/default' /{afId}/subscriptions/{subscriptionId}: parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: subscriptionId in: path description: Identifier of the subscription resource required: true schema: type: string get: summary: read an active subscriptions for the SCS/AS and the subscription Id tags: - ServiceParameter API Subscription level GET Operation responses: '200': description: OK (Successful get the active subscription) content: application/json: schema: $ref: '#/components/schemas/ServiceParameterData' '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '406': $ref: 'TS29122_CommonData.yaml#/components/responses/406' '429': $ref: 'TS29122_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29122_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29122_CommonData.yaml#/components/responses/503' default: $ref: 'TS29122_CommonData.yaml#/components/responses/default' put: summary: Updates/replaces an existing subscription resource tags: - TrafficInfluence API subscription level PUT Operation requestBody: description: Parameters to update/replace the existing subscription required: true content: application/json: schema: $ref: '#/components/schemas/ServiceParameterData' responses: '200': description: OK (Successful update of the subscription) content: application/json: schema: $ref: '#/components/schemas/ServiceParameterData' '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29122_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29122_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29122_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29122_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29122_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29122_CommonData.yaml#/components/responses/503' default: $ref: 'TS29122_CommonData.yaml#/components/responses/default' patch: summary: Updates/replaces an existing subscription resource tags: - ServiceParameter API subscription level PATCH Operation requestBody: required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/ServiceParameterDataPatch' responses: '200': description: OK. The subscription was modified successfully. content: application/json: schema: $ref: '#/components/schemas/ServiceParameterData' '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29122_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29122_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29122_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29122_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29122_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29122_CommonData.yaml#/components/responses/503' default: $ref: 'TS29122_CommonData.yaml#/components/responses/default' delete: summary: Deletes an already existing subscription tags: - ServiceParameter API Subscription level DELETE Operation responses: '204': description: No Content (Successful deletion of the existing subscription) '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '429': $ref: 'TS29122_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29122_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29122_CommonData.yaml#/components/responses/503' default: $ref: 'TS29122_CommonData.yaml#/components/responses/default' components: securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: {} schemas: ServiceParameterData: type: object properties: afServiceId: type: string description: Identifies a service on behalf of which the AF is issuing the request. appId: type: string description: Identifies an application. dnn: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' snssai: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' externalGroupId: $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' anyUeInd: type: boolean description: Identifies whether the AF request applies to any UE. This attribute shall set to "true" if applicable for any UE, otherwise, set to "false". gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' ueIpv4: $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv4Addr' ueIpv6: $ref: 'TS29122_CommonData.yaml#/components/schemas/Ipv6Addr' ueMac: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' self: $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' paramOverPc5: $ref: '#/components/schemas/ParameterOverPc5' paramOverUu: $ref: '#/components/schemas/ParameterOverUu' suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' ServiceParameterDataPatch: type: object properties: paramOverPc5: $ref: '#/components/schemas/ParameterOverPc5Rm' ParamOverUu: $ref: '#/components/schemas/ParameterOverUuRm' ParameterOverPc5: type: object properties: expiry: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' plmmRatServed: type: array items: $ref: '#/components/schemas/PlmnRatServed' minItems: 1 authNotServed: type: boolean radioParamsNotServed: type: array items: $ref: '#/components/schemas/RadioParameterNotServed' minItems: 1 serToTx: type: array items: $ref: '#/components/schemas/ServiceToTx' minItems: 1 privacyParams: type: array items: $ref: '#/components/schemas/PrivacyParameter' minItems: 1 configParaEutra: $ref: '#/components/schemas/ConfigurationParametersEutra' configParaNr: $ref: '#/components/schemas/ConfigurationParametersNr' ParameterOverUu: type: object properties: expiry: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' serToPduSess: type: array items: $ref: '#/components/schemas/ServiceToPduSession' minItems: 1 serToAppAddr: type: array items: $ref: '#/components/schemas/ServiceApplicationServerAddress' minItems: 1 PlmnRatServed: type: object properties: plmn: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' rats: type: array items: $ref: '#/components/schemas/V2xRatType' required: - plmn - rats RadioParameterNotServed: type: object properties: radioParams: type: string rat: $ref: '#/components/schemas/V2xRatType' geographicalArea: type: string operManaged: $ref: '#/components/schemas/OperatorManaged' required: - radioParams - geographicalArea - operManaged - rat ServiceToTx: type: object properties: serIds: type: array items: type: string minItems: 1 txProfile: type: string rat: $ref: '#/components/schemas/V2xRatType' required: - serIds - txProfile - rat PrivacyParameter: type: object properties: serIds: type: array items: type: string minItems: 1 geographicalArea: type: string timer: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' required: - serIds - geographicalArea - timer ConfigurationParametersEutra: type: object properties: serToLayer2Ids: type: array items: $ref: '#/components/schemas/ServiceIdToLayer2Id' minItems: 1 ppppToPdbs: type: array items: $ref: '#/components/schemas/PpppToPdb' minItems: 1 serIdToFrequs: type: array items: $ref: '#/components/schemas/ServiceIdToFrequency' minItems: 1 serIdToPpprs: type: array items: $ref: '#/components/schemas/ServiceIdToPppr' minItems: 1 ConfigurationParametersNr: type: object properties: serToBroLayer2Ids: type: array items: $ref: '#/components/schemas/ServiceIdToLayer2Id' minItems: 1 serToGroLayer2Ids: type: array items: $ref: '#/components/schemas/ServiceIdToLayer2Id' minItems: 1 serToDefLayer2Ids: type: array items: $ref: '#/components/schemas/ServiceIdToLayer2Id' minItems: 1 serIdToFrequs: type: array items: $ref: '#/components/schemas/ServiceIdToFrequency' minItems: 1 pc5QosMappings: type: array items: $ref: '#/components/schemas/Pc5QosMapping' minItems: 1 slrbConfigs: type: array items: $ref: '#/components/schemas/SlrbConfigurations' minItems: 1 ServiceIdToLayer2Id: type: object properties: serIds: type: array items: type: string minItems: 1 desLayer2Id: type: string required: - serIds - desLayer2Id PpppToPdb: type: object properties: pppp: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' pdb: $ref: 'TS29571_CommonData.yaml#/components/schemas/PacketDelBudget' required: - pppp - pdb ServiceIdToFrequency: type: object properties: serIds: type: array items: type: string minItems: 1 frequency: type: number geographicalArea: type: string required: - serIds - frequency - geopraphicalArea ServiceIdToPppr: type: object properties: serIds: type: array items: type: string minItems: 1 pppr: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' required: - serIds - pppr Pc5QosMapping: type: object properties: serIds: type: array items: type: string minItems: 1 pc5QoSFlowParam: $ref: 'TS29571_CommonData.yaml#/components/schemas/Pc5QosFlowItem' required: - serIds - pc5QosFlowParam SlrbConfigurations: type: object properties: pc5QosPara: $ref: 'TS29571_CommonData.yaml#/components/schemas/Pc5QoSPara' slrb: type: string required: - pc5QosPara - slrb ServiceToPduSession: type: object properties: serIds: type: array items: type: string minItems: 1 pduSessionType: $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' sscMode: $ref: 'TS29571_CommonData.yaml#/components/schemas/SscMode' sliceInfo: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 dnns: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' minItems: 1 required: - serIds ServiceApplicationServerAddress: type: object properties: serIds: type: array items: type: string minItems: 1 fqdn: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' Ipv4Addrs: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' minItems: 1 Ipv6Addrs: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' minItems: 1 udpPortNumbers: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' minItems: 1 tcpPortNumbers: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' minItems: 1 plmns: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' geopraphicalArea: type: string required: - serIds - plmns - geographicalArea ParameterOverPc5Rm: type: string # Editor's note: Type is FFS. String only used to pass Syntax check. ParameterOverUuRm: type: string # Editor's note: Type is FFS. String only used to pass Syntax check. OperatorManaged: anyOf: - type: string enum: - OPERATOR_MANAGED - NON_OPERATOR_MANAGED - type: string description: > Possible values are - OPERATOR_MANAGED: The radio parameters are "operator managed". - NON_OPERATOR_MANAGED: The radio parameters are "non-operator managed". V2xRatType: anyOf: - type: string enum: - PC5_LTE - PC5_NR - type: string description: > Possible values are - PC5_LTE: Indicates the LTE RAT type over PC5 interface. - PC5_NR: Indicates the NR RAT type over NR interface.