FXP Rates
Manage FXP exchange rates. Rates are one-directional, identified by source and destination IA account references, and remain live until replaced by a new rate for the same account pair or voluntarily withdrawn. Nexus does not impose time-based expiry on rates; isExpired marks superseded or voluntarily withdrawn records only.
Returns the authenticated FXP's current (live, non-superseded) rates, optionally filtered by currency pair and IPSs. When includeExpired=true, historical rates from the last 13 months are included and limit is required (maximum 100). Nexus does not impose time-based expiry on rates; isExpired marks superseded or voluntarily withdrawn records only.
- : Read FXP rate records.
Nexus issued X.509 client certificate presented during the TLS handshake and validated at the Akamai global edge. The FXP generates its own key pair and submits a CSR during onboarding; Vault PKI (edge intermediate CA) signs it and the private key never leaves FXP infrastructure. Fail closed: a missing, expired, revoked or untrusted certificate causes the TLS handshake to fail at the edge and no HTTP response is produced. The certificate is not forwarded to the origin as an HTTP header.
OAuth2 client credentials token issued per participant.
ISO 4217 3-letter source currency code (uppercase). Filters to rates for this source currency.
EURPattern: ^[A-Z]{3}$ISO 4217 3-letter destination currency code (uppercase). Filters to rates for this destination currency.
AUDPattern: ^[A-Z]{3}$Source IPS identifier. Filters to rates where the FXP receives source currency via this IPS.
EURTIPSDestination IPS identifier. Filters to rates where the FXP pays out destination currency via this IPS.
AUSNPPIf true, include historical (withdrawn or superseded) rates from the last 13 months. Default: false. When true, limit is required.
falseExample: falseMax items to return. Default 50. Maximum 100. Required when includeExpired=true.
50Example: 50Pagination cursor; omit for first page. This endpoint is limited to a maximum of 100 records.
eyJwayI6Li4ufQ==application/json
application/jsonExample: application/jsonRates retrieved successfully.
Paginated list of rate records.
Opaque cursor for the next page. Null if this is the last page.
eyJwayI6Li4ufQ==Invalid Request
Authentication Failure
Authorization Failure
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal Server Error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
GET /v1/rates HTTP/1.1
Host: localhost:8080
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: application/json
{
"items": [
{
"id": "9929ea23-f29c-4053-b54a-5bf7a1bb348e",
"fxpId": "FXP-A",
"sourceIAAccount": {
"addressTypeCode": "IBAN",
"fields": {
"iban": "DE89370400440532013000"
}
},
"destinationIAAccount": {
"addressTypeCode": "IBAN",
"fields": {
"iban": "DE89370400440532013000"
}
},
"sourceCurrency": "EUR",
"destinationCurrency": "AUD",
"sourceIps": "EURTIPS",
"destinationIps": "AUSNPP",
"rate": 1.5019,
"createdDateTime": "2024-11-01T10:00:00Z",
"isExpired": false,
"expiryDateTime": null
}
],
"cursor": "eyJwayI6Li4ufQ=="
}Creates a new rate record identified by the FXP's source and destination IA account references. Nexus resolves source currency, destination currency, source IPS, and destination IPS from the IA account records registered for the submitting FXP. If a live rate already exists for the same (sourceIAAccount, destinationIAAccount) pair, Nexus marks the prior record as superseded (isExpired=true — a historical marker, not time-based expiry) and creates the new rate.
- : Create or withdraw FXP rate records.
Nexus issued X.509 client certificate presented during the TLS handshake and validated at the Akamai global edge. The FXP generates its own key pair and submits a CSR during onboarding; Vault PKI (edge intermediate CA) signs it and the private key never leaves FXP infrastructure. Fail closed: a missing, expired, revoked or untrusted certificate causes the TLS handshake to fail at the edge and no HTTP response is produced. The certificate is not forwarded to the origin as an HTTP header.
OAuth2 client credentials token issued per participant.
application/json
application/jsonExample: application/jsonRequest body for creating or replacing a rate.
Exchange rate: number of destination currency units per one source currency unit.
1.5019Rate created successfully. Returns the new rate record.
A single FXP rate record.
Nexus-assigned unique identifier for the rate record.
9929ea23-f29c-4053-b54a-5bf7a1bb348eNexus internal identifier for the FXP that owns this rate.
FXP-AISO 4217 source currency code resolved from sourceIAAccount.
EURISO 4217 destination currency code resolved from destinationIAAccount.
AUDSource IPS identifier resolved from sourceIAAccount.
EURTIPSDestination IPS identifier resolved from destinationIAAccount.
AUSNPPThe exchange rate.
1.5019ISO 8601 UTC timestamp when this rate record was created.
2024-11-01T10:00:00ZIf true, this rate has been superseded by a newer rate for the same account pair, or voluntarily withdrawn. Not a time-based expiry.
falseISO 8601 UTC timestamp when this rate was superseded or withdrawn. Null if still live.
Invalid Request
Authentication Failure
Authorization Failure
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Conflict. The rate could not be created due to a conflicting state.
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal Server Error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
POST /v1/rates HTTP/1.1
Host: localhost:8080
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: application/json
Content-Type: application/json
Content-Length: 209
{
"sourceIAAccount": {
"addressTypeCode": "IBAN",
"fields": {
"iban": "DE89370400440532013000"
}
},
"destinationIAAccount": {
"addressTypeCode": "AU-BSB",
"fields": {
"bsb": "062-000",
"accountNumber": "12345678"
}
},
"rate": 1.5019
}{
"id": "9929ea23-f29c-4053-b54a-5bf7a1bb348e",
"fxpId": "FXP-A",
"sourceIAAccount": {
"addressTypeCode": "IBAN",
"fields": {
"iban": "DE89370400440532013000"
}
},
"destinationIAAccount": {
"addressTypeCode": "IBAN",
"fields": {
"iban": "DE89370400440532013000"
}
},
"sourceCurrency": "EUR",
"destinationCurrency": "AUD",
"sourceIps": "EURTIPS",
"destinationIps": "AUSNPP",
"rate": 1.5019,
"createdDateTime": "2024-11-01T10:00:00Z",
"isExpired": false,
"expiryDateTime": null
}Returns the count of rates for the authenticated FXP. includeExpired controls whether historical (withdrawn or superseded) rates are included in the count.
- : Read FXP rate records.
Nexus issued X.509 client certificate presented during the TLS handshake and validated at the Akamai global edge. The FXP generates its own key pair and submits a CSR during onboarding; Vault PKI (edge intermediate CA) signs it and the private key never leaves FXP infrastructure. Fail closed: a missing, expired, revoked or untrusted certificate causes the TLS handshake to fail at the edge and no HTTP response is produced. The certificate is not forwarded to the origin as an HTTP header.
OAuth2 client credentials token issued per participant.
If true, include historical (withdrawn or superseded) rates in the count. Default: false.
falseExample: falseapplication/json
application/jsonExample: application/jsonCount retrieved successfully.
Count of records matching the query.
Total count of matching records.
2Invalid Request
Authentication Failure
Authorization Failure
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal Server Error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
GET /v1/rates/count HTTP/1.1
Host: localhost:8080
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: application/json
{
"count": 2
}Voluntarily withdraws a rate by id so it is no longer used to generate quotes for PSPs. Sets isExpired=true and records expiryDateTime as a historical marker — not a time-based expiry. Already-issued quotes remain honoured for the NQVT window (600 seconds). Returns the withdrawn rate record.
- : Create or withdraw FXP rate records.
Nexus issued X.509 client certificate presented during the TLS handshake and validated at the Akamai global edge. The FXP generates its own key pair and submits a CSR during onboarding; Vault PKI (edge intermediate CA) signs it and the private key never leaves FXP infrastructure. Fail closed: a missing, expired, revoked or untrusted certificate causes the TLS handshake to fail at the edge and no HTTP response is produced. The certificate is not forwarded to the origin as an HTTP header.
OAuth2 client credentials token issued per participant.
UUID of the rate record to withdraw.
9929ea23-f29c-4053-b54a-5bf7a1bb348eapplication/json
application/jsonExample: application/jsonRate withdrawn successfully. Returns the withdrawn rate record with isExpired=true.
A single FXP rate record.
Nexus-assigned unique identifier for the rate record.
9929ea23-f29c-4053-b54a-5bf7a1bb348eNexus internal identifier for the FXP that owns this rate.
FXP-AISO 4217 source currency code resolved from sourceIAAccount.
EURISO 4217 destination currency code resolved from destinationIAAccount.
AUDSource IPS identifier resolved from sourceIAAccount.
EURTIPSDestination IPS identifier resolved from destinationIAAccount.
AUSNPPThe exchange rate.
1.5019ISO 8601 UTC timestamp when this rate record was created.
2024-11-01T10:00:00ZIf true, this rate has been superseded by a newer rate for the same account pair, or voluntarily withdrawn. Not a time-based expiry.
falseISO 8601 UTC timestamp when this rate was superseded or withdrawn. Null if still live.
Invalid Request
Authentication Failure
Authorization Failure
Rate Not Found
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal Server Error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
DELETE /v1/rates/{id} HTTP/1.1
Host: localhost:8080
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: application/json
{
"id": "9929ea23-f29c-4053-b54a-5bf7a1bb348e",
"fxpId": "FXP-A",
"sourceIAAccount": {
"addressTypeCode": "IBAN",
"fields": {
"iban": "DE89370400440532013000"
}
},
"destinationIAAccount": {
"addressTypeCode": "IBAN",
"fields": {
"iban": "DE89370400440532013000"
}
},
"sourceCurrency": "EUR",
"destinationCurrency": "AUD",
"sourceIps": "EURTIPS",
"destinationIps": "AUSNPP",
"rate": 1.5019,
"createdDateTime": "2024-11-01T10:00:00Z",
"isExpired": false,
"expiryDateTime": null
}Last updated
