A.3 VAE_FileDistribution API

29.4863GPPRelease 18Stage 3TSV2X Application Enabler (VAE) Services

openapi: 3.0.0

info:

version: 1.2.0-alpha.1

title: VAE_FileDistribution

description: |

API for VAE File Distribution 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-file-distribution/v1’

variables:

apiRoot:

default: https://example.com

description: apiRoot as defined in clause 4.4 of 3GPP TS 29.501

paths:

/file-distributions:

post:

summary: VAE File Distributions resource create service Operation

tags:

– file distributions collection (Document)

operationId: CreateFileDistributions

requestBody:

content:

application/json:

schema:

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

required: true

responses:

‘201’:

description: File Distribution 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/FileDistributionData’

‘400’:

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

‘401’:

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

‘403’:

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

‘404’:

$ref: ‘TS29122_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’

/file-distributions/{distributionId}:

get:

summary: Get an existing individual file distribution resource

operationId: ReadIndividualFileDistribution

tags:

– Individual File Distribution (Document)

parameters:

– name: distributionId

in: path

description: Identifier of a file distribution resource

required: true

schema:

type: string

responses:

‘200’:

description: OK. Resource representation is returned

content:

application/json:

schema:

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

‘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 File Distribution resource delete service Operation

tags:

– Individual file distribution (Document)

operationId: DeleteFileDistribution

parameters:

– name: distributionId

in: path

required: true

description: Unique ID of the file distribution 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:

FileDistributionData:

description: Represents an individual File Distribution resource for a V2X group ID.

type: object

properties:

groupId:

$ref: ‘TS29486_VAE_MessageDelivery.yaml#/components/schemas/V2xGroupId’

fileLists:

type: array

items:

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

minItems: 1

serviceClass:

type: string

geoArea:

$ref: ‘TS29572_Nlmf_Location.yaml#/components/schemas/GeographicArea’

maxBitrate:

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

maxDelay:

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

localMbmsInfo:

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

localMbmsActInd:

type: boolean

suppFeat:

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

required:

– fileLists

– geoArea

– maxBitrate

– maxDelay

FileList:

description: Represents a file list.

type: object

properties:

fileUri:

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

fileDisplayUri:

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

fileEarFetchTime:

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

fileLatFetchTime:

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

fileSize:

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

fileStatus:

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

completionTime:

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

keepUpdateInterval:

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

uniAvailability:

type: boolean

fileRepetition:

type: integer

required:

– fileUri

– fileDisplayUri

– fileEarFetchTime

– fileLatFetchTime

– fileStatus

– completionTime

– keepUpdateInterval

LocalMbmsInfo:

description: Contains the local MBMS information.

type: object

properties:

mbmsEnbIpv4MulAddr:

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

mbmsEnbIpv6MulAddr:

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

mbmsGwIpv4SsmAddr:

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

mbmsGwIpv6SsmAddr:

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

cteid:

type: string

bmscIpv4Addr:

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

bmscIpv6Addr:

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

bmscPort:

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

# Simple data types and Enumerations

FileStatus:

description: Represents a file status.

anyOf:

– type: string

enum:

– PENDING

– FETCHED

– PREPARED

– TRANSMITTING

– SENT

– 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.