A.3 Eees_EASDiscovery API
24.5583GPPEnabling Edge ApplicationsProtocol specificationRelease 17TS
openapi: 3.0.0
info:
title: Eees_EASDiscovery
description: |
API for EAS Discovery.
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
version: "1.0.1"
externalDocs:
description: >
3GPP TS 24.558 V17.1.0 Enabling Edge Applications; Protocol specification.
url: https://www.3gpp.org/ftp/Specs/archive/24_series/24.558/
security:
– {}
– oAuth2ClientCredentials: []
servers:
– url: ‘{apiRoot}/eees-easdiscovery/v1’
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 6.1 of 3GPP TS 24.558
paths:
/subscriptions:
post:
description: Creates a new individual EAS discovery subscription.
tags:
– EAS Discovery Subscriptions
requestBody:
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/EasDiscoverySubscription’
responses:
‘201’:
description: >
Created. A new Individual EAS Discovery Subscription resource was successfully
created.
content:
application/json:
schema:
$ref: ‘#/components/schemas/EasDiscoverySubscription’
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:
notificationDestination:
‘{request.body#/notificationDestination}’:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/EasDiscoveryNotification’
responses:
‘204’:
description: No Content (The receipt of the Notification is acknowledged)
‘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’
/subscriptions/{subscriptionId}:
put:
description: >
Updates an existing individual EAS discovery subscription identified by the subscriptionId.
tags:
– Individual EAS Discovery Subscription
parameters:
– name: subscriptionId
in: path
description: Identifies an individual EAS discovery subscription resource
required: true
schema:
type: string
requestBody:
description: Parameters to replace the existing subscription
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/EasDiscoverySubscription’
responses:
‘200’:
description: >
OK. The individual EAS discovery subscription resource was updated successfully.
content:
application/json:
schema:
$ref: ‘#/components/schemas/EasDiscoverySubscription’
‘204’:
description: No Content (updated 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:
description: >
Deletes an existing individual EAS discovery subscription identified by the subscriptionId.
tags:
– Individual EAS Discovery Subscription
parameters:
– name: subscriptionId
in: path
description: Identifies an individual EAS discovery subscription resource
required: true
schema:
type: string
responses:
‘204’:
description: >
An individual EAS discovery subscription resource deleted successfully.
‘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’
patch:
description: >
Partial update an existing EAS Discovery Subscription resource identified by a
subscriptionId.
tags:
– Individual EAS Discovery Subscription
parameters:
– name: subscriptionId
in: path
description: Identifies an individual EAS discovery subscription resource
required: true
schema:
type: string
requestBody:
description: Parameters to replace the existing subscription
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/EasDiscoverySubscriptionPatch’
responses:
‘200’:
description: >
OK (An individual EAS discovery subscription resource updated successfully)
content:
application/json:
schema:
$ref: ‘#/components/schemas/EasDiscoverySubscription’
‘204’:
description: No Content (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’
/eas-profiles/request-discovery:
post:
description: Provides EAS information requested by the service consumer (i.e. EEC, EAS or EES).
tags:
– EAS Profiles
requestBody:
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/EasDiscoveryReq’
responses:
‘200’:
description: >
OK (The requested EAS discovery information was returned successfully).
content:
application/json:
schema:
$ref: ‘#/components/schemas/EasDiscoveryResp’
‘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’
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: ‘{tokenUrl}’
scopes: {}
schemas:
EasDiscoveryReq:
description: ECS service provisioning request information.
type: object
properties:
requestorId:
$ref: ‘#/components/schemas/RequestorId’
ueId:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’
easDiscoveryFilter:
$ref: ‘#/components/schemas/EasDiscoveryFilter’
eecSvcContinuity:
type: array
items:
$ref: ‘TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario’
description: Indicates if the EEC supports service continuity or not, also indicates which ACR scenarios are supported by the EEC.
eesSvcContinuity:
type: array
items:
$ref: ‘TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario’
description: Indicates if the EEC supports service continuity or not, also indicates which ACR scenarios are supported by the EEC.
easSvcContinuity:
type: array
items:
$ref: ‘TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario’
description: Indicates if the EEC supports service continuity or not, also indicates which ACR scenarios are supported by the EEC.
locInf:
$ref: ‘TS29122_MonitoringEvent.yaml#/components/schemas/LocationInfo’
easTDnai:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Dnai’
required:
– requestorId
EasDiscoveryResp:
description: ECS discovery response.
type: object
properties:
discoveredEas:
type: array
items:
$ref: ‘#/components/schemas/DiscoveredEas’
description: List of EAS discovery information.
required:
– discoveredEas
EasDiscoverySubscription:
description: Represents an Individual EAS Discovery Subscription resource.
type: object
properties:
eecId:
type: string
description: Represents a unique identifier of the EEC.
ueId:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Gpsi’
easEventType:
$ref: ‘#/components/schemas/EASDiscEventIDs’
easDiscoveryFilter:
$ref: ‘#/components/schemas/EasDiscoveryFilter’
easDynInfoFilter:
$ref: ‘#/components/schemas/EasDynamicInfoFilter’
easSvcContinuity:
type: array
items:
$ref: ‘TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario’
description: Indicates if the EEC supports service continuity or not, also indicates which ACR scenarios are supported by the EEC.
expTime:
$ref: ‘TS29122_CommonData.yaml#/components/schemas/DateTime’
notificationDestination:
$ref: ‘TS29122_CommonData.yaml#/components/schemas/Uri’
requestTestNotification:
type: boolean
description: Set to true by Subscriber to request the ECS to send a test notification. Set to false or omitted otherwise.
websockNotifConfig:
$ref: ‘TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig’
suppFeat:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’
required:
– eecId
– easEventType
EasDiscoveryNotification:
description: Notification of EAS discovery information.
type: object
properties:
subId:
type: string
description: Identifier of the individual service provisioning subscription for which the service provisioning notification is delivered.
eventType:
$ref: ‘#/components/schemas/EASDiscEventIDs’
discoveredEas:
type: array
items:
$ref: ‘#/components/schemas/DiscoveredEas’
minItems: 1
description: List of EAS discovery information.
required:
– subId
– eventType
– discoveredEas
EasDiscoveryFilter:
description: Represents the EAS characteristics.
type: object
properties:
acChars:
type: array
items:
$ref: ‘#/components/schemas/ACCharacteristics’
minItems: 1
description: AC description for which an EAS is needed.
easChars:
type: array
items:
$ref: ‘#/components/schemas/EasCharacteristics’
minItems: 1
description: Required EAS chararcteristics.
EasCharacteristics:
description: Represents the EAS chararcteristics.
type: object
properties:
easId:
type: string
description: EAS application identifier.
easProvId:
type: string
description: EAS provider identifier.
easType:
type: string
description: EAS type.
easSched:
$ref: ‘TS29122_CommonData.yaml#/components/schemas/TimeWindow’
svcArea:
$ref: ‘TS29122_CommonData.yaml#/components/schemas/LocationArea5G’
easSvcContinuity:
type: array
items:
$ref: ‘TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario’
description: Indicates if the EEC supports service continuity or not, also indicates which ACR scenarios are supported by the EEC.
svcPermLevel:
type: string
description: Service permissions level.
svcFeats:
type: array
items:
type: string
minItems: 1
description: Service features.
DiscoveredEas:
description: Represents an EAS discovery information.
type: object
properties:
eas:
$ref: ‘TS29558_Eees_EASRegistration.yaml#/components/schemas/EASProfile’
lifeTime:
$ref: ‘TS29122_CommonData.yaml#/components/schemas/DateTime’
required:
– eas
EasDynamicInfoFilter:
description: Represents EAS dynamic information changes filter.
type: object
properties:
dynInfoFilter:
type: array
items:
$ref: ‘#/components/schemas/EasDynamicInfoFilterData’
minItems: 1
description: List of EAS dynamic information required by the EEC per EAS.
required:
– dynInfoFilter
EasDynamicInfoFilterData:
description: Represents an EAS dynamic information.
type: object
properties:
eecId:
type: string
description: Represents a unique identifier of the EEC.
easStatus:
type: boolean
description: Notify if EAS status changed.
easAcIds:
type: boolean
description: Notify if list of AC identifiers changed.
easDesc:
type: boolean
description: Notify if EAS description changed.
easPt:
type: boolean
description: Notify if EAS endpoint changed.
easFeature:
type: boolean
description: NotiNotify if EAS feature changed.
easSchedule:
type: boolean
description: Notify if EAS schedule changed.
svcArea:
type: boolean
description: Notify if EAS service area changed.
svcKpi:
type: boolean
description: Notify if EAS KPIs changed.
svcCont:
type: boolean
description: Notify if EAS supported ACR changed.
required:
– eecId
ACCharacteristics:
description: Represents EAS dynamic information changes filter.
type: object
properties:
acProf:
$ref: ‘TS24558_Eees_EECRegistration.yaml#/components/schemas/ACProfile’
required:
– acProf
EASDiscEventIDs:
anyOf:
– type: string
enum:
– EAS_AVAILABILITY_CHANGE
– EAS_DYNAMIC_INFO_CHANGE
– 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
– EAS_AVAILABILITY_CHANGE: Represents the EAS availability change event.
– EAS_DYNAMIC_INFO_CHANGE: Represents the EAS dynamic information change event.
EasDiscoverySubscriptionPatch:
description: Represents an Individual EAS Discovery Subscription resource.
type: object
properties:
easDiscoveryFilter:
$ref: ‘#/components/schemas/EasDiscoveryFilter’
easDynInfoFilter:
$ref: ‘#/components/schemas/EasDynamicInfoFilter’
easSvcContinuity:
type: array
items:
$ref: ‘TS29558_Eecs_EESRegistration.yaml#/components/schemas/ACRScenario’
description: Indicates if the EEC supports service continuity or not, also indicates which ACR scenarios are supported by the EEC.
expTime:
$ref: ‘TS29122_CommonData.yaml#/components/schemas/DateTime’
RequestorId:
description: Represents identifier of the requestor.
type: object
properties:
eesId:
type: string
easId:
type: string
eecId:
type: string
oneOf:
– required: [eesId]
– required: [easId]
– required: [eecId]