> ## Documentation Index
> Fetch the complete documentation index at: https://developer.fin.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Refresh a Token

> Generate a new token pair based on a refresh token.

Exchanges a `refresh_token` received from the [Issue Token](/api-reference/authentication/issue-a-token) endpoint for a new
pair of `access_token` and `refresh_token`

<Note>
  The TTLs returned from this API are actually the time
  that the the token will expire; i.e. not validity in number of seconds
  since creation.
</Note>

<Note>
  The timestamps, i.e. TTLs returned from this endpoint are NOT
  in ISO 8601 format. Rather it is in the format
  `YYYY-MM-DD HH:MM:SS+00`
</Note>


## OpenAPI

````yaml POST /v1/oauth/refresh-token
openapi: 3.1.0
info:
  title: Fin.com API
  version: 1.0.0
  description: A simple API specification
servers:
  - url: https://sandbox.api.fin.com
    description: Sandbox server
  - url: https://api.fin.com
    description: Production server
security: []
tags:
  - name: Authentication
    description: A modified OAuth 2.0 Client Credential Flow
  - name: Customers
    description: Customer management and document upload operations
  - name: Balances
    description: Retrieve wallet balance information
  - name: Catalogue
    description: |
      A set of endpoints to retrieve contextual data to assemble requests
      to fin.com's API
  - name: Beneficiaries
    description: Manage beneficiary accounts for payments and transfers
  - name: Transactions
    description: Transaction history and management for beneficiaries
  - name: Virtual Accounts
    description: Create and manage virtual accounts for USD to USDC conversions
  - name: Fees & FX Rates
    description: Retrieve fees and foreign exchange rates
paths:
  /v1/oauth/refresh-token:
    post:
      tags:
        - Authentication
      summary: Refresh a Token
      description: Generate a new token pair based on a refresh token.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - refresh_token
              properties:
                refresh_token:
                  type: string
                  description: >-
                    The refresh_token received from the [Issue a
                    token](https://developer.fin.com/api-reference/authentication/issue-a-token)
                    endpoint.
      responses:
        '200':
          description: Token issued successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '422':
          $ref: '#/components/responses/ValidationError'
components:
  schemas:
    TokenResponse:
      type: object
      properties:
        access_token:
          type: string
          example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
        access_token_ttl:
          type: string
          format: date-time
          example: '2025-12-28 10:34:45+00'
        refresh_token:
          type: string
          example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
        refresh_token_ttl:
          type: string
          format: date-time
          example: '2025-12-28 10:34:45+00'
        current_time:
          type: string
          format: date-time
          example: '2025-12-21 10:34:45+00'
  responses:
    AuthenticationError:
      description: Authentication failed due to invalid credentials
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Authentication failed
    ValidationError:
      description: Failed due to a formatting error.
      content:
        application/json:
          schema:
            type: object
            required:
              - message
            properties:
              message:
                type: string
              errors:
                type: array
                items:
                  type: object
                  additionalProperties:
                    type: string

````