openapi: 3.0.0 info: version: 1.0.0.alpha-2 title: VAE_ApplicationRequirement description: | API for VAE Application Requirement Service © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.486 V16.0.0 V2X Application Enabler (VAE) Services url: 'http://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, according to the structure: {apiRoot}/vae-app-req/v1/application-requirements/{requirementId}' 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 '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-requirement/{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' '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. '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: 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 subclause 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: type: object properties: serviceLevel: $ref: '#/components/schemas/ServiceLevel' AppReqNotification: type: object properties: resourceUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' result: $ref: '#/components/schemas/ReservationResult' required: - resourceUri - result ServiceLevel: anyOf: - type: string enum: - HIGH - MEDIUM - LOW - type: string ReservationResult: anyOf: - type: string enum: - SUCCESSFUL - FAILURE - type: string