openapi: 3.0.0
info:
  title: 3gpp-nidd
  version: 1.0.1
  description: | 
    API for non IP data delivery.
    © 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
externalDocs:
  description: 3GPP TS 29.122 V15.4.0 T8 reference point for Northbound APIs
  url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.122/'
security:
  - {}
  - oAuth2ClientCredentials: []
servers:
  - url: '{apiRoot}/3gpp-nidd/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122.
paths:
  /{scsAsId}/configurations:
    parameters:
      - name: scsAsId
        description: String identifying the SCS/AS.
        in: path
        required: true
        schema:
          type: string
    get:
      responses:
        '200':
          description: all NIDD configurations.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NiddConfiguration'
                minItems: 0
                description: individual NIDD configuration.
        '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:
      requestBody:
        description: Contains the data to create a NIDD configuration.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NiddConfiguration'
      responses:
        '201':
          description: NIDD configuration is successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NiddConfiguration'
          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:
        niddNotifications:
          '{$request.body#/notificationDestination}':
            post:
              requestBody:
                description: Notification for NIDD configuration status, MO NIDD, MT NIDD delivery report.
                content:
                  application/json:
                    schema:
                      oneOf:
                      - $ref: '#/components/schemas/NiddConfigurationStatusNotification'
                      - $ref: '#/components/schemas/NiddUplinkDataNotification'
                      - $ref: '#/components/schemas/NiddDownlinkDataDeliveryStatusNotification'
                      - $ref: '#/components/schemas/GmdNiddDownlinkDataDeliveryNotification'
              responses:
                '204':
                  description: Expected response to a successful callback processing without a body
                '200':
                  description: Expected response to a successful callback processing with a body
                  content:
                    application/json:
                      schema:
                        $ref: 'TS29122_CommonData.yaml#/components/schemas/Acknowledgement'
                '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'
  /{scsAsId}/configurations/{configurationId}:
    parameters:
      - name: scsAsId
        description: String identifying the SCS/AS.
        in: path
        required: true
        schema:
          type: string
      - name: configurationId
        description: String identifying the individual NIDD configuration resource in the SCEF.
        in: path
        required: true
        schema:
          type: string
    get:
      responses:
        '200':
          description: The individual NIDD configuration is successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NiddConfiguration'
        '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'
    patch:
      requestBody:
        description: Contains information to be applied to the individual NIDD configuration.
        required: true
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/NiddConfigurationPatch'
      responses:
        '200':
          description: The Individual NIDD configuration is modified successfully and a representation of that resource is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NiddConfiguration'
        '204':
          description: The Individual NIDD configuration is modified successfully.
        '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:
      responses:
        '204':
          description: The Individual NIDD configuration is deleted.
        '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'

  /{scsAsId}/configurations/{configurationId}/downlink-data-deliveries:
    parameters:
      - name: scsAsId
        description: String identifying the SCS/AS.
        in: path
        required: true
        schema:
          type: string
      - name: configurationId
        description: String identifying the individual NIDD configuration resource in the SCEF.
        in: path
        required: true
        schema:
          type: string
    get:
      responses:
        '200':
          description: all NIDD downlink data deliveries.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/NiddDownlinkDataTransfer'
                minItems: 0
                description: individual NIDD downlink data delivery.
        '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:
      requestBody:
        description: Contains the data to create a NIDD downlink data delivery.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NiddDownlinkDataTransfer'
      responses:
        '200':
          description: NIDD downlink data delivery is successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NiddDownlinkDataTransfer'
        '201':
          description: NIDD downlink data delivery is pending.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NiddDownlinkDataTransfer'
          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':
          description: The NIDD downlink data delivery request was not successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NiddDownlinkDataDeliveryFailure'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'
  /{scsAsId}/configurations/{configurationId}/downlink-data-deliveries/{downlinkDataDeliveryId}:
    parameters:
      - name: scsAsId
        description: String identifying the SCS/AS.
        in: path
        required: true
        schema:
          type: string
      - name: configurationId
        description: String identifying the individual NIDD configuration resource in the SCEF.
        in: path
        required: true
        schema:
          type: string
      - name: downlinkDataDeliveryId
        description: String identifying the individual NIDD downlink data delivery in the SCEF.
        in: path
        required: true
        schema:
          type: string
    get:
      responses:
        '200':
          description: The individual NIDD downlink data delivery is successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NiddDownlinkDataTransfer'
        '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:
      requestBody:
        description: Contains information to be applied to the individual NIDD downlink data delivery.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NiddDownlinkDataTransfer'
      responses:
        '200':
          description: The pending NIDD downlink data is replaced sucessfully but delivery is pending.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NiddDownlinkDataTransfer'
        '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'
        '409':
          $ref: 'TS29122_CommonData.yaml#/components/responses/409'
        '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':
          description: The NIDD downlink data replacement request was not successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NiddDownlinkDataDeliveryFailure'
        '503':
          $ref: 'TS29122_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29122_CommonData.yaml#/components/responses/default'
    delete:
      responses:
        '204':
          description: The pending NIDD downlink data is deleted.
        '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'
        '409':
          $ref: 'TS29122_CommonData.yaml#/components/responses/409'
        '429':
          $ref: 'TS29122_CommonData.yaml#/components/responses/429'
        '500':
          description: The NIDD downlink data cancellation request was not successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NiddDownlinkDataDeliveryFailure'
        '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: 
    NiddConfiguration:
      type: object
      properties:
        self:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        supportedFeatures:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
        mtcProviderId:
          type: string
          description: Identifies the MTC Service Provider and/or MTC Application.
        externalId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId'
        msisdn:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn'
        externalGroupId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId'
        duration:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'
        reliableDataService:
          type: boolean
          description: The reliable data service (as defined in subclause 4.5.15.3 of 3GPP TS 23.682) to indicate if a reliable data service acknowledgment is enabled or not.
        rdsPorts:
          type: array
          items:
            $ref: '#/components/schemas/RdsPort'
          minItems: 1
          description: Indicates the port configuration that is used for reliable data transfer between specific applications using RDS (as defined in subclause 5.2.4 and 5.2.5 of 3GPP TS 24.250).
        pdnEstablishmentOption:
          $ref: '#/components/schemas/PdnEstablishmentOptions'
        notificationDestination:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        requestTestNotification:
          type: boolean
          description: Set to true by the SCS/AS to request the SCEF to send a test notification as defined in subclause 5.2.5.3. Set to false or omitted otherwise.
        websockNotifConfig:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig'
        maximumPacketSize:
          type: integer
          minimum: 1
          description: The Maximum Packet Size is the maximum NIDD packet size that was transferred to the UE by the SCEF in the PCO, see subclause 4.5.14.1 of 3GPP TS 23.682. If no maximum packet size was provided to the UE by the SCEF, the SCEF sends a default configured max packet size to SCS/AS. Unit  bit.
          readOnly: true
        niddDownlinkDataTransfers:
          type: array
          items:
            $ref: '#/components/schemas/NiddDownlinkDataTransfer'
          minItems: 1
          description: The downlink data deliveries that needed to be executed by the SCEF. The cardinality of the property shall be 0..1 in the request and 0..N in the response (i.e. response may contain multiple buffered MT NIDD).
        status:
          $ref: '#/components/schemas/NiddStatus'
      required:
        - notificationDestination
      oneOf:
        - required: [externalId]
        - required: [msisdn]
        - required: [externalGroupId]
    NiddDownlinkDataTransfer:
      type: object
      properties:
        externalId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId'
        externalGroupId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId'
        msisdn:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn'
        self:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        data:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes'
        reliableDataService:
          type: boolean
          description: The reliable data service (as defined in subclause 4.5.15.3 of 3GPP TS 23.682) to indicate if a reliable data service acknowledgment is enabled or not.
        rdsPort:
          $ref: '#/components/schemas/RdsPort'
        maximumLatency:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationSec'
        priority:
          type: integer
          description: It is used to indicate the priority of the non-IP data packet relative to other non-IP data packets.
        pdnEstablishmentOption:
          $ref: '#/components/schemas/PdnEstablishmentOptions'
        deliveryStatus:
          $ref: '#/components/schemas/DeliveryStatus'
        requestedRetransmissionTime:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'
      required:
        - data
      oneOf:
        - required: [externalId]
        - required: [msisdn]
        - required: [externalGroupId]
    NiddUplinkDataNotification:
      type: object
      properties:
        niddConfiguration:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        externalId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId'
        msisdn:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn'
        data:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Bytes'
        reliableDataService:
          type: boolean
          description: Indicates whether the reliable data service is enabled.
        rdsPort:
          $ref: '#/components/schemas/RdsPort'
      required:
        - niddConfiguration
        - data
      oneOf:
        - required: [externalId]
        - required: [msisdn]
    NiddDownlinkDataDeliveryStatusNotification:
      type: object
      properties:
        niddDownlinkDataTransfer:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        deliveryStatus:
          $ref: '#/components/schemas/DeliveryStatus'
        requestedRetransmissionTime:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'
      required:
        - niddDownlinkDataTransfer
        - deliveryStatus
    NiddConfigurationStatusNotification:
      type: object
      properties:
        niddConfiguration:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        externalId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId'
        msisdn:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn'
        status:
          $ref: '#/components/schemas/NiddStatus'
        rdsCapIndication:
          type: boolean
          description: It indicates whether the network capability for the reliable data service is enabled or not.
      required:
        - niddConfiguration
        - status
      oneOf:
        - required: [externalId]
        - required: [msisdn]
    GmdNiddDownlinkDataDeliveryNotification:
      type: object
      properties:
        niddDownlinkDataTransfer:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Link'
        gmdResults:
          type: array
          items:
            $ref: '#/components/schemas/GmdResult'
          minItems: 1
          description: Indicates the group message delivery result.
      required:
        - niddDownlinkDataTransfer
        - gmdResults
    RdsPort:
      type: object
      properties:
        portUE:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Port'
        portSCEF:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Port'
      required:
        - portUE
        - portSCEF
    GmdResult:
      type: object
      properties:
        externalId:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalId'
        msisdn:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/Msisdn'
        deliveryStatus:
          $ref: '#/components/schemas/DeliveryStatus'
        requestedRetransmissionTime:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'
      required:
        - deliveryStatus
      oneOf:
        - required: [externalId]
        - required: [msisdn]
    NiddDownlinkDataDeliveryFailure:
      type: object
      properties:
        problemDetail:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/ProblemDetails'
        requestedRetransmissionTime:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'
      required:
        - problemDetail
    PdnEstablishmentOptions:
      anyOf:
      - type: string
        enum:
          - WAIT_FOR_UE
          - INDICATE_ERROR
          - SEND_TRIGGER
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: >
        Possible values are
        - WAIT_FOR_UE: wait for the UE to establish the PDN connection 
        - INDICATE_ERROR: respond with an error cause
        - SEND_TRIGGER: send a device trigger
    PdnEstablishmentOptionsRm:
      anyOf:
      - type: string
        enum:
          - WAIT_FOR_UE
          - INDICATE_ERROR
          - SEND_TRIGGER
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: >
        Possible values are
        - WAIT_FOR_UE: wait for the UE to establish the PDN connection 
        - INDICATE_ERROR: respond with an error cause
        - SEND_TRIGGER: send a device trigger
      nullable: true
    DeliveryStatus:
      anyOf:
      - type: string
        enum:
          - SUCCESS
          - SUCCESS_NEXT_HOP_ACKNOWLEDGED
          - SUCCESS_NEXT_HOP_UNACKNOWLEDGED
          - SUCCESS_ACKNOWLEDGED
          - SUCCESS_UNACKNOWLEDGED
          - TRIGGERED
          - BUFFERING
          - BUFFERING_TEMPORARILY_NOT_REACHABLE
          - SENDING
          - FAILURE
          - FAILURE_RDS_DISABLED
          - FAILURE_NEXT_HOP
          - FAILURE_TIMEOUT
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: >
        Possible values are
        - SUCCESS: Success but details not provided
        - SUCCESS_NEXT_HOP_ACKNOWLEDGED: Successful delivery to the next hop with acknowledgment.
        - SUCCESS_NEXT_HOP_UNACKNOWLEDGED: Successful delivery to the next hop without acknowledgment
        - SUCCESS_ACKNOWLEDGED: Reliable delivery was acknowledged by the UE
        - SUCCESS_UNACKNOWLEDGED: Reliable delivery was not acknowledged by the UE
        - TRIGGERED: The SCEF triggered the device and is buffering the data.
        - BUFFERING: The SCEF is buffering the data due to no PDN connection established.
        - BUFFERING_TEMPORARILY_NOT_REACHABLE: The SCEF has been informed that the UE is temporarily not reachable but is buffering the data
        - SENDING: The SCEF has forwarded the data, but they may be stored elsewhere
        - FAILURE: Delivery failure but details not provided
        - FAILURE_RDS_DISABLED: RDS was disabled
        - FAILURE_NEXT_HOP: Unsuccessful delivery to the next hop.
        - FAILURE_TIMEOUT: Unsuccessful delivery due to timeout.
      readOnly: true
    NiddStatus:
      anyOf:
      - type: string
        enum:
          - ACTIVE
          - TERMINATED_UE_NOT_AUTHORIZED
          - TERMINATED
      - type: string
        description: >
          This string provides forward-compatibility with future
          extensions to the enumeration but is not used to encode
          content defined in the present version of this API.
      description: >
        Possible values are
        - ACTIVE: The NIDD configuration is active.
        - TERMINATED_UE_NOT_AUTHORIZED: The NIDD configuration was terminated because the UE´s authorisation was revoked.
        - TERMINATED: The NIDD configuration was terminated.
      readOnly: true
    NiddConfigurationPatch:
      type: object
      properties:
        duration:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTimeRm'
        reliableDataService:
          type: boolean
          description: The reliable data service (as defined in subclause 4.5.15.3 of 3GPP TS 23.682) to indicate if a reliable data service acknowledgment is enabled or not.
          nullable: true
        rdsPorts:
          type: array
          items:
            $ref: '#/components/schemas/RdsPort'
          minItems: 1
          description: Indicates the port configuration that is used for reliable data transfer between specific applications using RDS (as defined in subclause 5.2.4 and 5.2.5 of 3GPP TS 24.250).
        pdnEstablishmentOption:
          $ref: '#/components/schemas/PdnEstablishmentOptionsRm'