openapi: 3.0.0
info:
version: 1.0.0
title: VAE_FileDistribution
description: |
API for VAE File Distribution Service
© 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
externalDocs:
description: 3GPP TS 29.486 V16.1.0 V2X Application Enabler (VAE) Services
url: 'http://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:
description: Unexpected error
/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'
'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.
'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:
description: Unexpected error
components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: '{tokenUrl}'
scopes: {}
schemas:
FileDistributionData:
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'
suppFeat:
$ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures'
required:
- fileLists
- geoArea
- maxBitrate
- maxDelay
FileList:
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
FileStatus:
anyOf:
- type: string
enum:
- PENDING
- FETCHED
- PREPARED
- TRANSMITTING
- SENT
- type: string