github.com/free5gc/openapi@v1.0.8/Nnrf_AccessToken/api/openapi.yaml (about) 1 openapi: 3.0.0 2 info: 3 description: NRF OAuth2 Authorization 4 title: NRF OAuth2 5 version: 1.0.0 6 externalDocs: 7 description: 3GPP TS 29.510 V15.2.0; 5G System; Network Function Repository Services; Stage 3 8 url: http://www.3gpp.org/ftp/Specs/archive/29_series/29.510/ 9 servers: 10 - url: / 11 paths: 12 /oauth2/token: 13 post: 14 operationId: AccessTokenRequest 15 requestBody: 16 content: 17 application/x-www-form-urlencoded: 18 schema: 19 $ref: '#/components/schemas/AccessTokenReq' 20 required: true 21 responses: 22 200: 23 content: 24 application/json: 25 schema: 26 $ref: '#/components/schemas/AccessTokenRsp' 27 description: Successful Access Token Request 28 headers: 29 Cache-Control: 30 $ref: '#/components/headers/cache-control' 31 Pragma: 32 $ref: '#/components/headers/pragma' 33 400: 34 content: 35 application/json: 36 schema: 37 $ref: '#/components/schemas/AccessTokenErr' 38 description: Error in the Access Token Request 39 headers: 40 Cache-Control: 41 $ref: '#/components/headers/cache-control' 42 Pragma: 43 $ref: '#/components/headers/pragma' 44 summary: Access Token Request 45 tags: 46 - Access Token Request 47 components: 48 headers: 49 cache-control: 50 explode: false 51 required: true 52 schema: 53 enum: 54 - no-store 55 type: string 56 style: simple 57 pragma: 58 explode: false 59 required: true 60 schema: 61 enum: 62 - no-cache 63 type: string 64 style: simple 65 schemas: 66 AccessTokenReq: 67 properties: 68 grant_type: 69 enum: 70 - client_credentials 71 type: string 72 nfInstanceId: 73 format: uuid 74 type: string 75 nfType: 76 $ref: '#/components/schemas/NFType' 77 targetNfType: 78 $ref: '#/components/schemas/NFType' 79 scope: 80 pattern: ^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$ 81 type: string 82 targetNfInstanceId: 83 format: uuid 84 type: string 85 requesterPlmn: 86 $ref: '#/components/schemas/PlmnId' 87 targetPlmn: 88 $ref: '#/components/schemas/PlmnId' 89 required: 90 - grant_type 91 - nfInstanceId 92 - scope 93 type: object 94 AccessTokenRsp: 95 example: 96 access_token: access_token 97 scope: scope 98 token_type: token_type 99 expires_in: 0 100 properties: 101 access_token: 102 description: JWS Compact Serialized representation of JWS signed JSON object (AccessTokenClaims) 103 type: string 104 token_type: 105 type: string 106 expires_in: 107 format: int32 108 type: integer 109 scope: 110 pattern: ^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$ 111 type: string 112 required: 113 - access_token 114 - token_type 115 type: object 116 AccessTokenClaims: 117 properties: 118 issuer: 119 format: uuid 120 type: string 121 subject: 122 type: string 123 audience: 124 anyOf: 125 - $ref: '#/components/schemas/NFType' 126 - items: 127 $ref: '#/components/schemas/NfInstanceId' 128 minItems: 1 129 type: array 130 scope: 131 pattern: ^([a-zA-Z0-9_-]+)( [a-zA-Z0-9_-]+)*$ 132 type: string 133 expiration: 134 format: int32 135 type: integer 136 required: 137 - audience 138 - expiration 139 - issuer 140 - scope 141 - subject 142 type: object 143 AccessTokenErr: 144 properties: 145 error: 146 enum: 147 - invalid_request 148 - invalid_client 149 - invalid_grant 150 - unauthorized_client 151 - unsupported_grant_type 152 - invalid_scope 153 type: string 154 error_description: 155 type: string 156 error_uri: 157 type: string 158 required: 159 - error 160 type: object 161 NfInstanceId: 162 format: uuid 163 type: string 164 NFType: 165 enum: 166 - NRF 167 - UDM 168 - AMF 169 - SMF 170 - AUSF 171 - NEF 172 - PCF 173 - SMSF 174 - NSSF 175 - UDR 176 - LMF 177 - GMLC 178 - 5G_EIR 179 - SEPP 180 - UPF 181 - N3IWF 182 - AF 183 - UDSF 184 - BSF 185 - CHF 186 - NWDAF 187 type: string 188 PlmnId: 189 properties: 190 mcc: 191 pattern: ^\d{3}$ 192 type: string 193 mnc: 194 pattern: ^\d{2,3}$ 195 type: string 196 required: 197 - mcc 198 - mnc 199 type: object 200 Mcc: 201 pattern: ^\d{3}$ 202 type: string 203 Mnc: 204 pattern: ^\d{2,3}$ 205 type: string