cURL
curl --request GET \
--url https://api.grainfinance.co/v1/customers/{customerId}/hedges \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.grainfinance.co/v1/customers/{customerId}/hedges"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.grainfinance.co/v1/customers/{customerId}/hedges', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.grainfinance.co/v1/customers/{customerId}/hedges",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.grainfinance.co/v1/customers/{customerId}/hedges"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.grainfinance.co/v1/customers/{customerId}/hedges")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.grainfinance.co/v1/customers/{customerId}/hedges")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"hedges": [
{
"id": "8173b9a7-ee61-413e-b9e3-7c04b2a067c5",
"customerId": "1b0ada1e-fa1b-4cfe-a553-01b340c5650e",
"status": "Active",
"transactionId": "4d78ac65-2c3f-47e2-8bf3-3f76124e9d27",
"externalTransactionId": "780231b3ae0d7e9e5097nd89",
"fromCurrency": "MXN",
"toCurrency": "USD",
"externalCustomerId": "630231b3ae0d7e9e5097ad35",
"toCurrencyAmount": 1560,
"fromCurrencyAmount": 32161.8,
"fixedSide": "toCurrencyAmount",
"initialCollateralAmount": 1608.09,
"quote": 20.6165,
"externalMarkupPct": 1,
"acceptedAtTs": 1659625088,
"issuedAt": "2023-01-18",
"endAt": "2023-02-23",
"updatedAt": "2023-02-23",
"cancelledAt": "2023-02-23",
"initialCollateralReceivedAt": "2023-01-20",
"fundsReceivedAt": "2023-02-23",
"completedAt": "2023-02-23",
"completedAtTs": 1659625090,
"overdueAt": "2023-02-23",
"settlementAt": "2023-02-23",
"settlementType": "full",
"adjustedMtmChangePct": 1.25,
"adjustedMtmChangeTs": 1674057600
}
],
"pagination": {
"page": 2,
"perPage": 50.5,
"totalResults": 123
}
}{
"message": "Can't perform this action",
"reason": "Supplied object is in *Cancelled* state, which prevents performing this action"
}Hedges
List Hedges
Retrieves all hedges associated with the given customer.
GET
/
customers
/
{customerId}
/
hedges
cURL
curl --request GET \
--url https://api.grainfinance.co/v1/customers/{customerId}/hedges \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.grainfinance.co/v1/customers/{customerId}/hedges"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.grainfinance.co/v1/customers/{customerId}/hedges', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.grainfinance.co/v1/customers/{customerId}/hedges",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.grainfinance.co/v1/customers/{customerId}/hedges"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.grainfinance.co/v1/customers/{customerId}/hedges")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.grainfinance.co/v1/customers/{customerId}/hedges")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body{
"hedges": [
{
"id": "8173b9a7-ee61-413e-b9e3-7c04b2a067c5",
"customerId": "1b0ada1e-fa1b-4cfe-a553-01b340c5650e",
"status": "Active",
"transactionId": "4d78ac65-2c3f-47e2-8bf3-3f76124e9d27",
"externalTransactionId": "780231b3ae0d7e9e5097nd89",
"fromCurrency": "MXN",
"toCurrency": "USD",
"externalCustomerId": "630231b3ae0d7e9e5097ad35",
"toCurrencyAmount": 1560,
"fromCurrencyAmount": 32161.8,
"fixedSide": "toCurrencyAmount",
"initialCollateralAmount": 1608.09,
"quote": 20.6165,
"externalMarkupPct": 1,
"acceptedAtTs": 1659625088,
"issuedAt": "2023-01-18",
"endAt": "2023-02-23",
"updatedAt": "2023-02-23",
"cancelledAt": "2023-02-23",
"initialCollateralReceivedAt": "2023-01-20",
"fundsReceivedAt": "2023-02-23",
"completedAt": "2023-02-23",
"completedAtTs": 1659625090,
"overdueAt": "2023-02-23",
"settlementAt": "2023-02-23",
"settlementType": "full",
"adjustedMtmChangePct": 1.25,
"adjustedMtmChangeTs": 1674057600
}
],
"pagination": {
"page": 2,
"perPage": 50.5,
"totalResults": 123
}
}{
"message": "Can't perform this action",
"reason": "Supplied object is in *Cancelled* state, which prevents performing this action"
}Authorizations
Basic authentication using the partner API keys from https://console.grainfinance.co/keys
Path Parameters
The id of the customer within the Grain platform.
Query Parameters
page number indicating which set of items to return The page indicating which set of items are returned
Required range:
x >= 1number of items in a page
Required range:
1 <= x <= 100Response
Hedges List for Customer
A response containing a list of hedges matching the search criteria.
⌘I