A.4 VAE_ApplicationRequirement API
29.4863GPPRelease 18Stage 3TSV2X Application Enabler (VAE) Services
openapi: 3.0.0
info:
version: 1.2.0-alpha.1
title: VAE_ApplicationRequirement
description: |
API for VAE Application Requirement Service
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 29.486 V18.0.0 V2X Application Enabler (VAE) Services
url: ‘https://www.3gpp.org/ftp/Specs/archive/29_series/29.486/’
security:
– {}
– oAuth2ClientCredentials: []
servers:
– url: ‘{apiRoot}/vae-app-req/v1’
variables:
apiRoot:
default: https://example.com
description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501
paths:
/application-requirements:
post:
summary: VAE_Application_Requirements resource create service Operation
tags:
– application requirements collection (Document)
operationId: CreateApplicationRequirement
requestBody:
content:
application/json:
schema:
$ref: ‘#/components/schemas/ApplicationRequirementData’
required: true
responses:
‘201’:
description: Application Requirement Resource Created
headers:
Location:
description: ‘Contains the URI of the newly created resource’
required: true
schema:
type: string
content:
application/json:
schema:
$ref: ‘#/components/schemas/ApplicationRequirementData’
‘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’
callbacks:
NotifyNetworkResource:
‘{$request.body#/notifUri}’:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/AppReqNotification’
responses:
‘204’:
description: No Content, Notification was succesfull
‘307’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/308’
‘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’
/application-requirements/{requirementId}:
get:
summary: VAE Application Requirement resource read service Operation
tags:
– Individual application requirement (Document)
operationId: ReadApplicationRequirement
parameters:
– name: requirementId
in: path
description: Identifier of an application requirement resource
required: true
schema:
type: string
responses:
‘200’:
description: OK. Resource representation is returned
content:
application/json:
schema:
$ref: ‘#/components/schemas/ApplicationRequirementData’
‘307’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/308’
‘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’
‘406’:
$ref: ‘TS29571_CommonData.yaml#/components/responses/406’
‘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’
delete:
summary: VAE Application Requirement resource delete service Operation
tags:
– Individual application requirement (Document)
operationId: DeleteApplicationRequirement
parameters:
– name: requirementId
in: path
required: true
description: Unique ID of the application requirement to be deleted
schema:
type: string
responses:
‘204’:
description: The subscription was terminated successfully.
‘307’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/307’
‘308’:
$ref: ‘TS29122_CommonData.yaml#/components/responses/308’
‘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’
‘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:
ApplicationRequirementData:
description: >
Represents an individual Application Requirement resource for a V2X UE ID or a V2X group ID.
type: object
properties:
ueId:
$ref: ‘TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xUeId’
groupId:
$ref: ‘TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xGroupId’
duration:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/DateTime’
serviceId:
$ref: ‘TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xServiceId’
appRequirement:
$ref: ‘#/components/schemas/ApplicationRequirement’
notifUri:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’
requestTestNotification:
type: boolean
description: >
Set to true by the NF service consumer to request the VAE server to send a test
notification as defined in clause 6.3.5.3. Set to false or omitted otherwise.
websockNotifConfig:
$ref: ‘TS29122_CommonData.yaml#/components/schemas/WebsockNotifConfig’
suppFeat:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/SupportedFeatures’
required:
– serviceId
– appRequirement
– notifUri
ApplicationRequirement:
description: Represents the requirements for application change.
type: object
properties:
serviceLevel:
$ref: ‘#/components/schemas/ServiceLevel’
AppReqNotification:
description: >
Represents a notificaton of the result of the network resource adaptation corresponding to
the V2X application requirement.
type: object
properties:
resourceUri:
$ref: ‘TS29571_CommonData.yaml#/components/schemas/Uri’
result:
$ref: ‘#/components/schemas/ReservationResult’
required:
– resourceUri
– result
# Simple data types and Enumerations
ServiceLevel:
description: Indicates a service level for application service.
anyOf:
– type: string
enum:
– HIGH
– MEDIUM
– LOW
– type: string
description: >
This string provides forward-compatibility with future
extensions to the enumeration and is not used to encode
content defined in the present version of this API.
ReservationResult:
description: >
Represents the result of the network resource adaptation corresponding to the V2X
application requirement.
anyOf:
– type: string
enum:
– SUCCESSFUL
– FAILURE
– type: string
description: >
This string provides forward-compatibility with future
extensions to the enumeration and is not used to encode
content defined in the present version of this API.