openapi: 3.0.0 info: title: 3gpp-5glan-pp version: 1.0.0 description: | API for 5G LAN Parameter Provision. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.522 V16.4.0; 5G System; Network Exposure Function Northbound APIs. url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.522/' security: - {} - oAuth2ClientCredentials: [] servers: - url: '{apiRoot}/3gpp-5glan-pp/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause 5.2.4 of 3GPP TS 29.122. paths: /{afId}/subscriptions: get: summary: read all of the active subscriptions for the AF tags: - 5GLAN Parameters Provision Subscriptions parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string responses: '200': description: OK (Successful get all of the active subscriptions for the AF) content: application/json: schema: type: array items: $ref: '#/components/schemas/5GLanParametersProvision' minItems: 0 '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' post: summary: Creates a new subscription resource tags: - 5GLAN Parameters Provision Subscriptions parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string requestBody: description: new subscription creation required: true content: application/json: schema: $ref: '#/components/schemas/5GLanParametersProvision' responses: '201': description: Created (Successful creation) content: application/json: schema: $ref: '#/components/schemas/5GLanParametersProvision' 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' /{afId}/subscriptions/{subscriptionId}: get: summary: read an active subscription for the AF and the subscription Id tags: - Individual 5GLAN Parameters Provision Subscription parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: subscriptionId in: path description: Identifier of the subscription resource required: true schema: type: string responses: '200': description: OK (Successful get the active subscription) content: application/json: schema: $ref: '#/components/schemas/5GLanParametersProvision' '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' put: summary: Updates/replaces an existing subscription resource tags: - Individual 5GLAN Parameters Provision Subscription parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: subscriptionId in: path description: Identifier of the subscription resource required: true schema: type: string requestBody: description: Parameters to update/replace the existing subscription required: true content: application/json: schema: $ref: '#/components/schemas/5GLanParametersProvision' responses: '200': description: OK (Successful deletion of the existing subscription) content: application/json: schema: $ref: '#/components/schemas/5GLanParametersProvision' '204': description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. '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' patch: summary: Partial updates an existing subscription resource tags: - Individual 5GLAN Parameters Provision Subscription parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: subscriptionId in: path description: Identifier of the subscription resource required: true schema: type: string requestBody: required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/5GLanParametersProvisionPatch' responses: '200': description: OK. The subscription was modified successfully. content: application/json: schema: $ref: '#/components/schemas/5GLanParametersProvision' '204': description: Successful case. The resource has been successfully updated and no additional content is to be sent in the response message. '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: summary: Deletes an already existing subscription tags: - Individual 5GLAN Parameters Provision Subscription parameters: - name: afId in: path description: Identifier of the AF required: true schema: type: string - name: subscriptionId in: path description: Identifier of the subscription resource required: true schema: type: string responses: '204': description: No Content (Successful deletion of the existing subscription) '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' components: securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: {} schemas: 5GLanParametersProvision: type: object properties: self: $ref: 'TS29122_CommonData.yaml#/components/schemas/Link' 5gLanParams: $ref: '#/components/schemas/5GLanParameters' suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' required: - 5gLanParams - suppFeat 5GLanParametersProvisionPatch: type: object properties: 5gLanParamsPatch: $ref: '#/components/schemas/5GLanParametersPatch' 5GLanParameters: type: object properties: exterGroupId: $ref: 'TS29122_CommonData.yaml#/components/schemas/ExternalGroupId' gpsis: type: object additionalProperties: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' minProperties: 1 dnn: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' aaaIpv4Addr: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' aaaIpv6Addr: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' aaaUsgs: type: array items: $ref: '#/components/schemas/AaaUsage' minItems: 1 snssai: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' sessionType: $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSessionType' appDesps: type: object additionalProperties: $ref: '#/components/schemas/AppDescriptor' minProperties: 1 required: - exterGroupId - gpsis - dnn - snssai - sessionType - appDesps 5GLanParametersPatch: type: object properties: gpsis: type: object additionalProperties: $ref: 'TS29571_CommonData.yaml#/components/schemas/GpsiRm' minProperties: 1 appDesps: type: object additionalProperties: $ref: '#/components/schemas/AppDescriptorRm' minProperties: 1 AppDescriptor: type: object properties: osId: $ref: 'TS29519_Policy_Data.yaml#/components/schemas/OsId' appIds: type: object additionalProperties: $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' minProperties: 1 required: - osId - appIds AppDescriptorRm: type: object properties: appIds: type: object additionalProperties: $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationIdRm' minProperties: 1 AaaUsage: anyOf: - type: string enum: - AUTH - IP_ALLOC - type: string description: > This string identifies the usage of secondary authentication/authorization, and/or UE IP address allocation from the DN-AAA server. description: > Possible values are - AUTH: secondary authentication/authorization needed from DN-AAA server - IP_ALLOC: UE IP address allocation needed from DN-AAA server