3GPP TS 29.222 CAPIF Access Control Policy API

API for access control policy. An OpenAPI 3.0.0 document with 1 path(s), API version 1.4.0, published verbatim by 3GPP in 3GPP TS 29.222 as part of the CAPIF (Common API Framework) suite and mirrored in the public 3GPP Forge GitLab repository.

OpenAPI Specification

3gpp-ts29222-capif-access-control-policy-api.yml Raw ↑
openapi: 3.0.0

info:
  title: CAPIF_Access_Control_Policy_API
  description: |
    API for access control policy.  
    © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).  
    All rights reserved.
  version: "1.4.0"

externalDocs:
  description: 3GPP TS 29.222 V19.5.0 Common API Framework for 3GPP Northbound APIs
  url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.222/

servers:
  - url: '{apiRoot}/access-control-policy/v1'
    variables:
      apiRoot:
        default: https://example.com
        description: apiRoot as defined in clause 7.5 of 3GPP TS 29.222

paths:
  /accessControlPolicyList/{serviceApiId}:
    get:
      description: Retrieves the access control policy list.
      operationId: GetAccContPolList
      tags:
        - Access Control Policy List (Collection)
      parameters:
        - name: serviceApiId
          in: path
          description: Identifier of a published service API
          required: true
          schema:
            type: string
        - name: aef-id
          in: query
          required: true
          description: Identifier of the AEF
          schema:
            type: string
        - name: api-invoker-id
          in: query
          description: Identifier of the API invoker
          schema:
            type: string
        - name: supported-features
          in: query
          description: To filter irrelevant responses related to unsupported features
          schema:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessControlPolicyList'
        '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'
        '414':
          $ref: 'TS29122_CommonData.yaml#/components/responses/414'
        '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:
  schemas:
    AccessControlPolicyList:
      type: object
      description: Represents the access control policy list for a published service API.
      properties:
        apiInvokerPolicies:
          type: array
          items:
            $ref: '#/components/schemas/ApiInvokerPolicy'
          minItems: 0
          description: Policy of each API invoker.

    ApiInvokerPolicy:
      type: object
      description: Represents the policy of an API Invoker.
      properties:
        apiInvokerId:
          type: string
          description: API invoker ID assigned by the CAPIF core function
        allowedTotalInvocations:
          type: integer
          description: Total number of invocations allowed on the service API by the API invoker.
        allowedInvocationsPerSecond:
          type: integer
          description: Invocations per second allowed on the service API by the API invoker.
        allowedInvocationTimeRangeList:
          type: array
          items:
            $ref: '#/components/schemas/TimeRangeList'
          minItems: 0
          description: >
            The time ranges during which the invocations are allowed on the service API
            by the API invoker.
        netSliceInfo:
          type: array
          items:
            $ref: 'TS29435_NSCE_PolicyManagement.yaml#/components/schemas/NetSliceId'
          minItems: 1

      required:
        - apiInvokerId

    TimeRangeList:
      type: object
      description: >
        Represents the time range during which the invocation of a service API is allowed
        by the API invoker.
      properties:
        startTime:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'
        stopTime:
          $ref: 'TS29122_CommonData.yaml#/components/schemas/DateTime'