Nchf_SpendingLimitControl

The Nchf_SpendingLimitControl service enables the NF service consumer to retrieve policy counter status information per UE from the CHF by subscribing to spending limit reporting (that is notifications of policy counter status changes).

OpenAPI

OpenAPI Version: 3.0.0

Info


Description: Spending Limit Control Service API 
Version: "1.0.0" 
Title: Nchf_SpendingLimitControl 

Servers


  URL: 'http://{apiRoot}/nchf-spendinglimitcontrol/v1' 
  Variables: 
    API Root: 
      Default: https://example.com 
      Description: apiRoot as defined in subclause subclause 4.4 of 3GPP TS 29.501 

Security


- {} 
- oAuth2ClientCredentials: 
  - nchf-spendinglimitcontrol 

Paths

/subscriptions


  Method: Post 
    Request Body: 
      Required/Optional: true 
      Content: 
        Application/JSON: 
          Schema: 
            Reference: '#/components/schemas/SpendingLimitContext' 
 
    Responses: 
      '201': 
        Description: Success 
        Content: 
          Application/JSON: 
            Schema: 
              Reference: '#/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/Optional: true 
            Schema: 
              Type: string 
      '400': 
        Reference: './TS29571_CommonData.yaml#/components/responses/400' 
      '401': 
        Reference: './TS29571_CommonData.yaml#/components/responses/401' 
      '403': 
        Reference: './TS29571_CommonData.yaml#/components/responses/403' 
      '404': 
        Reference: './TS29571_CommonData.yaml#/components/responses/404' 
      '411': 
        Reference: './TS29571_CommonData.yaml#/components/responses/411' 
      '413': 
        Reference: './TS29571_CommonData.yaml#/components/responses/413' 
      '415': 
        Reference: './TS29571_CommonData.yaml#/components/responses/415' 
      '429': 
        Reference: './TS29571_CommonData.yaml#/components/responses/429' 
      '500': 
        Reference: './TS29571_CommonData.yaml#/components/responses/500' 
      '503': 
        Reference: './TS29571_CommonData.yaml#/components/responses/503' 
      Default: 
        Reference: './TS29571_CommonData.yaml#/components/responses/default' 
    Callbacks: 
      statusNotification: 
        '{$request.body#/notifUri}/notify': 
          Method: Post 
            Request Body: 
              Required/Optional: true 
              Content: 
                Application/JSON: 
                  Schema: 
                    Reference: '#/components/schemas/SpendingLimitStatus' 
 
            Responses: 
              '204': 
                Description: No Content, Notification was succesfull 
              '400': 
                Reference: './TS29571_CommonData.yaml#/components/responses/400' 
              '401': 
                Reference: './TS29571_CommonData.yaml#/components/responses/401' 
              '403': 
                Reference: './TS29571_CommonData.yaml#/components/responses/403' 
              '404': 
                Reference: './TS29571_CommonData.yaml#/components/responses/404' 
              '411': 
                Reference: './TS29571_CommonData.yaml#/components/responses/411' 
              '413': 
                Reference: './TS29571_CommonData.yaml#/components/responses/413' 
              '415': 
                Reference: './TS29571_CommonData.yaml#/components/responses/415' 
              '429': 
                Reference: './TS29571_CommonData.yaml#/components/responses/429' 
              '500': 
                Reference: './TS29571_CommonData.yaml#/components/responses/500' 
              '503': 
                Reference: './TS29571_CommonData.yaml#/components/responses/503' 
              Default: 
                Reference: './TS29571_CommonData.yaml#/components/responses/default' 
      subscriptionTermination: 
        '{$request.body#/notifUri}/terminate': 
          Method: Post 
            Request Body: 
              Required/Optional: true 
              Content: 
                Application/JSON: 
                  Schema: 
                    Reference: '#/components/schemas/SubscriptionTerminationInfo' 
 
            Responses: 
              '204': 
                Description: No Content, Notification was succesfull 
              '400': 
                Reference: './TS29571_CommonData.yaml#/components/responses/400' 
              '401': 
                Reference: './TS29571_CommonData.yaml#/components/responses/401' 
              '403': 
                Reference: './TS29571_CommonData.yaml#/components/responses/403' 
              '404': 
                Reference: './TS29571_CommonData.yaml#/components/responses/404' 
              '411': 
                Reference: './TS29571_CommonData.yaml#/components/responses/411' 
              '413': 
                Reference: './TS29571_CommonData.yaml#/components/responses/413' 
              '415': 
                Reference: './TS29571_CommonData.yaml#/components/responses/415' 
              '429': 
                Reference: './TS29571_CommonData.yaml#/components/responses/429' 
              '500': 
                Reference: './TS29571_CommonData.yaml#/components/responses/500' 
              '503': 
                Reference: './TS29571_CommonData.yaml#/components/responses/503' 
              Default: 
                Reference: './TS29571_CommonData.yaml#/components/responses/default' 

/subscriptions/{subscriptionId}


 
  Parameters: 
    - in: path 
      name: subscriptionId 
      Description: Identifies an individual spending limit retrieval subscription. 
      Required/Optional: true 
      Schema: 
        Type: string 
  put: 
    Request Body: 
      Required/Optional: true 
      Content: 
        Application/JSON: 
          Schema: 
            Reference: '#/components/schemas/SpendingLimitContext' 
 
    Responses: 
      '200': 
        Description: OK. Resource was succesfully modified and representation is returned 
        Content: 
          Application/JSON: 
            Schema: 
              Reference: '#/components/schemas/SpendingLimitStatus' 
      '400': 
        Reference: './TS29571_CommonData.yaml#/components/responses/400' 
      '401': 
        Reference: './TS29571_CommonData.yaml#/components/responses/401' 
      '403': 
        Reference: './TS29571_CommonData.yaml#/components/responses/403' 
      '404': 
        Reference: './TS29571_CommonData.yaml#/components/responses/404' 
      '411': 
        Reference: './TS29571_CommonData.yaml#/components/responses/411' 
      '413': 
        Reference: './TS29571_CommonData.yaml#/components/responses/413' 
      '415': 
        Reference: './TS29571_CommonData.yaml#/components/responses/415' 
      '429': 
        Reference: './TS29571_CommonData.yaml#/components/responses/429' 
      '500': 
        Reference: './TS29571_CommonData.yaml#/components/responses/500' 
      '503': 
        Reference: './TS29571_CommonData.yaml#/components/responses/503' 
      Default: 
        Reference: './TS29571_CommonData.yaml#/components/responses/default' 
  delete: 
 
    Responses: 
      '204': 
        Description: No Content. Resource was succesfully deleted 
      '400': 
        Reference: './TS29571_CommonData.yaml#/components/responses/400' 
      '401': 
        Reference: './TS29571_CommonData.yaml#/components/responses/401' 
      '403': 
        Reference: './TS29571_CommonData.yaml#/components/responses/403' 
      '404': 
        Reference: './TS29571_CommonData.yaml#/components/responses/404' 
      '429': 
        Reference: './TS29571_CommonData.yaml#/components/responses/429' 
      '500': 
        Reference: './TS29571_CommonData.yaml#/components/responses/500' 
      '503': 
        Reference: './TS29571_CommonData.yaml#/components/responses/503' 
      Default: 
        Reference: './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: 
    Type: object 
    Properties: 
      supi: 
        Description: The Subscription Permanent Identifier (Supi) shall be present within the initial spending limit retrieval procedure (creation of a new individual subscription). 
        Reference: './TS29571_CommonData.yaml#/components/schemas/Supi' 
      gpsi: 
        Description: The Generic Public Subscription Identifier (Gpsi) may be present within the initial spending limit retrieval procedure (creation of a new individual subscription). 
        Reference: './TS29571_CommonData.yaml#/components/schemas/Gpsi' 
      policyCounterIds: 
        Type: array 
        Items: 
          Reference: '#/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: 
        Description: This attribute identifies the recipient of spending limit notifications sent to the NF service consumer by the CHF. The notifUri shall be present within the initial spending limit retrieval procedure (creation of a new individual subscription). It may be present within the intermediate spending limit retrieval procedure (modification of an existing subscription). 
        Reference: './TS29571_CommonData.yaml#/components/schemas/Uri' 
      supportedFeatures: 
        Description: The list of supported features as described in subclause 5.8 shall be supplied by the NF service consumer in the POST request that request the creation of a spending limit report resource. 
        Reference: './TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' 
  SpendingLimitStatus: 
    Type: object 
    Properties: 
      supi: 
        Description: The Subscription Permanent Identifier (Supi) shall be present within the callback notify service operation (notification of the status of subscribed policy counters). 
        Reference: './TS29571_CommonData.yaml#/components/schemas/Supi' 
      statusInfos: 
        Type: object 
        additionalProperties: 
          Reference: '#/components/schemas/PolicyCounterInfo' 
        minProperties: 1 
        Description: Status of the requested policy counters. The key of the map is the attribute "policyCounterId". 
      supportedFeatures: 
        Description: If the supportedFeatures is included in the request by the NF service consumer, it shall be supplied in the reply of the corresponding request by the CHF. 
        Reference: './TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' 
    Required: 
      - statusInfos 
  PolicyCounterInfo: 
    Type: object 
    Properties: 
      policyCounterId: 
        Reference: '#/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: 
          Reference: '#/components/schemas/PendingPolicyCounterStatus' 
        minItems: 1 
        Description: Provides the pending policy counter status. 
    Required: 
      - policyCounterId 
      - currentStatus 
  PendingPolicyCounterStatus: 
    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: 
        Description: Indicates the activation times per required policy counter. 
        Reference: './TS29571_CommonData.yaml#/components/schemas/DateTime' 
    Required: 
      - policyCounterStatus 
      - activationTime 
  PolicyCounterId: 
    Type: string 
    Description: Identifies a policy counter. 
  SubscriptionTerminationInfo: 
    Type: object 
    Properties: 
      supi: 
        Reference: './TS29571_CommonData.yaml#/components/schemas/Supi' 
      termCause: 
        Reference: '#/components/schemas/TerminationCause' 
    Required: 
      - supi 
  TerminationCause: 
    Type: string 
    enum: 
      - REMOVED_SUBSCRIBER 

External Docs


Description: 3GPP TS 29.594 V15.2.0; 5G System; Spending Limit Control Service. 
URL: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.594/'