A.19 EASDeployment API

29.5223GPP5G SystemNetwork Exposure Function Northbound APIsRelease 18Stage 3TS

openapi: 3.0.0

info:

title: 3gpp-eas-deployment

version: 1.0.2

description: |

API for AF provisioned EAS Deployment.

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

All rights reserved.

externalDocs:

description: >

3GPP TS 29.522 V17.8.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-eas-deployment/v1’

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122.

paths:

/{afId}/eas-deployment-info:

get:

summary: Read all EAS Deployment information for a given AF

operationId: ReadAllDeployment

tags:

– EAS Deployment Information (Collection)

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

responses:

‘200’:

description: OK (Successful get all of the EAS Deployment information for the AF)

content:

application/json:

schema:

type: array

items:

$ref: ‘#/components/schemas/EasDeployInfo’

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: Create a new Individual EAS Deployment information resource.

operationId: CreateAnDeployment

tags:

– EAS Deployment Information (Collection)

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

requestBody:

description: new resource creation

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/EasDeployInfo’

responses:

‘201’:

description: Created (Successful creation)

content:

application/json:

schema:

$ref: ‘#/components/schemas/EasDeployInfo’

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’

/{afId}/eas-deployment-info/{easDeployInfoId}:

get:

summary: Read an active Individual EAS Deployment Information resource for the AF

operationId: ReadAnDeployment

tags:

– Individual EAS Deployment Information

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

– name: easDeployInfoId

in: path

description: Identifier of an EAS Deployment Information.

required: true

schema:

type: string

responses:

‘200’:

description: OK (Successful get the active resource)

content:

application/json:

schema:

$ref: ‘#/components/schemas/EasDeployInfo’

‘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 resource

operationId: FullyUpdateAnDeployment

tags:

– Individual EAS Deployment Information

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

– name: easDeployInfoId

in: path

description: Identifier of the EAS Deployment information resource

required: true

schema:

type: string

requestBody:

description: Parameters to update/replace the existing resource

required: true

content:

application/json:

schema:

$ref: ‘#/components/schemas/EasDeployInfo’

responses:

‘200’:

description: OK (Successful update of the existing resource)

content:

application/json:

schema:

$ref: ‘#/components/schemas/EasDeployInfo’

‘204’:

description: >

Successful case. The resource has been successfully updated and no additional content is

sent in the response message.

‘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 EAS Deployment information resource

operationId: DeleteAnDeployment

tags:

– Individual EAS Deployment Information

parameters:

– name: afId

in: path

description: Identifier of the AF

required: true

schema:

type: string

– name: easDeployInfoId

in: path

description: Identifier of the EAS Deployment information resource

required: true

schema:

type: string

responses:

‘204’:

description: No Content (Successful deletion of the existing resource)

‘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’

/remove-edis:

post:

summary: Remove EAS Deployment Information based on given criteria.

operationId: DeleteEDIs

tags:

– EAS Deployment Information removal

requestBody:

description: Criteria to be used for deleting EAS Deployment Information that match them.

content:

application/json:

schema:

$ref: ‘#/components/schemas/EdiDeleteCriteria’

required: true

responses:

‘204’:

description: >

No Content. The EDIs matching the provided criteria have been successfully deleted.

‘400’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/400’

‘401’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/401’

‘403’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/403’

‘404’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/404’

‘411’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/411’

‘413’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/413’

‘415’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/415’

‘429’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/429’

‘500’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/500’

‘503’:

$ref: ‘TS29571_CommonData.yaml#/components/responses/503’

default:

$ref: ‘TS29571_CommonData.yaml#/components/responses/default’

components:

securitySchemes:

oAuth2ClientCredentials:

type: oauth2

flows:

clientCredentials:

tokenUrl: ‘{tokenUrl}’

scopes: {}

schemas:

EasDeployInfo:

description: Represents EAS Deployment Information.

type: object

properties:

self:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/Link’

afServiceId:

type: string

fqdnPatternList:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/FqdnPatternMatchingRule’

minItems: 1

appId:

type: string

dnn:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Dnn’

snssai:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Snssai’

externalGroupId:

$ref: ‘TS29122_CommonData.yaml#/components/schemas/ExternalGroupId’

dnaiInfos:

type: object

additionalProperties:

$ref: ‘#/components/schemas/DnaiInformation’

minProperties: 1

description: >

list of DNS server identifier (consisting of IP address and port) and/or IP address(s)

of the EAS in the local DN for each DNAI. The key of map is the DNAI.

required:

– fqdnPatternList

DnaiInformation:

description: Represents DNAI information.

type: object

properties:

dnai:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Dnai’

dnsServIds:

type: array

items:

$ref: ‘#/components/schemas/DnsServerIdentifier’

minItems: 1

easIpAddrs:

type: array

items:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/IpAddr’

minItems: 1

required:

– dnai

anyOf:

– required: [dnsServIds]

– required: [easIpAddrs]

DnsServerIdentifier:

description: Represents DNS server identifier (consisting of IP address and port).

type: object

properties:

dnsServIpAddr:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/IpAddr’

portNumber:

$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uinteger’

required:

– dnsServIpAddr

– portNumber

EdiDeleteCriteria:

description: >

Contains criteria to be used for deleting EAS Deployment Information entries that match

them.

type: object

properties:

afId:

$ref: ‘TS29522_AKMA.yaml#/components/schemas/AfId’

dnnSnssai:

$ref: ‘TS29522_AMInfluence.yaml#/components/schemas/DnnSnssaiInformation’

anyOf:

– required: [afId]

– required: [dnnSnssai]