{
  "@context": {
    "@vocab": "https://grainfinance.com/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "grainfinance": "https://grainfinance.com/schema#",
    "ConversionProposalResponseBody": "grainfinance:ConversionProposalResponseBody",
    "id": {
      "@id": "grainfinance:id",
      "@type": "@id"
    },
    "fromCurrency": {
      "@id": "grainfinance:fromCurrency",
      "@type": "xsd:string"
    },
    "toCurrency": {
      "@id": "grainfinance:toCurrency",
      "@type": "xsd:string"
    },
    "toCurrencyAmount": {
      "@id": "grainfinance:toCurrencyAmount",
      "@type": "xsd:decimal"
    },
    "fromCurrencyAmount": {
      "@id": "grainfinance:fromCurrencyAmount",
      "@type": "xsd:decimal"
    },
    "quote": {
      "@id": "grainfinance:quote",
      "@type": "xsd:decimal"
    },
    "validUntilTs": {
      "@id": "grainfinance:validUntilTs",
      "@type": "xsd:decimal"
    },
    "ErrorResponse": "grainfinance:ErrorResponse",
    "message": {
      "@id": "grainfinance:message",
      "@type": "xsd:string"
    },
    "reason": {
      "@id": "grainfinance:reason",
      "@type": "xsd:string"
    },
    "RejectedByIPError": "grainfinance:RejectedByIPError",
    "ConversionQuoteRequestBody": "grainfinance:ConversionQuoteRequestBody",
    "ConversionActionResponseBody": "grainfinance:ConversionActionResponseBody",
    "AcceptConversionProposalRequestBody": "grainfinance:AcceptConversionProposalRequestBody",
    "conversionProposalId": {
      "@id": "grainfinance:conversionProposalId",
      "@type": "@id"
    },
    "extraFields": {
      "@id": "grainfinance:extraFields",
      "@type": "@id"
    },
    "OrganizationConversion": "grainfinance:OrganizationConversion",
    "organizationId": {
      "@id": "grainfinance:organizationId",
      "@type": "@id"
    },
    "acceptedAtTs": {
      "@id": "grainfinance:acceptedAtTs",
      "@type": "xsd:decimal"
    },
    "issuedAt": {
      "@id": "grainfinance:issuedAt",
      "@type": "@id"
    },
    "completedAt": {
      "@id": "grainfinance:completedAt"
    },
    "PaginationResponse": "grainfinance:PaginationResponse",
    "page": {
      "@id": "grainfinance:page",
      "@type": "@id"
    },
    "perPage": {
      "@id": "grainfinance:perPage",
      "@type": "@id"
    },
    "totalResults": {
      "@id": "grainfinance:totalResults",
      "@type": "xsd:decimal"
    },
    "ListConversionsResponseBody": "grainfinance:ListConversionsResponseBody",
    "conversions": {
      "@id": "grainfinance:conversions",
      "@container": "@list"
    },
    "pagination": {
      "@id": "grainfinance:pagination",
      "@type": "@id"
    },
    "CreateObjectResponseBody": "grainfinance:CreateObjectResponseBody",
    "Pick_Customer.-or-contactEmail-or-contactFullName-or-contactPhoneNumber-or-companyName-or-companyAddress-or-companyCity-or-companyState-or-companyCountry-or-companyTaxId-or-externalCustomerId-or-extraFields_": "grainfinance:Pick_Customer.-or-contactEmail-or-contactFullName-or-contactPhoneNumber-or-companyName-or-companyAddress-or-companyCity-or-companyState-or-companyCountry-or-companyTaxId-or-externalCustomerId-or-extraFields_",
    "contactEmail": {
      "@id": "grainfinance:contactEmail",
      "@type": "@id"
    },
    "contactFullName": {
      "@id": "grainfinance:contactFullName",
      "@type": "xsd:string"
    },
    "contactPhoneNumber": {
      "@id": "grainfinance:contactPhoneNumber",
      "@type": "xsd:string"
    },
    "companyName": {
      "@id": "grainfinance:companyName",
      "@type": "xsd:string"
    },
    "companyAddress": {
      "@id": "grainfinance:companyAddress",
      "@type": "xsd:string"
    },
    "companyCity": {
      "@id": "grainfinance:companyCity",
      "@type": "xsd:string"
    },
    "companyState": {
      "@id": "grainfinance:companyState",
      "@type": "xsd:string"
    },
    "companyCountry": {
      "@id": "grainfinance:companyCountry",
      "@type": "@id"
    },
    "companyTaxId": {
      "@id": "grainfinance:companyTaxId",
      "@type": "xsd:string"
    },
    "externalCustomerId": {
      "@id": "grainfinance:externalCustomerId",
      "@type": "xsd:string"
    },
    "Partial_CreateUpdateCustomerRequestBody_": "grainfinance:Partial_CreateUpdateCustomerRequestBody_",
    "CustomerStatus": "grainfinance:CustomerStatus",
    "Customer": "grainfinance:Customer",
    "status": {
      "@id": "grainfinance:status",
      "@type": "@id"
    },
    "ListCustomersResponseBody": "grainfinance:ListCustomersResponseBody",
    "customers": {
      "@id": "grainfinance:customers",
      "@container": "@list"
    },
    "AcceptOfflineDualHedgeResponseBody": "grainfinance:AcceptOfflineDualHedgeResponseBody",
    "transactionId": {
      "@id": "grainfinance:transactionId",
      "@type": "@id"
    },
    "hedgeIds": {
      "@id": "grainfinance:hedgeIds",
      "@container": "@list"
    },
    "AcceptOfflineHedgeRevisionExpiredErrorResponse": "grainfinance:AcceptOfflineHedgeRevisionExpiredErrorResponse",
    "AcceptOfflineHedgeBadParamsErrorResponse": "grainfinance:AcceptOfflineHedgeBadParamsErrorResponse",
    "AcceptOfflineDualHedgeProposalRequestBody": "grainfinance:AcceptOfflineDualHedgeProposalRequestBody",
    "revision": {
      "@id": "grainfinance:revision",
      "@type": "xsd:decimal"
    },
    "customerToCurrencyAmount": {
      "@id": "grainfinance:customerToCurrencyAmount",
      "@type": "xsd:decimal"
    },
    "vendorToCurrencyAmount": {
      "@id": "grainfinance:vendorToCurrencyAmount",
      "@type": "xsd:decimal"
    },
    "customerEndAt": {
      "@id": "grainfinance:customerEndAt",
      "@type": "xsd:string"
    },
    "vendorEndAt": {
      "@id": "grainfinance:vendorEndAt",
      "@type": "xsd:string"
    },
    "rate": {
      "@id": "grainfinance:rate",
      "@type": "xsd:decimal"
    },
    "externalTransactionId": {
      "@id": "grainfinance:externalTransactionId",
      "@type": "xsd:string"
    },
    "DisplaySettlementType.Full": "grainfinance:DisplaySettlementType.Full",
    "DisplayHedgeStatus": "grainfinance:DisplayHedgeStatus",
    "HedgeContractType.Flexible": "grainfinance:HedgeContractType.Flexible",
    "HedgeContractType.Standard": "grainfinance:HedgeContractType.Standard",
    "DisplayFixedSide": "grainfinance:DisplayFixedSide",
    "DisplaySettlementType": "grainfinance:DisplaySettlementType",
    "CollectionHedge": "grainfinance:CollectionHedge",
    "customerId": {
      "@id": "grainfinance:customerId",
      "@type": "@id"
    },
    "contractType": {
      "@id": "grainfinance:contractType"
    },
    "fixedSide": {
      "@id": "grainfinance:fixedSide",
      "@type": "@id"
    },
    "settlementType": {
      "@id": "grainfinance:settlementType",
      "@type": "@id"
    },
    "originalFromCurrencyAmount": {
      "@id": "grainfinance:originalFromCurrencyAmount",
      "@type": "xsd:decimal"
    },
    "originalToCurrencyAmount": {
      "@id": "grainfinance:originalToCurrencyAmount",
      "@type": "xsd:decimal"
    },
    "originalQuote": {
      "@id": "grainfinance:originalQuote",
      "@type": "xsd:decimal"
    },
    "originalEndAt": {
      "@id": "grainfinance:originalEndAt",
      "@type": "@id"
    },
    "initialCollateralAmount": {
      "@id": "grainfinance:initialCollateralAmount",
      "@type": "xsd:decimal"
    },
    "externalMarkupPct": {
      "@id": "grainfinance:externalMarkupPct",
      "@type": "xsd:decimal"
    },
    "collateralAmount": {
      "@id": "grainfinance:collateralAmount",
      "@type": "xsd:decimal"
    },
    "totalNumberOfDrawdowns": {
      "@id": "grainfinance:totalNumberOfDrawdowns",
      "@type": "xsd:decimal"
    },
    "endAt": {
      "@id": "grainfinance:endAt",
      "@type": "@id"
    },
    "settlementAt": {
      "@id": "grainfinance:settlementAt",
      "@type": "@id"
    },
    "updatedAt": {
      "@id": "grainfinance:updatedAt",
      "@type": "@id"
    },
    "cancelledAt": {
      "@id": "grainfinance:cancelledAt"
    },
    "initialCollateralReceivedAt": {
      "@id": "grainfinance:initialCollateralReceivedAt"
    },
    "fundsReceivedAt": {
      "@id": "grainfinance:fundsReceivedAt"
    },
    "completedAtTs": {
      "@id": "grainfinance:completedAtTs",
      "@type": "xsd:decimal"
    },
    "overdueAt": {
      "@id": "grainfinance:overdueAt",
      "@type": "@id"
    },
    "adjustedMtmChangePct": {
      "@id": "grainfinance:adjustedMtmChangePct",
      "@type": "xsd:decimal"
    },
    "adjustedMtmChangeTs": {
      "@id": "grainfinance:adjustedMtmChangeTs",
      "@type": "xsd:decimal"
    },
    "DisplaySettlementType.Offset": "grainfinance:DisplaySettlementType.Offset",
    "OffsetHedge": "grainfinance:OffsetHedge",
    "settlementAmount": {
      "@id": "grainfinance:settlementAmount",
      "@type": "xsd:decimal"
    },
    "settlementCurrency": {
      "@id": "grainfinance:settlementCurrency",
      "@type": "xsd:string"
    },
    "endDateQuote": {
      "@id": "grainfinance:endDateQuote",
      "@type": "xsd:decimal"
    },
    "GetDualHedgeResponseBody": "grainfinance:GetDualHedgeResponseBody",
    "functionalCurrency": {
      "@id": "grainfinance:functionalCurrency",
      "@type": "xsd:string"
    },
    "hedges": {
      "@id": "grainfinance:hedges",
      "@container": "@list"
    },
    "CancelDualHedgeResponseBody": "grainfinance:CancelDualHedgeResponseBody",
    "CancelDualHedgeRequestBody": "grainfinance:CancelDualHedgeRequestBody",
    "ListDualHedgesResponseBody": "grainfinance:ListDualHedgesResponseBody",
    "dualHedges": {
      "@id": "grainfinance:dualHedges",
      "@container": "@list"
    },
    "HedgeStateSnapshot": "grainfinance:HedgeStateSnapshot",
    "DrawdownProposalResponse": "grainfinance:DrawdownProposalResponse",
    "collateralAmountReleased": {
      "@id": "grainfinance:collateralAmountReleased",
      "@type": "xsd:decimal"
    },
    "beforeHedgeState": {
      "@id": "grainfinance:beforeHedgeState",
      "@type": "@id"
    },
    "afterHedgeState": {
      "@id": "grainfinance:afterHedgeState",
      "@type": "@id"
    },
    "DrawdownQuoteRequestBody": "grainfinance:DrawdownQuoteRequestBody",
    "DrawdownStatus": "grainfinance:DrawdownStatus",
    "DrawdownResponse": "grainfinance:DrawdownResponse",
    "hedgeId": {
      "@id": "grainfinance:hedgeId",
      "@type": "@id"
    },
    "AcceptDrawdownRequestBody": "grainfinance:AcceptDrawdownRequestBody",
    "drawdownProposalId": {
      "@id": "grainfinance:drawdownProposalId",
      "@type": "@id"
    },
    "externalDrawdownId": {
      "@id": "grainfinance:externalDrawdownId",
      "@type": "xsd:string"
    },
    "ListDrawdownsResponseBody": "grainfinance:ListDrawdownsResponseBody",
    "drawdowns": {
      "@id": "grainfinance:drawdowns",
      "@container": "@list"
    },
    "CreatedCustomerHedgeProposalResponseBody": "grainfinance:CreatedCustomerHedgeProposalResponseBody",
    "initialCollateralPercentage": {
      "@id": "grainfinance:initialCollateralPercentage",
      "@type": "xsd:decimal"
    },
    "HedgeQuoteRequestBody": "grainfinance:HedgeQuoteRequestBody",
    "AcceptHedgeProposalRequestBody": "grainfinance:AcceptHedgeProposalRequestBody",
    "hedgeProposalId": {
      "@id": "grainfinance:hedgeProposalId",
      "@type": "@id"
    },
    "AcceptOfflineHedgeResponseBody": "grainfinance:AcceptOfflineHedgeResponseBody",
    "AcceptOfflineHedgeProposalRequestBody": "grainfinance:AcceptOfflineHedgeProposalRequestBody",
    "HedgeActionResponseBody": "grainfinance:HedgeActionResponseBody",
    "CancelHedgeRequestBody": "grainfinance:CancelHedgeRequestBody",
    "ListHedgesResponseBody": "grainfinance:ListHedgesResponseBody",
    "InnerDualRateByTenor": "grainfinance:InnerDualRateByTenor",
    "GetOfflineDualRatesResponse": "grainfinance:GetOfflineDualRatesResponse",
    "tenorCalculationDate": {
      "@id": "grainfinance:tenorCalculationDate",
      "@type": "xsd:string"
    },
    "rates": {
      "@id": "grainfinance:rates",
      "@type": "@id"
    },
    "OfflineRatesInvalidRequestError": "grainfinance:OfflineRatesInvalidRequestError",
    "GetOfflineRatesResponse": "grainfinance:GetOfflineRatesResponse",
    "ComplianceReasonCode": "grainfinance:ComplianceReasonCode",
    "DisplayPaymentMethod": "grainfinance:DisplayPaymentMethod",
    "VendorBankDetails": "grainfinance:VendorBankDetails",
    "accountHolderName": {
      "@id": "grainfinance:accountHolderName",
      "@type": "xsd:string"
    },
    "accountNumber": {
      "@id": "grainfinance:accountNumber",
      "@type": "xsd:string"
    },
    "bankName": {
      "@id": "grainfinance:bankName",
      "@type": "xsd:string"
    },
    "bankAddress": {
      "@id": "grainfinance:bankAddress",
      "@type": "xsd:string"
    },
    "bankCountry": {
      "@id": "grainfinance:bankCountry",
      "@type": "xsd:string"
    },
    "bankState": {
      "@id": "grainfinance:bankState",
      "@type": "xsd:string"
    },
    "iban": {
      "@id": "grainfinance:iban",
      "@type": "xsd:string"
    },
    "bicSwift": {
      "@id": "grainfinance:bicSwift",
      "@type": "xsd:string"
    },
    "routingCode": {
      "@id": "grainfinance:routingCode",
      "@type": "xsd:string"
    },
    "bankCode": {
      "@id": "grainfinance:bankCode",
      "@type": "xsd:string"
    },
    "branchCode": {
      "@id": "grainfinance:branchCode",
      "@type": "xsd:string"
    },
    "sortCode": {
      "@id": "grainfinance:sortCode",
      "@type": "xsd:string"
    },
    "bsbCode": {
      "@id": "grainfinance:bsbCode",
      "@type": "xsd:string"
    },
    "PayoutVendorDetails": "grainfinance:PayoutVendorDetails",
    "vendorId": {
      "@id": "grainfinance:vendorId",
      "@type": "@id"
    },
    "vendorName": {
      "@id": "grainfinance:vendorName",
      "@type": "xsd:string"
    },
    "externalVendorId": {
      "@id": "grainfinance:externalVendorId",
      "@type": "@id"
    },
    "bankDetails": {
      "@id": "grainfinance:bankDetails",
      "@type": "@id"
    },
    "PayoutProposalResponse": "grainfinance:PayoutProposalResponse",
    "externalPayoutId": {
      "@id": "grainfinance:externalPayoutId",
      "@type": "@id"
    },
    "currency": {
      "@id": "grainfinance:currency",
      "@type": "@id"
    },
    "amount": {
      "@id": "grainfinance:amount",
      "@type": "xsd:decimal"
    },
    "fee": {
      "@id": "grainfinance:fee",
      "@type": "xsd:decimal"
    },
    "totalAmount": {
      "@id": "grainfinance:totalAmount",
      "@type": "xsd:decimal"
    },
    "description": {
      "@id": "grainfinance:description",
      "@type": "xsd:string"
    },
    "payoutMethod": {
      "@id": "grainfinance:payoutMethod",
      "@type": "@id"
    },
    "vendorDetails": {
      "@id": "grainfinance:vendorDetails",
      "@type": "@id"
    },
    "InitiatePayoutRequest": "grainfinance:InitiatePayoutRequest",
    "DisplayPayoutStatus": "grainfinance:DisplayPayoutStatus",
    "PayoutResponse": "grainfinance:PayoutResponse",
    "payoutDate": {
      "@id": "grainfinance:payoutDate",
      "@type": "@id"
    },
    "PayoutListResponse": "grainfinance:PayoutListResponse",
    "payouts": {
      "@id": "grainfinance:payouts",
      "@container": "@list"
    },
    "SpotRatesResponseBody": "grainfinance:SpotRatesResponseBody",
    "VendorContact": "grainfinance:VendorContact",
    "fullName": {
      "@id": "grainfinance:fullName",
      "@type": "xsd:string"
    },
    "country": {
      "@id": "grainfinance:country",
      "@type": "@id"
    },
    "city": {
      "@id": "grainfinance:city",
      "@type": "xsd:string"
    },
    "email": {
      "@id": "grainfinance:email",
      "@type": "xsd:string"
    },
    "streetName": {
      "@id": "grainfinance:streetName",
      "@type": "xsd:string"
    },
    "buildingName": {
      "@id": "grainfinance:buildingName",
      "@type": "xsd:string"
    },
    "postalCode": {
      "@id": "grainfinance:postalCode",
      "@type": "xsd:string"
    },
    "state": {
      "@id": "grainfinance:state",
      "@type": "xsd:string"
    },
    "taxId": {
      "@id": "grainfinance:taxId",
      "@type": "xsd:string"
    },
    "phoneNumber": {
      "@id": "grainfinance:phoneNumber",
      "@type": "xsd:string"
    },
    "companyRegisterNumber": {
      "@id": "grainfinance:companyRegisterNumber",
      "@type": "xsd:string"
    },
    "VendorPayoutMethod": "grainfinance:VendorPayoutMethod",
    "type": {
      "@id": "grainfinance:type",
      "@type": "@id"
    },
    "CustomerVendor": "grainfinance:CustomerVendor",
    "contact": {
      "@id": "grainfinance:contact",
      "@type": "@id"
    },
    "payoutMethods": {
      "@id": "grainfinance:payoutMethods",
      "@container": "@list"
    },
    "createdAt": {
      "@id": "grainfinance:createdAt",
      "@type": "@id"
    },
    "CreateVendorRequest": "grainfinance:CreateVendorRequest",
    "contactCountry": {
      "@id": "grainfinance:contactCountry",
      "@type": "@id"
    },
    "contactCity": {
      "@id": "grainfinance:contactCity",
      "@type": "xsd:string"
    },
    "contactStreetName": {
      "@id": "grainfinance:contactStreetName",
      "@type": "xsd:string"
    },
    "contactBuildingName": {
      "@id": "grainfinance:contactBuildingName",
      "@type": "xsd:string"
    },
    "contactPostalCode": {
      "@id": "grainfinance:contactPostalCode",
      "@type": "xsd:string"
    },
    "contactState": {
      "@id": "grainfinance:contactState",
      "@type": "xsd:string"
    },
    "contactTaxId": {
      "@id": "grainfinance:contactTaxId",
      "@type": "xsd:string"
    },
    "VendorListResponse": "grainfinance:VendorListResponse",
    "vendors": {
      "@id": "grainfinance:vendors",
      "@container": "@list"
    },
    "ApiKeysResponse": "grainfinance:ApiKeysResponse",
    "clientId": {
      "@id": "grainfinance:clientId",
      "@type": "@id"
    },
    "secretKey": {
      "@id": "grainfinance:secretKey",
      "@type": "xsd:string"
    },
    "CreatePartnerResponse": "grainfinance:CreatePartnerResponse",
    "sandboxApiKey": {
      "@id": "grainfinance:sandboxApiKey",
      "@type": "@id"
    },
    "CreatePartnerRequestBody": "grainfinance:CreatePartnerRequestBody",
    "partnerName": {
      "@id": "grainfinance:partnerName",
      "@type": "xsd:string"
    },
    "contactFirstName": {
      "@id": "grainfinance:contactFirstName",
      "@type": "xsd:string"
    },
    "contactLastName": {
      "@id": "grainfinance:contactLastName",
      "@type": "xsd:string"
    },
    "contactWebsite": {
      "@id": "grainfinance:contactWebsite",
      "@type": "xsd:string"
    },
    "OwnedPartnerConfig": "grainfinance:OwnedPartnerConfig",
    "maxHedgeAmount": {
      "@id": "grainfinance:maxHedgeAmount",
      "@type": "xsd:decimal"
    },
    "maxExposureAmount": {
      "@id": "grainfinance:maxExposureAmount",
      "@type": "xsd:decimal"
    },
    "OwnedPartner": "grainfinance:OwnedPartner",
    "name": {
      "@id": "grainfinance:name",
      "@type": "xsd:string"
    },
    "isLiveEnabled": {
      "@id": "grainfinance:isLiveEnabled",
      "@type": "xsd:boolean"
    },
    "config": {
      "@id": "grainfinance:config",
      "@type": "@id"
    },
    "liveApiKey": {
      "@id": "grainfinance:liveApiKey",
      "@type": "@id"
    },
    "ListOwnedPartnerResponseBody": "grainfinance:ListOwnedPartnerResponseBody",
    "partners": {
      "@id": "grainfinance:partners",
      "@container": "@list"
    },
    "PartnerWalletDepositDetails": "grainfinance:PartnerWalletDepositDetails",
    "specialInstructions": {
      "@id": "grainfinance:specialInstructions",
      "@type": "xsd:string"
    },
    "achRoutingCode": {
      "@id": "grainfinance:achRoutingCode",
      "@type": "xsd:string"
    },
    "wireRoutingCode": {
      "@id": "grainfinance:wireRoutingCode",
      "@type": "xsd:string"
    },
    "PartnerWallet": "grainfinance:PartnerWallet",
    "totalBalance": {
      "@id": "grainfinance:totalBalance",
      "@type": "xsd:decimal"
    },
    "availableBalance": {
      "@id": "grainfinance:availableBalance",
      "@type": "xsd:decimal"
    },
    "depositDetails": {
      "@id": "grainfinance:depositDetails",
      "@type": "@id"
    },
    "WalletsResponse": "grainfinance:WalletsResponse",
    "wallets": {
      "@id": "grainfinance:wallets",
      "@container": "@list"
    },
    "WithdrawRequestBody": "grainfinance:WithdrawRequestBody"
  },
  "@type": "schema:Dataset",
  "schema:name": "Grain API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Grain's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-10-25) from openapi/grainfinance-co-openapi.yaml.",
  "dcterms:created": "2026-10-25",
  "dcterms:source": [
    "openapi/grainfinance-co-openapi.yaml"
  ]
}