Loading OpenAPI/TS29510_Nnrf_AccessToken.yaml 0 → 100644 +352 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: version: '1.3.1' title: 'NRF OAuth2' description: | NRF OAuth2 Authorization. © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.510 V18.8.0; 5G System; Network Function Repository Services; Stage 3 url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' servers: - url: '{nrfApiRoot}' variables: nrfApiRoot: default: https://example.com description: > nrfApiRoot represents the concatenation of the "scheme" and "authority" components (as defined in IETF RFC 3986) of the NRF paths: /oauth2/token: post: summary: Access Token Request operationId: AccessTokenRequest tags: - Access Token Request parameters: - name: Content-Encoding in: header description: Content-Encoding, described in IETF RFC 9110 schema: type: string - name: Accept-Encoding in: header description: Accept-Encoding, described in IETF RFC 9110 schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AccessTokenReq' encoding: requesterPlmn: contentType: application/json requesterPlmnList: contentType: application/json requesterSnssaiList: contentType: application/json requesterSnpnList: contentType: application/json targetPlmn: contentType: application/json targetSnpn: contentType: application/json targetSnssaiList: contentType: application/json targetNsiList: style: form explode: true required: true responses: '200': description: Successful Access Token Request content: application/json: schema: $ref: '#/components/schemas/AccessTokenRsp' headers: Cache-Control: $ref: '#/components/headers/cache-control' Pragma: $ref: '#/components/headers/pragma' Accept-Encoding: description: Accept-Encoding, described in IETF RFC 9110 schema: type: string Content-Encoding: description: Content-Encoding, described in IETF RFC 9110 schema: type: string '307': description: Temporary Redirect content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' headers: Location: description: The URI pointing to the resource located on the redirect target NRF required: true schema: type: string '308': description: Permanent Redirect content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' headers: Location: description: The URI pointing to the resource located on the redirect target NRF required: true schema: type: string '400': description: Error in the Access Token Request content: application/json: schema: $ref: '#/components/schemas/AccessTokenErr' application/problem+json: # error originated by an SCP or SEPP schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Cache-Control: $ref: '#/components/headers/cache-control' Pragma: $ref: '#/components/headers/pragma' '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' '501': $ref: 'TS29571_CommonData.yaml#/components/responses/501' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' components: headers: cache-control: required: true schema: type: string enum: - no-store pragma: required: true schema: type: string enum: - no-cache schemas: AccessTokenReq: description: Contains information related to the access token request type: object required: - grant_type - nfInstanceId - scope properties: grant_type: type: string enum: - client_credentials nfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' nfType: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' targetNfType: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' scope: type: string pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' targetNfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' requesterPlmn: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' requesterPlmnList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' minItems: 2 requesterSnssaiList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 requesterFqdn: $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' requesterSnpnList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' minItems: 1 targetPlmn: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' targetSnpn: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' targetSnssaiList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 targetNsiList: type: array items: type: string minItems: 1 targetNfSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' targetNfServiceSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' hnrfAccessTokenUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' sourceNfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' vendorId: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorId' analyticsIds: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' minItems: 1 requesterInterIndList: type: array items: $ref: '#/components/schemas/MlModelInterInd' minItems: 1 sourceVendorId: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorId' AccessTokenRsp: description: Contains information related to the access token response type: object required: - access_token - token_type properties: access_token: type: string description: > JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims) token_type: type: string enum: - Bearer expires_in: type: integer scope: type: string pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' AccessTokenClaims: description: The claims data structure for the access token type: object required: - iss - sub - aud - scope - exp properties: iss: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' sub: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' aud: anyOf: - $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' - type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' minItems: 1 scope: type: string pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' exp: type: integer consumerPlmnId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' consumerSnpnId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' producerPlmnId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' producerSnpnId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' producerSnssaiList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 producerNsiList: type: array items: type: string minItems: 1 producerNfSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' producerNfServiceSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' sourceNfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' analyticsIdList: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' minItems: 1 AccessTokenErr: description: Error returned in the access token response message type: object required: - error properties: error: type: string enum: - invalid_request - invalid_client - invalid_grant - unauthorized_client - unsupported_grant_type - invalid_scope error_description: type: string error_uri: type: string MlModelInterInd: description: ML Model Interoperability Indicator per Analytics Id type: object properties: analyticsId: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' vendorList: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorId' minItems: 1 required: - analyticsId - vendorList Loading
OpenAPI/TS29510_Nnrf_AccessToken.yaml 0 → 100644 +352 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: version: '1.3.1' title: 'NRF OAuth2' description: | NRF OAuth2 Authorization. © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.510 V18.8.0; 5G System; Network Function Repository Services; Stage 3 url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.510/' servers: - url: '{nrfApiRoot}' variables: nrfApiRoot: default: https://example.com description: > nrfApiRoot represents the concatenation of the "scheme" and "authority" components (as defined in IETF RFC 3986) of the NRF paths: /oauth2/token: post: summary: Access Token Request operationId: AccessTokenRequest tags: - Access Token Request parameters: - name: Content-Encoding in: header description: Content-Encoding, described in IETF RFC 9110 schema: type: string - name: Accept-Encoding in: header description: Accept-Encoding, described in IETF RFC 9110 schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AccessTokenReq' encoding: requesterPlmn: contentType: application/json requesterPlmnList: contentType: application/json requesterSnssaiList: contentType: application/json requesterSnpnList: contentType: application/json targetPlmn: contentType: application/json targetSnpn: contentType: application/json targetSnssaiList: contentType: application/json targetNsiList: style: form explode: true required: true responses: '200': description: Successful Access Token Request content: application/json: schema: $ref: '#/components/schemas/AccessTokenRsp' headers: Cache-Control: $ref: '#/components/headers/cache-control' Pragma: $ref: '#/components/headers/pragma' Accept-Encoding: description: Accept-Encoding, described in IETF RFC 9110 schema: type: string Content-Encoding: description: Content-Encoding, described in IETF RFC 9110 schema: type: string '307': description: Temporary Redirect content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' headers: Location: description: The URI pointing to the resource located on the redirect target NRF required: true schema: type: string '308': description: Permanent Redirect content: application/json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/RedirectResponse' headers: Location: description: The URI pointing to the resource located on the redirect target NRF required: true schema: type: string '400': description: Error in the Access Token Request content: application/json: schema: $ref: '#/components/schemas/AccessTokenErr' application/problem+json: # error originated by an SCP or SEPP schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Cache-Control: $ref: '#/components/headers/cache-control' Pragma: $ref: '#/components/headers/pragma' '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' '501': $ref: 'TS29571_CommonData.yaml#/components/responses/501' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' components: headers: cache-control: required: true schema: type: string enum: - no-store pragma: required: true schema: type: string enum: - no-cache schemas: AccessTokenReq: description: Contains information related to the access token request type: object required: - grant_type - nfInstanceId - scope properties: grant_type: type: string enum: - client_credentials nfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' nfType: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' targetNfType: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' scope: type: string pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' targetNfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' requesterPlmn: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' requesterPlmnList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' minItems: 2 requesterSnssaiList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 requesterFqdn: $ref: 'TS29571_CommonData.yaml#/components/schemas/Fqdn' requesterSnpnList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' minItems: 1 targetPlmn: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' targetSnpn: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' targetSnssaiList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 targetNsiList: type: array items: type: string minItems: 1 targetNfSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' targetNfServiceSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' hnrfAccessTokenUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' sourceNfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' vendorId: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorId' analyticsIds: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' minItems: 1 requesterInterIndList: type: array items: $ref: '#/components/schemas/MlModelInterInd' minItems: 1 sourceVendorId: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorId' AccessTokenRsp: description: Contains information related to the access token response type: object required: - access_token - token_type properties: access_token: type: string description: > JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims) token_type: type: string enum: - Bearer expires_in: type: integer scope: type: string pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' AccessTokenClaims: description: The claims data structure for the access token type: object required: - iss - sub - aud - scope - exp properties: iss: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' sub: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' aud: anyOf: - $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/NFType' - type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' minItems: 1 scope: type: string pattern: '^([a-zA-Z0-9_:-]+)( [a-zA-Z0-9_:-]+)*$' exp: type: integer consumerPlmnId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' consumerSnpnId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' producerPlmnId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' producerSnpnId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdNid' producerSnssaiList: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' minItems: 1 producerNsiList: type: array items: type: string minItems: 1 producerNfSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfSetId' producerNfServiceSetId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfServiceSetId' sourceNfInstanceId: $ref: 'TS29571_CommonData.yaml#/components/schemas/NfInstanceId' analyticsIdList: type: array items: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' minItems: 1 AccessTokenErr: description: Error returned in the access token response message type: object required: - error properties: error: type: string enum: - invalid_request - invalid_client - invalid_grant - unauthorized_client - unsupported_grant_type - invalid_scope error_description: type: string error_uri: type: string MlModelInterInd: description: ML Model Interoperability Indicator per Analytics Id type: object properties: analyticsId: $ref: 'TS29520_Nnwdaf_EventsSubscription.yaml#/components/schemas/NwdafEvent' vendorList: type: array items: $ref: 'TS29510_Nnrf_NFManagement.yaml#/components/schemas/VendorId' minItems: 1 required: - analyticsId - vendorList