openapi: 3.0.0 info: version: 1.1.0 title: Nbsf_Management description: | Binding Support Management Service API. © 2020, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.521 V16.4.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: summary: Create a new Individual PCF binding information operationId: CreatePCFBinding tags: - PCF Bindings (Collection) 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': description: The existing PCF binding information stored in the BSF for the indicated combination is returned. content: application/json: schema: $ref: '#/components/schemas/ExtProblemDetails' '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: summary: Read PCF Bindings information operationId: GetPCFBindings tags: - PCF Bindings (Collection) 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: summary: Delete an existing Individual PCF Binding information operationId: DeleteIndPCFBinding tags: - Individual PCF Binding (Document) 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: summary: Update an existing Individual PCF Binding information operationId: UpdateIndPCFBinding tags: - Individual PCF Binding (Document) 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' pcfSmFqdn: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' pcfSmIpEndPoints: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' minItems: 1 description: IP end points of the PCF hosting the Npcf_SMPolicyControl service. snssai: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' pcfId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' pcfSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' recoveryTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' paraCom: $ref: '#/components/schemas/ParameterCombination' bindLevel: $ref: '#/components/schemas/BindingLevel' ipv4FrameRouteList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4AddrMask' minItems: 1 ipv6FrameRouteList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Prefix' minItems: 1 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 pcfId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' 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' ParameterCombination: type: object properties: supi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' dnn: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' snssai: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' ExtProblemDetails: allOf: - $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' - $ref: '#/components/schemas/BindingResp' BindingResp: type: object properties: pcfSmFqdn: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/Fqdn' pcfSmIpEndPoints: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/IpEndPoint' minItems: 1 description: IP end points of the PCF hosting the Npcf_SMPolicyControl service. BindingLevel: anyOf: - type: string enum: - NF_SET - NF_INSTANCE - type: string description: > This string provides forward-compatibility with future extensions to the enumeration but is not used to encode content defined in the present version of this API. description: > Possible values are - "NF_SET" - "NF_INSTANCE"