3GPP TS 29.522 Service Parameter API

API for AF service paramter. An OpenAPI 3.0.0 document with 2 path(s), API version 1.3.1, published verbatim by 3GPP in 3GPP TS 29.522 as part of the 5G NEF Northbound (Network Exposure) suite and mirrored in the public 3GPP Forge GitLab repository.

OpenAPI Specification

3gpp-ts29522-serviceparameter.yml Raw ↑
openapi: 3.0.0

info:
  title: 3gpp-service-parameter
  version: 1.3.1
  description: |
    API for AF service paramter  
    © 2026, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    All rights reserved.

externalDocs:
  description: >
    3GPP TS 29.522 V19.6.0; 5G System; Network Exposure Function Northbound APIs.
  url: 'https://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 clause 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
      operationId: ReadAllSubscriptions
      tags:
        - Service Parameter Subscriptions
      parameters:
        - name: gpsis
          in: query
          description: The GPSI of the requested UE(s).
          required: false
          schema:
            type: array
            items:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
            minItems: 1
        - name: ip-addrs
          in: query
          description: The IP address(es) of the requested UE(s).
          required: false
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr'
                minItems: 1
        - name: ip-domain
          in: query
          description: >
            The IPv4 address domain identifier. The attribute may only be provided
            if IPv4 address is included in the ip-addrs query parameter.
          required: false
          schema:
            type: string
        - name: mac-addrs
          in: query
          description: The MAC address(es) of the requested UE(s).
          required: false
          schema:
            type: array
            items:
              $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
            minItems: 1
      responses:
        '200':
          description: OK. 
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceParameterData'
                minItems: 0
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '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 
      operationId: CreateAnSubscription
      tags:
        - Service Parameter Subscriptions
      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'
      callbacks:
        notificationDestination:
          '{$request.body#/notificationDestination}':
            post:
              requestBody:
                description: >
                  Notifications upon AF Service Parameter Authorization Update,
                  and/or AF subscribed event notification of the outcome related
                  to the invocation of service parameters provisioning.
                required: true
                content:
                  application/json:
                    schema:
                      type: array
                      items:
                        $ref: '#/components/schemas/AfNotification'
                      minItems: 1
              responses:
                '204':
                  description: Expected response to a successful callback processing without a body
                '307':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/307'
                '308':
                  $ref: 'TS29122_CommonData.yaml#/components/responses/308'
                '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
      operationId: ReadAnSubscription
      tags:
        - Individual Service Parameter Subscription
      responses:
        '200':
          description: OK (Successful get the active subscription)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceParameterData'
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '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: Fully updates/replaces an existing subscription resource
      operationId: FullyUpdateAnSubscription
      tags:
        - Individual Service Parameter Subscription
      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'
        '204':
          description: OK (Successful update of the subscription)
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '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: Partial updates/replaces an existing subscription resource
      operationId: PartialUpdateAnSubscription
      tags:
        - Individual Service Parameter Subscription
      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'
        '204':
          description: OK. The subscription was modified successfully.
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '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
      operationId: DeleteAnSubscription
      tags:
        - Individual Service Parameter Subscription
      responses:
        '204':
          description: No Content (Successful deletion of the existing subscription)
        '307':
          $ref: 'TS29122_CommonData.yaml#/components/responses/307'
        '308':
          $ref: 'TS29122_CommonData.yaml#/components/responses/308'
        '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:
      description: Represents an individual Service Parameter subscription resource.
      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 non-roaming UE. This attribute,
            when provided, shall set to "true" if applicable for any UE, otherwise, set to "false".
        roamUeNetDescs:
          type: array
          items:
            $ref: '#/components/schemas/NetworkDescription'
          minItems: 1
          description: Each element identifies one or more PLMN IDs of inbound roamers.
        gpsi:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi'
        ueIpv4:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr'
        ueIpv6:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr'
        ueMac:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48'
        self:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        subNotifEvents:
          type: array
          items:
            $ref: '#/components/schemas/Event'
          minItems: 1
          description: >
            Identifies the AF subscribed event(s) notifications related to AF provisioned
            service parameters.
        notificationDestination:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri'
        requestTestNotification:
          type: boolean
          description: >
            Set to true by the AF to request the NEF to send a test notification
            as defined in clause 5.2.5.3 of 3GPP TS 29.122. Set to false or omitted otherwise.
        websockNotifConfig:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig'
        paramOverPc5:
          $ref: '#/components/schemas/ParameterOverPc5'
        paramOverUu:
          $ref: '#/components/schemas/ParameterOverUu'
        paramForProSeDd:
          $ref: '#/components/schemas/ParamForProSeDd'
        paramForProSeDc:
          $ref: '#/components/schemas/ParamForProSeDc'
        paramForProSeU2NRelUe:
          $ref: '#/components/schemas/ParamForProSeU2NRelUe'
        paramForProSeRemUe:
          $ref: '#/components/schemas/ParamForProSeRemUe'
        paramForProSeU2URelUe:
          $ref: '#/components/schemas/ParamForProSeU2URelUe'
        paramForProSeEndUe:
          $ref: '#/components/schemas/ParamForProSeEndUe'
        multiHopU2NRelUe:
          $ref: '#/components/schemas/ParamProSeMultiHopU2NRelUe'
        multiHopU2NRemUe:
          $ref: '#/components/schemas/ParamProSeMultiHopRemUe'
        multiHopU2NIntermUe:
          $ref: '#/components/schemas/ParamProSeMultiHopIntermUe'
        multiHopU2URelUe:
          $ref: '#/components/schemas/ParamProSeMultiHopU2URelUe'
        multiHopU2UEndUe:
          $ref: '#/components/schemas/ParamProSeMultiHopEndUe'
        paramForRangingSlPos:
          $ref: '#/components/schemas/ParamForRangingSlPos'
        urspGuidance:
          type: array
          items:
            $ref: '#/components/schemas/UrspRuleRequest'
          minItems: 1
          description: Contains the service parameter used to guide the URSP.
        vpsUrspGuidance:
          type: array
          items:
            $ref: '#/components/schemas/UrspRuleRequest'
          minItems: 1
          description: >
            Contains the service parameters used to guide the VPLMN-specific URSP
            rule(s).
        a2xParamsPc5:
          $ref: '#/components/schemas/A2xParamsPc5'
        a2xParamsUu:
          $ref: '#/components/schemas/A2xParamsUu'
        tnaps:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/TnapId'
          minItems: 1
          description: Contains the TNAP IDs collocated with the 5G-RG(s) of a specific user.
        mtcProviderId:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/MtcProviderInformation'
        non3gppDevInfos:
          type: array
          items:
            $ref: '#/components/schemas/Non3gppDeviceInformation'
          minItems: 1
        suppFeat:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'

    ServiceParameterDataPatch:
      description: >
        Represents the parameters to request the modification of a service parameter
        subscription resource.
      type: object
      properties:
        paramOverPc5:
          $ref: '#/components/schemas/ParameterOverPc5Rm'
        paramOverUu:
          $ref: '#/components/schemas/ParameterOverUuRm'
        paramForProSeDd:
          $ref: '#/components/schemas/ParamForProSeDdRm'
        paramForProSeDc:
          $ref: '#/components/schemas/ParamForProSeDcRm'
        paramForProSeU2NRelUe:
          $ref: '#/components/schemas/ParamForProSeU2NRelUeRm'
        paramForProSeRemUe:
          $ref: '#/components/schemas/ParamForProSeRemUeRm'
        paramForProSeU2URelUe:
          $ref: '#/components/schemas/ParamForProSeU2URelUeRm'
        paramForProSeEndUe:
          $ref: '#/components/schemas/ParamForProSeEndUeRm'
        multiHopU2NRelUe:
          $ref: '#/components/schemas/ParamProSeMultiHopU2NRelUeRm'
        multiHopU2NRemUe:
          $ref: '#/components/schemas/ParamProSeMultiHopRemUeRm'
        multiHopU2NIntermUe:
          $ref: '#/components/schemas/ParamProSeMultiHopIntermUeRm'
        multiHopU2URelUe:
          $ref: '#/components/schemas/ParamProSeMultiHopU2URelUeRm'
        multiHopU2UEndUe:
          $ref: '#/components/schemas/ParamProSeMultiHopEndUeRm'
        paramForRangingSlPos:
          $ref: '#/components/schemas/ParamForRangingSlPosRm'
        urspGuidance:
          type: array
          items:
            $ref: '#/components/schemas/UrspRuleRequest'
          minItems: 1
          description: Contains the service parameter used to guide the URSP. 
        vpsUrspGuidance:
          type: array
          items:
            $ref: '#/components/schemas/UrspRuleRequest'
          minItems: 1
          description: >
            Contains the service parameters used to guide the VPLMN-specific
            URSP rule(s).
          nullable: true
        a2xParamsPc5:
          $ref: '#/components/schemas/A2xParamsPc5Rm'
        a2xParamsUu:
          $ref: '#/components/schemas/A2xParamsUuRm'
        tnaps:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/TnapId'
          minItems: 1
          description: Contains the TNAP IDs collocated with the 5G-RG(s) of a specific user.
          nullable: true
        subNotifEvents:
          type: array
          items:
            $ref: '#/components/schemas/Event'
          minItems: 1
          nullable: true
          description: >
            Identifies the AF subscribed event(s) notifications related to AF provisioned
            service parameters.
        notificationDestination:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Uri'
        non3gppDevInfos:
          type: array
          items:
            $ref: '#/components/schemas/Non3gppDeviceInformation'
          minItems: 1
          nullable: true

    ParameterOverPc5:
      description: >
        Represents configuration parameters for V2X communications over PC5 reference point.
      type: string

    ParameterOverPc5Rm:
      description: >
        Represents the same as the ParameterOverPc5 data type but with the nullable:true property.
      type: string
      nullable: true

    ParameterOverUu:
      description: >
        Represents configuration parameters for V2X communications over Uu reference point.
      type: string

    ParameterOverUuRm:
      description: >
        Represents the same as the ParameterOverUu data type but with the nullable:true property.
      type: string
      nullable: true

    ParamForProSeDd:
      description: Represents the service parameters for 5G ProSe direct discovery.
      type: string

    ParamForProSeDdRm:
      description: >
        This data type is defined in the same way as the ParamForProSeDd data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    ParamForProSeDc:
      description: Represents the service parameters for 5G ProSe direct communications.
      type: string

    ParamForProSeDcRm:
      description: >
        This data type is defined in the same way as the ParamForProSeDc data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    ParamForProSeU2NRelUe:
      description: Represents the service parameters for 5G ProSe UE-to-network relay UE.
      type: string

    ParamForProSeU2NRelUeRm:
      description: >
        This data type is defined in the same way as the ParamForProSeU2NRelay data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    ParamForProSeRemUe:
      description: Represents the service parameters for 5G ProSe Remote UE.
      type: string

    ParamForProSeRemUeRm:
      description: >
        This data type is defined in the same way as the ParamForProSeRemUe data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    ParamForProSeU2URelUe:
      description: Represents the service parameters for 5G ProSe UE-to-UE relay UE.
      type: string

    ParamForProSeU2URelUeRm:
      description: >
        This data type is defined in the same way as the ParamForProSeU2URelay data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    ParamForProSeEndUe:
      description: Represents the service parameters for 5G ProSe End UE.
      type: string

    ParamForProSeEndUeRm:
      description: >
        This data type is defined in the same way as the ParamForProSeEndUe data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    ParamProSeMultiHopU2NRelUe:
      description: >
        Represents the service parameters for 5G ProSe UE-to-Network Relay UE supporting
        5G ProSe Layer-2 and/or Layer-3 multi-hop UE-to-Network Relay.
      type: string

    ParamProSeMultiHopU2NRelUeRm:
      description: >
        This data type is defined in the same way as the ParamProSeMultiHopU2NRelUe data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    ParamProSeMultiHopRemUe:
      description: >
        Represents the service parameters for 5G ProSe Remote UE supporting 5G ProSe
        Layer-2 and/or Layer-3 multi-hop UE-to-Network Relay.
      type: string

    ParamProSeMultiHopRemUeRm:
      description: >
        This data type is defined in the same way as the ParamProSeMultiHopRemUe data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    ParamProSeMultiHopIntermUe:
      description: >
        Represents the service parameters for 5G ProSe Intermediate UE-to-Network Relay
        supporting 5G ProSe Layer-2 and/or Layer-3 multi-hop UE-to-Network Relay.
      type: string

    ParamProSeMultiHopIntermUeRm:
      description: >
        This data type is defined in the same way as the ParamProSeMultiHopIntermUe data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    ParamProSeMultiHopU2URelUe:
      description: >
        Represents the service parameters for 5G ProSe Layer-3 UE-to-UE Relay UE supporting
        5G ProSe Layer-3 multi-hop UE-to-UE Relay.
      type: string

    ParamProSeMultiHopU2URelUeRm:
      description: >
        This data type is defined in the same way as the ParamProSeMultiHopU2URelUe data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    ParamProSeMultiHopEndUe:
      description: >
        Represents the service parameters for 5G ProSe Layer-3 End UE supporting 5G ProSe
        Layer-3 multi-hop UE-to-UE Relay.
      type: string

    ParamProSeMultiHopEndUeRm:
      description: >
        This data type is defined in the same way as the ParamProSeMultiHopEndUe data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    ParamForRangingSlPos:
      description: Represents the service parameters for ranging and sidelink positioning.
      type: string

    ParamForRangingSlPosRm:
      description: >
        This data type is defined in the same way as the ParamForRangingslpos data type,
        but with the OpenAPI nullable property set to true.
      type: string
      nullable: true

    A2xParamsPc5:
      description: >
        Represents configuration parameters for A2X communications over PC5 reference point.
      type: string

    A2xParamsPc5Rm:
      description: >
        Represents the same as the A2xParamsPc5 data type but with the nullable:true property.
      type: string
      nullable: true

    A2xParamsUu:
      description: >
        Represents configuration parameters for A2X communications over Uu reference point.
      type: string

    A2xParamsUuRm:
      description: >
        Represents the same as the A2xParamsUu data type but with the nullable:true property.
      type: string
      nullable: true

    UrspRuleRequest:
      description: Contains parameters that can be used to guide the URSP.
      type: object
      properties:
        afReqUrspId:
          type: string
        trafficDesc:
          $ref: '#/components/schemas/TrafficDescriptorComponents'
        relatPrecedence:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        visitedNetDescs:
          type: array
          items:
            $ref: '#/components/schemas/NetworkDescription'
          minItems: 1
          description: >
            Each element identifies one or more PLMN IDs where AF guidance for VPLMN-specific
            URSP rule applies.
        routeSelParamSets:
          type: array
          items:
            $ref: '#/components/schemas/RouteSelectionParameterSet'
          minItems: 1
          description: >
            Sets of parameters that may be used to guide the Route Selection Descriptors of the 
            URSP.

    RouteSelectionParameterSet:
      description: >
        Contains parameters that can be used to guide the Route Selection
        Descriptors of the URSP.
      type: object
      properties:
        dnn:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
        snssai:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
        precedence:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger'
        spatialValidityAreas:
          type: array
          items:
            $ref: 'TS29522_AMPolicyAuthorization.yaml#/components/schemas/GeographicalArea'
          minItems: 1
          description: >
            Indicates where the route selection parameters apply. It may correspond
            to a geographical area, for example using a geographic shape that
            is known to the AF and is configured by the operator to correspond to a list
            of or TAIs.
        spatialValidityTais:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Tai'
          minItems: 1
          description: >
            Indicates the TAIs in which the route selection parameters apply. This attribute is 
            applicable only within the 5GC and it shall not be included in the request messages of 
            untrusted AFs for URSP guidance.
        pduSessType:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType'

    Non3gppDeviceInformation:
      description: Represents the Non-3GPP device identifier(s) information.
      type: object
      properties:
        non3gppDevId:
          type: string
        dnnSnssaiInfo:
          $ref: 'TS29522_AMInfluence.yaml#/components/schemas/DnnSnssaiInformation'
        flowInfos:
          type: array
          items:
            $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
          minItems: 1
        ethFlowInfos:
          type: array
          items:
            $ref: 'TS29122_CommonData.yaml#/components/schemas/EthFlowInfo'
          minItems: 1
        qosReference:
          type: string
        indQosParamSet:
          $ref: 'TS29543_Npcf_PDTQPolicyControl.yaml#/components/schemas/QosParameterSet'
      required:
        - non3gppDevId
      oneOf:
        - required: [qosReference]
        - required: [indQosParamSet]
      not:
        required: [flowInfos, ethFlowInfos]

    Event:
      anyOf:
      - type: string
        enum:
          - SUCCESS_UE_POL_DEL_SP
          - UNSUCCESS_UE_POL_DEL_SP
          - PARTLY_UNSUCC_UE_POL_DEL_SP
          - UNSUCCESS_PCF_SERVICE_AUTHORIZATION
      - 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 AF subscribe to event notification of the outcome related to the
        invocation of AF provisioned service parameters.  
        Possible values are:
        - SUCCESS_UE_POL_DEL_SP: Successful UE Policy Delivery related to 
          the invocation of AF provisioned Service Parameters.
        - UNSUCCESS_UE_POL_DEL_SP: Unsuccessful UE Policy Delivery related to the invocation of AF
           provisioned Service Parameters.
        - PARTLY_UNSUCC_UE_POL_DEL_SP: Partially unsuccessful UE Policy Delivery related to the
          invocation of AF provisioned Service Parameters.
        - UNSUCCESS_PCF SERVICE AUTHORIZATION: Unsuccessful authorization in the PCF related to the
          invocation of AF provisioned Service Parameters.

    AfNotification:
      description: >
        Notifications upon AF Service Parameter Authorization Update e.g. to
        revoke the authorization, and/or AF subscribed event notification of t

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/3gpp/refs/heads/main/openapi/3gpp-ts29522-serviceparameter.yml