---
updatedAt: 2026-07-17T18:00:07.000Z
---

Fetch the complete documentation index at: https://developers.pismo.io/pismo-docs/llms.txt. Use this file to discover all available pages before exploring further.

# Get exchange rates

Returns exchange rates with paging and filter options

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Platform setup - Rates and fees",
    "description": "Rates and fees API endpoint documentation.",
    "contact": {
      "name": "API Support",
      "url": "https://developers.pismo.io/support/"
    },
    "license": {
      "name": "Copyright Pismo"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://sandbox.pismolabs.io/rates",
      "description": "Sandbox API server for testing"
    }
  ],
  "tags": [
    {
      "name": "Exchange rates",
      "description": "Exchange rate endpoints."
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "components": {
    "parameters": {
      "AuthNoAccount": {
        "name": "Authorization",
        "in": "header",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "Access token, not an account-specific token. Tokens can expire quickly, which can result in an <b>401 Unauthorized</b> message\n"
      },
      "ProgramIDquery": {
        "in": "query",
        "name": "programId",
        "description": "Pismo program ID filter",
        "required": false,
        "schema": {
          "type": "integer"
        }
      }
    },
    "schemas": {
      "Error": {
        "type": "object",
        "properties": {
          "error_code": {
            "type": "string",
            "example": "RCAPI-DOMAIN-VIOLATION",
            "description": "Error code ID."
          },
          "message": {
            "type": "string",
            "example": "Internal server error",
            "description": "Error description."
          }
        }
      },
      "Exchange": {
        "type": "object",
        "required": [
          "exchange_rate_id",
          "origin",
          "destination",
          "program_id",
          "conversion_rate",
          "spread",
          "exchange_rate",
          "created_date",
          "date",
          "hour"
        ],
        "properties": {
          "exchange_rate_id": {
            "type": "number",
            "description": "Exchange ID",
            "example": 1845
          },
          "origin": {
            "type": "string",
            "description": "Origin ISO 4217 currency code.",
            "example": "032"
          },
          "destination": {
            "type": "string",
            "description": "Destination ISO 4217 currency code.",
            "example": "968"
          },
          "program_id": {
            "$ref": "#/components/schemas/ProgramID"
          },
          "conversion_rate": {
            "type": "number",
            "description": "Fee charged for the conversion as decimal number.",
            "example": 4.8
          },
          "spread": {
            "type": "number",
            "description": "Day rate multiplier to two decimal places (hundredths), 1.05 = 1.05%, 15 = 15%, and so on.",
            "example": 1.05
          },
          "exchange_rate": {
            "type": "number",
            "description": "Wholesale exchange rate amount in the destination currency as decimal number.",
            "example": 4.8
          },
          "created_date": {
            "type": "string",
            "description": "Exchange rate created date.",
            "example": "2022-04-25 17:55:02"
          },
          "date": {
            "type": "string",
            "description": "Exchange rate start date, format = yyyy-mm-dd.",
            "example": "2022-04-25"
          },
          "hour": {
            "type": "string",
            "description": "Exchange rate start time, format = hh:mm:ssZ.",
            "example": "18:25:43Z"
          },
          "apply_fees_without_spread": {
            "type": "boolean",
            "description": "Flag that indicates whether spread should be disconsidered in exchange transactions when calculating fee model taxes. If not informed, false will be assumed.",
            "example": true
          }
        }
      },
      "Exchanges": {
        "type": "object",
        "properties": {
          "last_page": {
            "type": "boolean",
            "description": "Is this the last page flag",
            "example": false
          },
          "exchange_rates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Exchange"
            }
          }
        }
      },
      "HTTPGetErrors": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "field": {
              "type": "string",
              "example": "date",
              "description": "Identifies incorrect field."
            },
            "violation": {
              "type": "string",
              "example": "Invalid date, does not match yyyy-mm-dd format.",
              "description": "Describes the rule that the field did not match."
            }
          }
        }
      },
      "NotFoundError": {
        "type": "object",
        "properties": {
          "error_code": {
            "type": "string",
            "description": "Error code ID",
            "example": "RCAPI-NOT_FOUND-VIOLATION"
          },
          "message": {
            "type": "string",
            "description": "Error description",
            "example": ""
          }
        }
      },
      "ProgramID": {
        "type": "number",
        "description": "Pismo program ID",
        "example": 76589
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "responses": {
      "401Unauthorized": {
        "description": "InvalidToken",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "404ExchangeNotFound": {
        "description": "Exchange not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/NotFoundError"
            }
          }
        }
      },
      "500InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    }
  },
  "paths": {
    "/v1/exchange-rates": {
      "get": {
        "summary": "Get exchange rates",
        "description": "Returns exchange rates with paging and filter options",
        "operationId": "getExchange",
        "tags": [
          "Exchange rates"
        ],
        "parameters": [
          {
            "name": "beginCreatedAt",
            "in": "query",
            "description": "Start date filter, format = yyyy-mm-dd",
            "example": "2022-05-04",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endCreatedAt",
            "in": "query",
            "description": "End date filter, format = yyyy-mm-dd. 30 days maximum between `beginCreatedAt` and `endCreatedAt`.",
            "example": "2022-06-01T00:00:00.000Z",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "perPage",
            "in": "query",
            "description": "Records per page - 100 records maximum.",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Current page number.",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "$ref": "#/components/parameters/AuthNoAccount"
          },
          {
            "$ref": "#/components/parameters/ProgramIDquery"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Exchanges"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPGetErrors"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/401Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/404ExchangeNotFound"
          },
          "500": {
            "$ref": "#/components/responses/500InternalServerError"
          }
        }
      }
    }
  }
}
```