How to implement Authentication

We will be using JWTs as the standard for authentication. If you are not familiar with JWTs, please see https://jwt.io/introduction/

How to use JWTs’ access_token ?

  • Key placed in request header is x-access-token
  • header['x-access-token'] = YOUR_JWT

How to implement avatar_url ?

You can implement this feature through Gravatar document http://en.gravatar.com/site/implement/

Should I implement all response header?

You don’t need to implement these things(ETag, X-Request-Id) in response header. We only verify the response body and status.

Caution:

  • Every access_token expires after 10 minutes. Once the access_token expires, you can use POST refresh API with refresh_token to get a new access_token

AccessTokens

Refresh JWT

Endpoint

POST /access-tokens/refresh

Parameters

Name Description
refresh_token required Refresh token of the existing user

Request

Route

POST /access-tokens/refresh

Headers

Content-Type: application/json
Host: example.org
Cookie: 

Body

{
  "refresh_token": "the-token-str-2"
}

Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
Vary: Accept-Encoding, Origin
ETag: W/"936906b8f219227212562609273a8034"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: f3b7b569-5d5a-42c9-a8cf-5395a0adbdba
X-Runtime: 0.023081
Content-Length: 835

Body

{
  "jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE1NTM2NTg1MjYsImlkIjoidGcyYjlrbzNuIiwiZW1haWwiOiJlbWFpbC0zQHRlc3QuY29tIiwibmFtZSI6Im5hbWUtMyJ9.ywtNfm8wroPwqBqkmxfTWcYu-vMdbA6wi-x6IkxBT9HdZHFMm2idvXnMFiaeR4e-xio2cN0UdWqT8w9rctod8DuotextP1a_kWsqe7HlBdgyWMrentORgKNxtf9ORS40NDBH9LkJpoT_4StlFwuX4lN5dTPBOt042cpykoG53VO6ue668RzdRlKuj71L6Fx66aRLRJy-csnm9rTsW2kbwTShNbbEBzCYbOSvk0q5bm4ei6HfCJejb0PqV1Wi2dI06NomPUohoWmSjncdCWEihKdaJaNKl7aS5pUU5qvU-y2UtC0WnL0fmzrOoCS2VxQXvheJoyAU7KjcXVp1OY7nKqJ1kXod6Fx9JwdG-BLl_H34Shlx0S6ySi95tuB3MIoft2iXTZAlvzEKdIWAiYD8cjKHdnJF6wFE8QUOB0xbEA92gOOqp9yznp6pHbPmzpDQBsHyV292MMkctTycfMHRmbrL63M1Kfk0qpJrhgmB5szBYfUDpLXSVDaV2IQZXSPYuwzlc-ZJeqOrTD729qxSlg9HDqIPAzkBThUqTAJypxGS2LQ2x6eF19CU0efmZ3y-FGFxcsCWduPM8_oG9CR8cB6g8g05gcB8bZsCLITOuzy0vHpwAV2Z8lvWNTLKxiivayxybrAq85VOkDsH4EbedmAvnE5NbRt7gMKnTUmUX14"
}

User login

Endpoint

POST /access-tokens

Parameters

Name Description
email required Email of the existing user
password required Password of the existing user

Request

Route

POST /access-tokens

Headers

Content-Type: application/json
Host: example.org
Cookie: 

Body

{
  "email": "email-1@test.com",
  "password": "the-Secret-123"
}

Response

Status

201

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
Vary: Accept-Encoding, Origin
ETag: W/"b5dd2541e48c07f8bf53f9d056ccea70"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 724055ec-7e71-4aaa-ab2e-263aed1b8b42
X-Runtime: 0.152713
Content-Length: 954

Body

{
  "jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE1NTM2NTg1MjYsImlkIjoidGcyYjljaTY5IiwiZW1haWwiOiJlbWFpbC0xQHRlc3QuY29tIiwibmFtZSI6Im5hbWUtMSJ9.KkvTgzzfwfn28fXxxLWdaUYER1xSxQ7uLQwFsYkJzOZYAJ-NXmaSDu3xymQJLcVRCpvmOC8mC9_k6_I3inH8en3h9gBr1AI5kkDYz1w2poh1cmUkOEdrECMCx_tD5d-0z3vVm7g2IcsLnVzOIrATeuKulZ_aDV_aO1VEDzM-XLEVPxVa3yWLPxM1Z8dzmRSeyUHkNMAJjzawNFnPsxR_ykfMEAUj2EAarKY1diQXm0tddgkF_b0oC-kIeS9Po0haTqPGLlmsgVnteXwo1ftvUUgUDx7lDxFnEhdwJqTpo1JHjNFiHwF9Zoi7GtORk6_6dlyjUGGA_eoSAMjnaqJU2TxARsdI8mshNPAxE1eRcDa6hXoHRUmIzEISI04L2H51v70Xu5PVgDQ6yv0JJcvlrhqpdHvIG636JnnEoo3yXw8y-90IOUizRwJr1R2MafkohHWwq7AuW1UzBm-vjBuoUr8S_oT5RjWf-qmaUhB76cd9PRnRXsl8nxhgXzdpSHC52PSd2SYD599jKFrV9mcAqo7IM2WEWvCkhThf09vSr890CfiUwSqrPliWEeEiAHvGIM9mnVT3PkFZOApshcWWwcoG4nKxrztWJdyY4pkgDOhJ6TCEK1xzGFfOM_YP4nmy2y-9DkjI4HRQCyV9WYSf0Xg-j6a0VnuWrPp12EnNVM8",
  "refresh_token": "c9e30dae5fcb92a02a01545c73ce5bc4f42b6a23b15facd36fd3fa4dbca9b30d1f220268008b414aaa1e09b011e718e305d9"
}

User logout

This API will logout current user, you should delete refresh_token in your data store.

Endpoint

DELETE /access-tokens

Parameters

Name Description
refresh_token required Refresh token for the existing user

Request

Route

DELETE /access-tokens

Headers

Content-Type: application/json
X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE1NTM2NTg1MjYsImlkIjoidGcyYjlpZDR5IiwiZW1haWwiOiJlbWFpbC0yQHRlc3QuY29tIiwibmFtZSI6Im5hbWUtMiJ9.y2pvmUeJCTEOSPM6JWfjDZf2tE1kzz1wIeOtMfEojGbwwMCerjiTnM_qfe-2lTPE9SuxLE55zllV9Mol5wjIYS9_JFo68PkDsSWAuZ8uE8UeBv1dOK2aiHvy4fr6DXOasRrWEd_zLwREfebsvrPq64rsksTgK2AWtnHkvlEA47eXc2RYeM75bctNdKUxsW85rshTtDnFEFT7UldRnbASDg03mpw8C8SHh1QW81RiVG8nRNNDOvrCWOCkHTPs1CsRtp-Ip9E_o4YZrMFRdPeXlm6zmj78Vp9XF49uVnVjcPSb1oNfq5h-p2n6QTdxFSFISlZ50mb0wb6sACd-ujTNrUXOhzflNJWVpP3O9ucR1BPoNLrqPkxIhvSSiMxeXTM1ZQtZwdNYsiiQ7WPDoY1lcVi5WKQbTflLBT1fn-HoQaiWFqOXc9-3-4sXog0LR17qqtRluQdX53JKIHgfBObQJTgOhOlxoihIkfm9NbqLiebPnItHa8rL4haXKkOVNPED8mXMn9ViWdKlWf-oA07Riw9ZwJh1f_rRDqKM-fwrfwDaI_Rs75I6RPIodQ8kUgE3l43nkfAEDdHHV9GI37nKndoJo7gPEhNkTFWhBhZy1xxwBr3SYZECkoEN4zZLe2G9VUZLxdPqwK8lQR7g9vLFUlpyGgUyxm0VvAH96760Mx0
Host: example.org
Cookie: 

Body

{
  "refresh_token": "the-token-str-1"
}

Response

Status

204

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Cache-Control: no-cache
X-Request-Id: bed49d58-1aa3-4182-9f5f-fa534266ee95
X-Runtime: 0.014829
Vary: Origin

Current User

Get current user's info

Endpoint

GET /me

Request

Route

GET /me

Headers

Content-Type: application/json
X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE1NTM2NTg1MjYsImlkIjoidGcyYjluMWZvIiwiZW1haWwiOiJlbWFpbC00QHRlc3QuY29tIiwibmFtZSI6Im5hbWUtNCJ9.SISg2j60UFB9sah35FJQ3dIYr3QHGYvVuBRY2r6Urab-Z5DXFps3_DaoVh5wk9YksmnU6yoJd1aQ9yLyKw7So8aw1277GPmnlRXRKjKkrsI4lmMQgsdtGxTSQ9h2IvUD3_91J6Fs6O3jUPv9en1D6KuE8Dpx880gyJ2M1wSdEYRmjlgRE2uEY4-H6AMSgTyTj2pQis7icJWeQOiKDZUYa-R3FQ56qe-cwUkOKKx2n3WHu3Y_Tjs25vov9daDHvFbANIA29_nBFR9-rxv5ir9mFtXnSU4ym4vwPcyd-NYe5NzCacrb0ILEefBjeHD_Sc67-CQbJD9vtTGMKUezz8hu_HugebfZyyM9gzZNmq_GrDBTqVGw_plgWgPUo5t_XsWgHy5hBiZERNCESnfZ71AzVGWnkfqhXe-7ZXQDr8dqKvJA3O4B0acrsPXb1-T6os6yZL8hianJ5q7uyqAwFfd__FI1SXg7kLU2FNVUgjlbE4kHMlBGzz16EjMqqqxHLbiP7NBcCNOLuccaUDOWgv4lb0Yvsa_jsxkVgzNYzSIGdoDoJmWaEmCVP4e8mCf_8QyHDtq_WWUvHc5jqpkzGCineEQN2O4zhezFzibFiv65AP4GNEj63xGJcIMrZTzgGVoreymqOQNnGn-HwNty4yv3Rnfs9QMjAcFANK-nxhXvp4
Host: example.org
Cookie: 

Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
Vary: Accept-Encoding, Origin
ETag: W/"c547b0fe6f7c536c5c20e89d364678a0"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 97849d06-3125-48e7-94cb-edb79d153c8b
X-Runtime: 0.048944
Content-Length: 140

Body

{
  "email": "email-4@test.com",
  "name": "name-4",
  "avatar_url": "https://www.gravatar.com/avatar/b36aafe03e05a85031fd8c411b69f792?d=mm&s=200"
}

Ideas

Create idea

Endpoint

POST /ideas

Parameters

Name Description
content required Content (maximum 255 characters)
impact required Impact score (requires integer between 1 to 10, 10 being the highest impact)
ease required Ease score (requires integer between 1 to 10, 10 being the easiest to implement)
confidence required Confidence score (requires integer between 1 to 10, 10 being the most confident)

Request

Route

POST /ideas

Headers

Content-Type: application/json
X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE1NTM2NTg1MjcsImlkIjoidGcyYjlxMmgxIiwiZW1haWwiOiJlbWFpbC01QHRlc3QuY29tIiwibmFtZSI6Im5hbWUtNSJ9.FZEsf_nrJB0Ot28h_7mktZlHvsGFWylg93YkRZbilvylleEG9occqQFRAn912xI1Zw97EwNfXUs9HQqUfU9hJ5ckPWTHHbL4LgItiPKed3ldEkNWzSLWzV4xicjc5PgmtA7gVg2Jp0qwQI6oH56cl9_6OVpq6OscLdvPq6WdZvl_NwG4DxZcZ-4pD3NUsRJvyKTVFZeO2MKBocWECKYFuVwef4kuAhWL4LV9c9LO4EaNzBP6zdMXHYMwDIKEpAKHgCTZTv2nX83NolfuG8U-w0xeLbsXEP1-waJEsEJ0eNSdXNy3bMKunnVRB-YVaSq_UorvmxaDuYc1CJw9HtuNqe4FcTHYL4qck16mPjVqvDfF9K3VfLd3zTxHrv74-Je12UIfMW9wPQ6UtaVyO1EebGtsUBZ8LpXW4Tcrvo3Y9Z90yWO07u3i2Yfx-i8oH75AsKWVLe30fwMvkuwqSKphW_mu9BykRgDQVtpbyRGt8YT_ZluaGSEfjX3_o_GCPMo-H_W6hQDfvOT336BirnkVFUlklBoJCH6q0LBF5DuwwFfHIumhaLgVV5fhpna5Y6VlcCrKBZ3deLmK-3Wlxfv_w-3trpY_sepftq4b_M2L_7AwBRsMcuoyA4JERGqp1cifno6vePIfcjHuK4KHkiUpGtaObpZwN9eIsN6YqpvnliU
Host: example.org
Cookie: 

Body

{
  "content": "the-content",
  "impact": 8,
  "ease": 8,
  "confidence": 8
}

Response

Status

201

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
Vary: Accept-Encoding, Origin
ETag: W/"21361a08b566a38605dc8894be90272a"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 0528aa47-9611-45ad-8f34-d56d8b1a2bfc
X-Runtime: 0.064171
Content-Length: 121

Body

{
  "id": "tg2b9rh1i",
  "content": "the-content",
  "impact": 8,
  "ease": 8,
  "confidence": 8,
  "average_score": 8.0,
  "created_at": 1553657927
}

Delete idea

Endpoint

DELETE /ideas/:id

Request

Route

DELETE /ideas/tg2b9xuyy

Headers

Content-Type: application/json
X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE1NTM2NTg1MjcsImlkIjoidGcyYjl4bGhsIiwiZW1haWwiOiJlbWFpbC03QHRlc3QuY29tIiwibmFtZSI6Im5hbWUtNyJ9.1FQr-DslxD3SwbvwI7QQJHJZGSyykzA4QvZBRjSDdjh5XgJo2EEfyi3TXUFe8MSWQzpvAJZY78ue3qv2FBQkZBlBR-zzgMDa9HAKObmZEP4OOZwyVMLGNGps2pR69je4SLH-fwa27WKXTYm9ehYnRUBc__7dt2yULoygstNKNvMk9X-1prjNoyoHdOPrzqn6C-gIK2ZSkkvUI2V_F0sLZFhxV7a9goLjuXVifXNVvC2Y25Ub4m7DyKhHPDP8vLLpKMzZL_b0MNAyXcj1XwZstx-ZZ2kAvMJeT-ptK-Wjve64zMQvmWbj6NRe3aSVJNKLGUbEhIHZjX4PYRGcuNCaAd8LWXq2nFSkHJc_1rqkyXnO6bnIbatn1JdeTt3ZTsKcBCuymcwauSXj3xLx-38Bl7YZoy0VdcQyVAXGJGRI4p8kdT7nZVSrnmim4tQCn5zNB_wovqiuNuMaeEIMSVyh8-KGp3iumCH3cT4VkAUdQpoEXiyPJdogfBvXrg6dftMU7J_k06S28fKbK9eRga_XU5RRRsDTqFRD6MGBZsMCFRzGNOrx23QxXUqDPWnUmKyVANtAUZvTQc_TZYLcvDHWwZ25-iG5tOprD9ib30nFsjlR9eLduijcqQa8jXwzWgiIxwiNblLqZDMT5Sc8okt_XjuUxe5j4FNWlN_zR8AotWs
Host: example.org
Cookie: 

Response

Status

204

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Cache-Control: no-cache
X-Request-Id: 8a000680-f18b-47b1-b8a5-3a075b7c26d0
X-Runtime: 0.017896
Vary: Origin

Get a page of ideas (1 page = 10 ideas)

Endpoint

GET /ideas

Parameters

Name Description
page A single page of ideas (integer > 0)

Request

Route

GET /ideas?page=1

Headers

Content-Type: application/json
X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE1NTM2NTg1MjcsImlkIjoidGcyYmEwOXZ2IiwiZW1haWwiOiJlbWFpbC04QHRlc3QuY29tIiwibmFtZSI6Im5hbWUtOCJ9.p4XoW6a09O56oLIUgGXi6RRf_5cCzcbc8tEgFA7fTW1_deBHk6eyk9hhanEaeE6ywghtZJpFk9Mzf2xpdCkRdCeyOcg7OUUnbikJ0-O6P36JCmPEt8ngC3uaU54JbwnCEwEq1s8Hgr2f_xbVpIpjeNr4L1J2oFnE3YikLmpFfYC4ICyAsaxvdUoFp8ZI-aFMZ0EmKppcu-ZYHvJvTlCenpQjBBsT0-_QGDPiAg-4cdgG3WryG0h9I091r5R0_h_am6HADaJdQ0jWAX53QrFrtIRHUo-l6gSRLdv5Ya3ykDws4JuBUskC3oYqSOrt1z8GYafUTzxCR_462aUUjsKiSH_-tW7PUI2ihPUsAIeSfMmzLsw6RaAbHjNeQ4JVMepkW24n8KJZGi_FXWwU9VKGsVyzbx8-OcchHKgeljGowWj6pzbYWkWwF7p_jf8NyIMGx_vnO1HfCxSTAkQ6N0r1W1FEK_-__6GPEQ3t-dTBe0GVfD2uDmgoac4we2lda1iZpVXmoHtr8oXKyvJ_Gyt8y7JFTyM5OeQP7b_FEu7hWEDOXlvwCSiY8RYK4lmnr7MSmM81O-yQwFLoCIxiug65SZ6Zq5FFF5ZGRF2-iWq4BRgeTvGnjshWm7lRHDUVCIHRAXSFCodQKOtpVo9cyyq2Pl8woxjMLohNUdNyKZx0pbk
Host: example.org
Cookie: 

Query Parameters

page=1

Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
Vary: Accept-Encoding, Origin
ETag: W/"e799e5905ac2345344d596b367c377a7"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: bf71b297-918c-4ec7-9828-89a341c0f01e
X-Runtime: 0.016999
Content-Length: 395

Body

[
  {
    "id": "tg2ba0r9q",
    "content": "the-content",
    "impact": 3,
    "ease": 8,
    "confidence": 8,
    "average_score": 6.333333333333333,
    "created_at": 1553657927
  },
  {
    "id": "tg2ba0mj1",
    "content": "the-content",
    "impact": 2,
    "ease": 8,
    "confidence": 8,
    "average_score": 6.0,
    "created_at": 1553657927
  },
  {
    "id": "tg2ba0hsc",
    "content": "the-content",
    "impact": 1,
    "ease": 8,
    "confidence": 8,
    "average_score": 5.666666666666667,
    "created_at": 1553657927
  }
]

Update idea

Endpoint

PUT /ideas/:id

Parameters

Name Description
content required Content (minimum 1 character, maximum 255 characters)
impact required Impact score (requires integer between 1 to 10, 10 being the highest impact)
ease required Ease score (requires integer between 1 to 10, 10 being the easiest to implement)
confidence required Confidence score (requires integer between 1 to 10, 10 being the most confident)

Request

Route

PUT /ideas/tg2b9tv60

Headers

Content-Type: application/json
X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE1NTM2NTg1MjcsImlkIjoidGcyYjl0amJiIiwiZW1haWwiOiJlbWFpbC02QHRlc3QuY29tIiwibmFtZSI6Im5hbWUtNiJ9.YkTk3LMsAeD4iozuGLCIheaeTnmeQg9tdpoVBokww6MQamYVSbk3GK-c40GH44sAVQsUSvEepFxRMmkauIKCOynYd0meXsJugNmCnJhOwYfdGnHxntOWkAkctktaa3hXevuA68uRxeHawiVqIZSCRFXCjynfmb9-FhwysjC1HhsBOIplH6iZj_pTOdxkoYsXLo_VUuo1ZjkEArxyFdbDG-FliBfpM4XK7D6qyWH8arkUbt-Eo74lVcGGyxbSMwSANoF2coon_axqwn2JmNys3ZXVlAODPe5ezVQbzmWQjSCxh8t7EA83kz4o_8EDp73DXPU1sUhC9OfYUihoInlJRi4MO9AWweocj1DsUpUV7GbbRTY8xOonAQ5nNhLoZ_2c2ucYy9pjYDTd1Xm7NrOMfx99bgKYjmtmZF2B2bwyM61JWmWAn9rmudEnZxJy8LEmOULtHE6CgW5JyzoxD5UtzyLBQIj5tzKjvoU4lh0DdEkFEvIFEj91Cu_mnVqGVbUBm7VN-gJYl_yoHdl8bCT2pYbuIl1Tl9Xi4LrAHfwsD3W_0wsWwqyNLiUYFpmMR3leMp0lIRJ5balXKLgeSl5dpz8-gjfb_CSFy95crekuCtI1PkbTQLHjwtfnxbZhQxI998bM5SoU9gJMPMIHUR38CblAaI0pLRo3A6et0tN4O2o
Host: example.org
Cookie: 

Body

{
  "content": "the-content",
  "impact": 8,
  "ease": 8,
  "confidence": 8
}

Response

Status

200

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
Vary: Accept-Encoding, Origin
ETag: W/"a442e31afea0c8529bc1a496a416e682"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: b902e17d-5c47-469f-a7ad-20cc58ea255a
X-Runtime: 0.056878
Content-Length: 121

Body

{
  "id": "tg2b9tv60",
  "content": "the-content",
  "impact": 8,
  "ease": 8,
  "confidence": 8,
  "average_score": 8.0,
  "created_at": 1553657927
}

Users

Signup

Endpoint

POST /users

Parameters

Name Description
email required Email
name required Full name
password required Password (at least 8 characters, including 1 uppercase letter, 1 lowercase letter, and 1 number)

Request

Route

POST /users

Headers

Content-Type: application/json
Host: example.org
Cookie: 

Body

{
  "email": "jack-black@codementor.io",
  "name": "Jack Black",
  "password": "the-Secret-123"
}

Response

Status

201

Headers

X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
Vary: Accept-Encoding, Origin
ETag: W/"d2db0d539e79fb6be061cd886b930a10"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: e20c4c4d-c936-4767-b6d0-7871afe2d9c1
X-Runtime: 0.082393
Content-Length: 970

Body

{
  "jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJleHAiOjE1NTM2NTg1MjcsImlkIjoidGcyYmEzZm56IiwiZW1haWwiOiJqYWNrLWJsYWNrQGNvZGVtZW50b3IuaW8iLCJuYW1lIjoiSmFjayBCbGFjayJ9.VGOFDUQS9F7W174Q9SbVJGh6HFRyhpiJGDwX2xCGL-kg2pcRKdLJTuDX_3HmN520d-oHQ0KXEFwf9SviXieRmNzLGU_nl0_hI1oEINFN9HO9uBI7ikQ6nU1lloNuUsHG4HVCXA4qjUeiGCOZPZKW6Dy72smitCdo5mmzAuHx5RQzepRcP-H0fYhIEMFwnGI3ybnXbutUJZfWtVfTOnWWS871DaVk_8HueXA9I0SW1qD89KVcAUlqJmCbdPXnhsJHEXlSWpgdoMRGmrtcGVtbqGij0sEjVLZNfUuR2HhGL8caR0PwY_AgPKmnwwHtuTsW9M48R__lsPG6AtpfDZuLQ3G2ivNplhs1C60hTHASBa-qM40St6rP7M_7-w907Q1asUXORJIJhH-BPaWzeclpg6WAewb3wU3006i2Bq3T1CPyrOy4eIuzMHytkd_kGfgdJ_3mKztgBpxbLCDkVCoq3vcRRQEkJ4iGxdnCqvoB5_PT6I-FofNrkBsSl46emnB-MHgs5AeNza0vjqJZ-1wOeeYTozLXOIZKRosKCLqB7lNl2NfwgrUloE70V4xPhG2pqhm9wentyZ9XpUNyGTA57rQsW1jeaAs3vz065KPeOBo8iT6xceTC6XgMIw-HnArcfPKK323eLID8qOciTuxQVK2ioHHDzJf2ArX6deS8Yek",
  "refresh_token": "64a6af92cd778af615a06cc47ab3c886927cd8633b5ec37787503cea32fa5023eba91e7e42b49f3b8bdb996b0ba34344bfb6"
}