A.7 CAPIF_Access_Control_Policy_API

29.2223GPPCommon API Framework for 3GPP Northbound APIsRelease 18TS

openapi: 3.0.0

info:

title: CAPIF_Access_Control_Policy_API

description: |

API for access control policy.

© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).

All rights reserved.

version: "1.3.0-alpha.1"

externalDocs:

description: 3GPP TS 29.222 V18.0.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.

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.

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’