List conversion rule transactions
curl --request GET \
--url https://api.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions \
--header 'API-Key: <api-key>' \
--header 'API-Nonce: <api-key>' \
--header 'API-Sign: <api-key>'import requests
url = "https://api.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions"
headers = {
"API-Key": "<api-key>",
"API-Sign": "<api-key>",
"API-Nonce": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'API-Key': '<api-key>', 'API-Sign': '<api-key>', 'API-Nonce': '<api-key>'}
};
fetch('https://api.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions', 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.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-Key: <api-key>",
"API-Nonce: <api-key>",
"API-Sign: <api-key>"
],
]);
$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.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("API-Sign", "<api-key>")
req.Header.Add("API-Nonce", "<api-key>")
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.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions")
.header("API-Key", "<api-key>")
.header("API-Sign", "<api-key>")
.header("API-Nonce", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-Key"] = '<api-key>'
request["API-Sign"] = '<api-key>'
request["API-Nonce"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "conv_smoke_001",
"status": "completed",
"conversion_rule_id": "12345678-1234-1234-1234-123456789012",
"from": {
"symbol": "EUR",
"amount": "100.00",
"type": "bank",
"via": "sepa",
"status": "settled"
},
"to": {
"symbol": "BTC",
"amount": "0.002",
"status": "settled",
"via": "bitcoin"
},
"chain_references": {
"deposit_txid": "deposit-eur-001",
"withdraw_txid": "withdraw-btc-001"
},
"created_at": "2026-04-01T12:00:00Z"
},
{
"id": "conv_smoke_002",
"status": "pending_deposit",
"conversion_rule_id": "12345678-1234-1234-1234-123456789012",
"chain_references": {},
"created_at": "2026-04-02T09:30:00Z"
},
{
"id": "conv_smoke_003",
"status": "held",
"conversion_rule_id": "12345678-1234-1234-1234-123456789012",
"from": {
"symbol": "EUR",
"amount": "250.00",
"type": "bank",
"via": "sepa",
"status": "held"
},
"chain_references": {
"deposit_txid": "deposit-held-001"
},
"created_at": "2026-04-03T14:15:00Z"
}
]
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 400,
"code": "bad_request",
"causes": [
{
"field": "account_id",
"message": "must be a valid account identifier"
}
]
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 401,
"code": "unauthenticated"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 403,
"code": "forbidden"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 404,
"code": "not_found"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 429,
"code": "resource_exhausted"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 500,
"code": "internal"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 501,
"code": "unimplemented"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 503,
"code": "unavailable"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 504,
"code": "deadline_exceeded"
}
}Conversions
List conversion rule transactions
Lists transactions produced by a single conversion rule, ordered by created_at descending.
Each conversion rule accumulates zero-or-more transactions over its lifetime as deposits arrive and trades execute. Use ListConversionRules to enumerate the rules themselves.
GET
/
v1
/
accounts
/
{account_id}
/
conversions
/
{conversion_rule_id}
/
transactions
List conversion rule transactions
curl --request GET \
--url https://api.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions \
--header 'API-Key: <api-key>' \
--header 'API-Nonce: <api-key>' \
--header 'API-Sign: <api-key>'import requests
url = "https://api.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions"
headers = {
"API-Key": "<api-key>",
"API-Sign": "<api-key>",
"API-Nonce": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'API-Key': '<api-key>', 'API-Sign': '<api-key>', 'API-Nonce': '<api-key>'}
};
fetch('https://api.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions', 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.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-Key: <api-key>",
"API-Nonce: <api-key>",
"API-Sign: <api-key>"
],
]);
$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.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("API-Sign", "<api-key>")
req.Header.Add("API-Nonce", "<api-key>")
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.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions")
.header("API-Key", "<api-key>")
.header("API-Sign", "<api-key>")
.header("API-Nonce", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.services.payward.com/v1/accounts/{account_id}/conversions/{conversion_rule_id}/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-Key"] = '<api-key>'
request["API-Sign"] = '<api-key>'
request["API-Nonce"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "conv_smoke_001",
"status": "completed",
"conversion_rule_id": "12345678-1234-1234-1234-123456789012",
"from": {
"symbol": "EUR",
"amount": "100.00",
"type": "bank",
"via": "sepa",
"status": "settled"
},
"to": {
"symbol": "BTC",
"amount": "0.002",
"status": "settled",
"via": "bitcoin"
},
"chain_references": {
"deposit_txid": "deposit-eur-001",
"withdraw_txid": "withdraw-btc-001"
},
"created_at": "2026-04-01T12:00:00Z"
},
{
"id": "conv_smoke_002",
"status": "pending_deposit",
"conversion_rule_id": "12345678-1234-1234-1234-123456789012",
"chain_references": {},
"created_at": "2026-04-02T09:30:00Z"
},
{
"id": "conv_smoke_003",
"status": "held",
"conversion_rule_id": "12345678-1234-1234-1234-123456789012",
"from": {
"symbol": "EUR",
"amount": "250.00",
"type": "bank",
"via": "sepa",
"status": "held"
},
"chain_references": {
"deposit_txid": "deposit-held-001"
},
"created_at": "2026-04-03T14:15:00Z"
}
]
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 400,
"code": "bad_request",
"causes": [
{
"field": "account_id",
"message": "must be a valid account identifier"
}
]
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 401,
"code": "unauthenticated"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 403,
"code": "forbidden"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 404,
"code": "not_found"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 429,
"code": "resource_exhausted"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 500,
"code": "internal"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 501,
"code": "unimplemented"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 503,
"code": "unavailable"
}
}{
"error": {
"type": "conversions_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 504,
"code": "deadline_exceeded"
}
}Authorizations
Your public API key. Identifies the partner making the request.
HMAC signature over the request, computed with your private key.
Monotonically increasing nonce included in the request signature.
Path Parameters
Globally unique public identifier for an account.
Required string length:
14 - 42Identifier of the conversion rule whose transactions to list.
Query Parameters
Maximum number of results to return. Ignored when page_token is present.
Required range:
1 <= x <= 25Opaque token returned as next_page_token in the previous response. Omit to request the first page.
Required string length:
1 - 256