Refresh Access Token

To ensure secure and seamless communication between Yeastar Partner Portal and third-party application, we recommend that you use this interface to generate a new access token before the current one expires.

Request URL

POST {base_url}/auth/openapi/v1/oauth/token

Request parameters

Headers
Parameter Required Description
User-Agent Yes Provide information about the user agent, such as the type of web browser, operating system, software version, etc., so as to help Yeastar Partner Portal to identify the user or the application that is making the request.

Example: User-Agent: OpenAPI.

Content-Type Yes Specify the type of data that is sent in the body of a POST request.

Valid value: multipart/form-data or application/x-www-form-urlencoded.

Body
Parameter Required Type Description
grant_type Yes String The OAuth grant type for refreshing an access token.

Valid value: refresh_token.

refresh_token Yes String The latest refresh_token value.

Response parameters

Parameter Type Description
code String The response message of the API request.
detailMessage String The detailed error information.

When the request is successful, this parameter returns empty.

requestId String The unique ID of the request, which can be used to quickly locate the request.
result Object<Token_Details> Details of the requested tokens.
status Integer The HTTP status code of the API request.
Token_Details
Parameter Type Description
expiresIn String The remaining validity period of the access token (Unit: second).
refreshToken String Refresh token, which can be used to refresh an access token.
token String The authentication credential for API calls. All API requests must include an access token.
tokenHead String The prefix of the access token in the HTTP Authorization header. The value is fixed at Bearer.

Example

Request example

Refresh an access token.

  • Example 1: Request using content type multipart/form-data

    POST /auth/openapi/v1/oauth/token HTTP/1.1
    Host: openapi.partner.yeastar.com
    User-Agent: OpenAPI
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
    
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="grant_type"
    
    refresh_token
    ------WebKitFormBoundary7MA4YWxkTrZu0gW
    Content-Disposition: form-data; name="refresh_token"
    
    eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzMSJdLCJYLU1TLVVTRVIiOiJ7XCJleHByXCI6XCIwXCIsXCJ0eXBlXCI6XCJwYXJ0bmVyXCIsXCJ1Y0lkXCI6XCIzMDc2OTEzNjQ0ODkwODMyODk2XCIsXCJ1c2VyQ29kZVwiOlwiRGlzdHJpYnV0b3JcIixcInVzZXJJZFwiOlwiMzA3NjkxMzY0NDkxNTk5ODcyMFwiLFwidXNlcm5hbWVcIjpcImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbVwifSIsInVzZXJfbmFtZSI6ImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbSIsInNjb3BlIjpbImFsbCJdLCJhdGkiOiIyNkIxVXhEZ1NEc1RadzhPeHFPYkVtSjE2bEU9IiwiZXhwIjoxNzA5Nzk3NjcxLCJ0b2tlbl90eXBlIjoib3BlbmFwaSIsImF1dGhvcml0aWVzIjpbIjc3Il0sImp0aSI6IlkwWHQ4Sm91aEV1WGNZaXM3ZEFTR0lVY1B3dz0iLCJjbGllbnRfaWQiOiJhYzBmMmU1YmVlNzZiNmQ3ZjQ1NDU2OTZjMjRmYzFmMyJ9.l24t48t5iCQ01EToAdgVLsSASF6GFl8wOM-IANEKjho
    ------WebKitFormBoundary7MA4YWxkTrZu0gW--
    Figure 1. Request example in Postman

  • Example 2: Request using content type application/x-www-form-urlencoded

    POST /auth/openapi/v1/oauth/token HTTP/1.1
    Host: openapi.partner.yeastar.com
    User-Agent: OpenAPI
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=refresh_token&refresh_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzMSJdLCJYLU1TLVVTRVIiOiJ7XCJleHByXCI6XCIwXCIsXCJ0eXBlXCI6XCJwYXJ0bmVyXCIsXCJ1Y0lkXCI6XCIzMDc2OTEzNjQ0ODkwODMyODk2XCIsXCJ1c2VyQ29kZVwiOlwiRGlzdHJpYnV0b3JcIixcInVzZXJJZFwiOlwiMzA3NjkxMzY0NDkxNTk5ODcyMFwiLFwidXNlcm5hbWVcIjpcImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbVwifSIsInVzZXJfbmFtZSI6ImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbSIsInNjb3BlIjpbImFsbCJdLCJhdGkiOiI3aWhRdlplVU85VU5XY2Mzem9XVXowVVFUTm89IiwiZXhwIjoxNzA5Nzg5MTk1LCJ0b2tlbl90eXBlIjoib3BlbmFwaSIsImF1dGhvcml0aWVzIjpbIjc3Il0sImp0aSI6IkJSUE85aUYwclplNHMrOGdURThveTh1TlVmTT0iLCJjbGllbnRfaWQiOiJhYzBmMmU1YmVlNzZiNmQ3ZjQ1NDU2OTZjMjRmYzFmMyJ9.pcn0Psd9s9LvMpM-kGA5rJ797XdMMxf0h6-K6UcPxc0
    Figure 2. Request example in Postman

Response example

{
    "code": "success",
    "detailMessage": "",
    "requestId": "dbca491c0d11f309d88569b216e5fbce",
    "result": {
        "expiresIn": 1296000,
        "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzMSJdLCJYLU1TLVVTRVIiOiJ7XCJleHByXCI6XCIwXCIsXCJ0eXBlXCI6XCJwYXJ0bmVyXCIsXCJ1Y0lkXCI6XCIzMDc2OTEzNjQ0ODkwODMyODk2XCIsXCJ1c2VyQ29kZVwiOlwiRGlzdHJpYnV0b3JcIixcInVzZXJJZFwiOlwiMzA3NjkxMzY0NDkxNTk5ODcyMFwiLFwidXNlcm5hbWVcIjpcImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbVwifSIsInVzZXJfbmFtZSI6ImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbSIsInNjb3BlIjpbImFsbCJdLCJhdGkiOiJFeGxmMU5TMW9rdndpbHNhNDRSWVpEY1ZwMkE9IiwiZXhwIjoxNzA5Nzk3NjcxLCJ0b2tlbl90eXBlIjoib3BlbmFwaSIsImp0aSI6IlkwWHQ4Sm91aEV1WGNZaXM3ZEFTR0lVY1B3dz0iLCJhdXRob3JpdGllcyI6WyI3NyJdLCJjbGllbnRfaWQiOiJhYzBmMmU1YmVlNzZiNmQ3ZjQ1NDU2OTZjMjRmYzFmMyJ9.qGdmaYV4by6tQS1ou9jpA6xM7qE-fcOAXhqKCrjzsss",
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzMSJdLCJYLU1TLVVTRVIiOiJ7XCJleHByXCI6XCIwXCIsXCJ0eXBlXCI6XCJwYXJ0bmVyXCIsXCJ1Y0lkXCI6XCIzMDc2OTEzNjQ0ODkwODMyODk2XCIsXCJ1c2VyQ29kZVwiOlwiRGlzdHJpYnV0b3JcIixcInVzZXJJZFwiOlwiMzA3NjkxMzY0NDkxNTk5ODcyMFwiLFwidXNlcm5hbWVcIjpcImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbVwifSIsInVzZXJfbmFtZSI6ImRpc3RyaWJ1dG9yZXhhbXBsZUBvdXRsb29rLmNvbSIsInNjb3BlIjpbImFsbCJdLCJleHAiOjE3MzkxOTc2ODIsInRva2VuX3R5cGUiOiJvcGVuYXBpIiwianRpIjoiRXhsZjFOUzFva3Z3aWxzYTQ0UllaRGNWcDJBPSIsImF1dGhvcml0aWVzIjpbIjc3Il0sImNsaWVudF9pZCI6ImFjMGYyZTViZWU3NmI2ZDdmNDU0NTY5NmMyNGZjMWYzIn0.XFbllmn2MXmkFIZdfFNCJRnEJgLE5RVATEsONcNCqD0",
        "tokenHead": "Bearer "
    },
    "status": 200
}