Authorization_code endpoint does not return refresh_token

I’m trying to integrate Coinbase OAuth2 flow based on the documentation. This is the expected response object from Sign in with Coinbase OAuth2 Reference | Coinbase Cloud

Parameter Description
access_token New active access token
token_type Value bearer
expires_in Access token expiration in seconds
refresh_token Refresh token which can be used to refresh expired access token
scope List of permissions applied to given access token

but the API returns:

{
    "access_token": "wpXMf0-n_bUrDUAQNekkZ2VyzRNh_JQdIbYpsYoEqAk.X2hxdURoxO0LUPUrcTKFFWKhwWsPjuhK3U5Ec80DsOI",
    "expires_in": 3600,
    "expired_at": 1713298477, // not included in docs
    "scope": "wallet:accounts:read wallet:transactions:read",
    "token_type": "Bearer" // according to docs this should be lowercase "bearer"
   // missing refresh_token? 
}

My client ID is c3c9bfd4b203ec40f50901a9049f4a407d3d91fdb3be660a17a1bafe475c8542

Hello! You’ll need to request the offline_access scope for the response to include a refresh token - see the last row of this section.