Grain · Schema

AcceptOfflineDualHedgeProposalRequestBody

The payload required in order to accept an offline rate proposal and book the dual hedge.

FintechPaymentsCurrencyAPIEmbedded

Properties

Name Type Description
revision number The id of the revision that defines the accepted rate for the currency-pair and tenor.
fromCurrency object The currency in which the transaction should be paid by your customer.
toCurrency object The currency you want to buy.
customerToCurrencyAmount number The amount to hedge in the toCurrency for the customer.
vendorToCurrencyAmount number The amount to hedge in the toCurrency for the vendor.
customerEndAt string The date in which the customer hedge will be settled, denoted in `YYYY-MM-DD` format.
vendorEndAt string The date in which the vendor hedge will be settled, denoted in `YYYY-MM-DD` format.
rate number Represents the offline hedge rate determined by a two-dimensional lookup based on the vendor and customer tenors. **Calculating Tenors:** Tenors are calculated from the calendar-day difference between
externalTransactionId string The transaction id, as identified within your system.
extraFields object
View JSON Schema on GitHub

JSON Schema

grainfinance-co-accept-offline-dual-hedge-proposal-request-body-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/grainfinance-co/main/json-schema/grainfinance-co-accept-offline-dual-hedge-proposal-request-body-schema.json",
  "title": "AcceptOfflineDualHedgeProposalRequestBody",
  "description": "The payload required in order to accept an offline rate proposal and book the dual hedge.",
  "x-generated": "2026-10-25",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/grainfinance-co-openapi.yaml#/components/schemas/AcceptOfflineDualHedgeProposalRequestBody",
  "properties": {
    "revision": {
      "type": "number",
      "format": "double",
      "description": "The id of the revision that defines the accepted rate for the currency-pair and tenor."
    },
    "fromCurrency": {
      "$ref": "#/$defs/CurrencyCode",
      "description": "The currency in which the transaction should be paid by your customer."
    },
    "toCurrency": {
      "$ref": "#/$defs/CurrencyCode",
      "description": "The currency you want to buy."
    },
    "customerToCurrencyAmount": {
      "type": "number",
      "format": "double",
      "description": "The amount to hedge in the toCurrency for the customer."
    },
    "vendorToCurrencyAmount": {
      "type": "number",
      "format": "double",
      "description": "The amount to hedge in the toCurrency for the vendor."
    },
    "customerEndAt": {
      "type": "string",
      "description": "The date in which the customer hedge will be settled, denoted in `YYYY-MM-DD` format."
    },
    "vendorEndAt": {
      "type": "string",
      "description": "The date in which the vendor hedge will be settled, denoted in `YYYY-MM-DD` format."
    },
    "rate": {
      "type": "number",
      "format": "double",
      "description": "Represents the offline hedge rate determined by a two-dimensional lookup based on the vendor and customer tenors.\n\n**Calculating Tenors:**\n\nTenors are calculated from the calendar-day difference between the tenorCalculationDate and the vendor/customer end dates, then mapped into the nearest supported tenor bucket:\n\n-\n- > 0 and ≤ 7 calendar days → 7-day tenor\n- > 7 and ≤ 14 calendar days → 14-day tenor\n- > 14 and ≤ 30 calendar days → 30-day tenor\n- > 30 and ≤ 60 calendar days → 60-day tenor\n- > 60 and ≤ 90 calendar days → 90-day tenor\n- … continues in similar ranges up to 720 days\n\n**Note:** All calendar days count — weekends and holidays included.\n\n**Rate Lookup Example:**\n\nThe rate is retrieved from a two-dimensional map using both tenors:\n```\n\"USDMXN\": {\n  \"7\": { \"7\": 1.1 },\n  \"14\": { \"7\": 1.2, \"14\": 1.3 },\n  \"30\": { \"7\": 1.1, \"14\": 1.1, \"30\": 1.1 },\n  // ... and so on\n}\n```\n\nIn this example, if the vendor tenor is 14 days and the customer tenor is 7 days, the rate would be 1.2.\n\nTo calculate the difference in calendar days accurately, we recommend using a date manipulation library, such as date-fns and its `differenceInCalendarDays` function, or a similar feature provided by other date libraries."
    },
    "externalTransactionId": {
      "type": "string",
      "description": "The transaction id, as identified within your system."
    },
    "extraFields": {
      "$ref": "#/$defs/ExtraFieldsParam"
    }
  },
  "required": [
    "revision",
    "fromCurrency",
    "toCurrency",
    "customerToCurrencyAmount",
    "vendorToCurrencyAmount",
    "customerEndAt",
    "vendorEndAt",
    "rate",
    "externalTransactionId"
  ],
  "type": "object",
  "additionalProperties": false,
  "$defs": {
    "CurrencyCode": {
      "type": "string",
      "description": "The alpha-3 ISO 4217 currency code of the related entity, in upper case.",
      "pattern": "^[A-Z]{3}$"
    },
    "ExtraFieldsParam": {
      "properties": {},
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "number",
            "format": "double"
          },
          {
            "type": "boolean"
          }
        ]
      },
      "type": "object",
      "description": "Additional fields that provide further details about the transaction.\nThese fields should be specified as a valid JSON object."
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/grainfinance-co-accept-offline-dual-hedge-proposal-request-body"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.