openapi: 3.0.0 info: version: 1.1.0.alpha-2 title: Nbsf_Management description: | Binding Support Management Service API. © 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.521 V16.1.0; 5G System; Binding Support Management Service. url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.521/' servers: - url: '{apiRoot}/nbsf-management/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501. security: - {} - oAuth2ClientCredentials: - nbsf-management paths: /pcfBindings: post: requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PcfBinding' responses: '201': description: The creation of an individual PCF session binding. content: application/json: schema: $ref: '#/components/schemas/PcfBinding' headers: Location: description: 'Contains the URI of the newly created resource, according to the structure: {apiRoot}/nbsf-management/v1/pcfBindings/{bindingId}' required: true schema: type: string '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' get: parameters: - name: ipv4Addr in: query description: The IPv4 Address of the served UE. required: false schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' - name: ipv6Prefix in: query description: The IPv6 Address of the served UE. The NF service consumer shall append '/128' to the IPv6 address in the attribute value. E.g. '2001:db8:85a3::8a2e:370:7334/128'. required: false schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' - name: macAddr48 in: query description: The MAC Address of the served UE. required: false schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' - name: dnn in: query description: DNN. required: false schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' - name: supi in: query description: Subscription Permanent Identifier. required: false schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' - name: gpsi in: query description: Generic Public Subscription Identifier required: false schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' - name: snssai in: query description: The identification of slice. required: false content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' - name: ipDomain in: query description: The IPv4 address domain identifier. required: false schema: type: string - name: supp-feat in: query description: To filter irrelevant responses related to unsupported features schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' responses: '200': description: The individual PCF session binding session binding information resource matching the query parameter(s) is returned. content: application/json: schema: $ref: '#/components/schemas/PcfBinding' '204': description: There is no PCF session binding information matching the query parameter(s). '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' '414': $ref: 'TS29571_CommonData.yaml#/components/responses/414' '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' /pcfBindings/{bindingId}: delete: parameters: - name: bindingId in: path description: Represents the individual PCF Session Binding. required: true schema: type: string responses: '204': description: No Content. The Individual PCF session binding information resource is deleted. '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' patch: parameters: - name: bindingId in: path description: Represents the individual PCF Session Binding. required: true schema: type: string requestBody: description: Parameters to update the existing session binding required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/PcfBindingPatch' responses: '200': description: OK (Successful update of the session binding) content: application/json: schema: $ref: '#/components/schemas/PcfBinding' '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' components: securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{nrfApiRoot}/oauth2/token' scopes: nbsf-management: Access to the Nbsf_Management API schemas: PcfBinding: type: object properties: supi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' ipv4Addr: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' ipv6Prefix: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' addIpv6Prefixes: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' minItems: 1 description: The additional IPv6 Address Prefixes of the served UE. ipDomain: type: string macAddr48: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' addMacAddrs: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' minItems: 1 description: The additional MAC Addresses of the served UE. dnn: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' pcfFqdn: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' pcfIpEndPoints: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' minItems: 1 description: IP end points of the PCF hosting the Npcf_PolicyAuthorization service. pcfDiamHost: $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' pcfDiamRealm: $ref: 'TS29571_CommonData.yaml#/components/schemas/DiameterIdentity' snssai: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' pcfId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' recoveryTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' required: - dnn - snssai oneOf: - anyOf: - required: [ipv4Addr] - required: [ipv6Prefix] - required: [addIpv6Prefixes] - anyOf: - required: [macAddr48] - required: [addMacAddrs] anyOf: - anyOf: - required: [pcfFqdn] - required: [pcfIpEndPoints] - required: [pcfDiamHost, pcfDiamRealm] PcfBindingPatch: type: object properties: ipv4Addr: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrRm' ipDomain: type: string nullable: true ipv6Prefix: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6PrefixRm' addIpv6Prefixes: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' minItems: 1 description: The additional IPv6 Address Prefixes of the served UE. nullable: true macAddr48: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48Rm' addMacAddrs: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' minItems: 1 description: The additional MAC Addresses of the served UE. nullable: true