For the complete documentation index, see llms.txt. This page is also available as Markdown.

FXP PSP Relationships

FXP will use the following APIs to list, add, update or delete business relationships with PSPs and set any price improvement (in bps) for a particular PSP.

List PSP relationships for an FXP

get
/v1/relationships/fxps/{fxpId}/psps

Returns all PSP relationships for the given FXP, including the configured PSP-based improvement (if any) for each PSP. Results are cursor-paginated.

Required scopes
This endpoint requires the following scopes:
  • : Read FXP–PSP relationship records.
Authorizations
mutualTLS

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.

OAuth2clientCredentialsRequired

OAuth2 client credentials token issued per participant.

Token URL:
Path parameters
fxpIdstringRequired

Nexus internal identifier for the FXP.

Example: FXP-A
Query parameters
limitinteger · min: 1Optional

Max items to return. Default 50.

Default: 50Example: 50
cursorstringOptional

Pagination cursor; omit for first page.

Example: eyJwayI6Li4ufQ==
Header parameters
AcceptstringRequired

application/json

Default: application/jsonExample: application/json
Responses
200

Relationships retrieved successfully.

application/json

Paginated list of FXP–PSP relationship records.

cursorstring · nullableOptional

Opaque cursor for the next page. Null if this is the last page.

Example: eyJwayI6Li4ufQ==
get/v1/relationships/fxps/{fxpId}/psps
GET /v1/relationships/fxps/{fxpId}/psps HTTP/1.1
Host: localhost:8080
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: application/json
{
  "items": [
    {
      "relationshipId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "fxpId": "FXP-A",
      "pspId": "PSP-C",
      "pspImprovementBps": 25,
      "createdDateTime": "2024-09-15T08:30:00Z",
      "updatedDateTime": "2024-10-01T12:00:00Z"
    }
  ],
  "cursor": "eyJwayI6Li4ufQ=="
}

Get a single FXP–PSP relationship

get
/v1/relationships/fxps/{fxpId}/psps/{pspId}

Returns a single FXP–PSP relationship, including the PSP-based improvement (if configured).

Required scopes
This endpoint requires the following scopes:
  • : Read FXP–PSP relationship records.
Authorizations
mutualTLS

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.

OAuth2clientCredentialsRequired

OAuth2 client credentials token issued per participant.

Token URL:
Path parameters
fxpIdstringRequired

Nexus internal identifier for the FXP.

Example: FXP-A
pspIdstringRequired

Nexus internal identifier for the PSP.

Example: PSP-C
Header parameters
AcceptstringRequired

application/json

Default: application/jsonExample: application/json
Responses
200

Relationship retrieved successfully.

application/json

A single FXP–PSP relationship record.

relationshipIdstring · uuidOptional

Nexus-assigned unique identifier for this relationship record.

Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
fxpIdstringOptional

Nexus internal identifier for the FXP.

Example: FXP-A
pspIdstringOptional

Nexus internal identifier for the PSP.

Example: PSP-C
pspImprovementBpsinteger · nullableOptional

PSP-based improvement in basis points. Null if no improvement is configured.

Example: 25
createdDateTimestring · date-timeOptional

ISO 8601 UTC timestamp when this relationship was created.

Example: 2024-09-15T08:30:00Z
updatedDateTimestring · nullableOptional

ISO 8601 UTC timestamp of the last update. Null if never updated.

Example: 2024-10-01T12:00:00Z
get/v1/relationships/fxps/{fxpId}/psps/{pspId}
GET /v1/relationships/fxps/{fxpId}/psps/{pspId} HTTP/1.1
Host: localhost:8080
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: application/json
{
  "relationshipId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "fxpId": "FXP-A",
  "pspId": "PSP-C",
  "pspImprovementBps": 25,
  "createdDateTime": "2024-09-15T08:30:00Z",
  "updatedDateTime": "2024-10-01T12:00:00Z"
}

Create an FXP–PSP relationship

post
/v1/relationships/fxps/{fxpId}/psps/{pspId}

Creates an FXP–PSP relationship, recording that the FXP is eligible to provide FX quotes to the specified PSP. Optionally configures a PSP-based improvement in basis points. The improvement applies to all currencies for this PSP.

Required scopes
This endpoint requires the following scopes:
  • : Create, update, or delete FXP–PSP relationship records.
Authorizations
mutualTLS

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.

OAuth2clientCredentialsRequired

OAuth2 client credentials token issued per participant.

Token URL:
Path parameters
fxpIdstringRequired

Nexus internal identifier for the FXP.

Example: FXP-A
pspIdstringRequired

Nexus internal identifier for the PSP.

Example: PSP-C
Header parameters
AcceptstringRequired

application/json

Default: application/jsonExample: application/json
Body

Request body for creating an FXP–PSP relationship. pspImprovementBps is optional.

pspImprovementBpsinteger · nullableOptional

PSP-based improvement in basis points. Omit to apply the FXP base rate without improvement to this PSP.

Example: 25
Responses
200

Relationship created successfully. Returns the new relationship record.

application/json

A single FXP–PSP relationship record.

relationshipIdstring · uuidOptional

Nexus-assigned unique identifier for this relationship record.

Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
fxpIdstringOptional

Nexus internal identifier for the FXP.

Example: FXP-A
pspIdstringOptional

Nexus internal identifier for the PSP.

Example: PSP-C
pspImprovementBpsinteger · nullableOptional

PSP-based improvement in basis points. Null if no improvement is configured.

Example: 25
createdDateTimestring · date-timeOptional

ISO 8601 UTC timestamp when this relationship was created.

Example: 2024-09-15T08:30:00Z
updatedDateTimestring · nullableOptional

ISO 8601 UTC timestamp of the last update. Null if never updated.

Example: 2024-10-01T12:00:00Z
post/v1/relationships/fxps/{fxpId}/psps/{pspId}
POST /v1/relationships/fxps/{fxpId}/psps/{pspId} HTTP/1.1
Host: localhost:8080
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: application/json
Content-Type: application/json
Content-Length: 24

{
  "pspImprovementBps": 25
}
{
  "relationshipId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "fxpId": "FXP-A",
  "pspId": "PSP-C",
  "pspImprovementBps": 25,
  "createdDateTime": "2024-09-15T08:30:00Z",
  "updatedDateTime": "2024-10-01T12:00:00Z"
}

Update an FXP–PSP relationship

put
/v1/relationships/fxps/{fxpId}/psps/{pspId}

Updates an existing FXP–PSP relationship. Replaces the configured PSP-based improvement in basis points. Set pspImprovementBps to 0 to remove the improvement so the FXP's base rate applies.

Required scopes
This endpoint requires the following scopes:
  • : Create, update, or delete FXP–PSP relationship records.
Authorizations
mutualTLS

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.

OAuth2clientCredentialsRequired

OAuth2 client credentials token issued per participant.

Token URL:
Path parameters
fxpIdstringRequired

Nexus internal identifier for the FXP.

Example: FXP-A
pspIdstringRequired

Nexus internal identifier for the PSP.

Example: PSP-C
Header parameters
AcceptstringRequired

application/json

Default: application/jsonExample: application/json
Body

Request body for updating an FXP–PSP relationship improvement.

pspImprovementBpsintegerRequired

Updated PSP-based improvement in basis points. Set to 0 to remove the improvement so the base rate applies.

Example: 50
Responses
200

Relationship updated successfully. Returns the updated relationship record.

application/json

A single FXP–PSP relationship record.

relationshipIdstring · uuidOptional

Nexus-assigned unique identifier for this relationship record.

Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
fxpIdstringOptional

Nexus internal identifier for the FXP.

Example: FXP-A
pspIdstringOptional

Nexus internal identifier for the PSP.

Example: PSP-C
pspImprovementBpsinteger · nullableOptional

PSP-based improvement in basis points. Null if no improvement is configured.

Example: 25
createdDateTimestring · date-timeOptional

ISO 8601 UTC timestamp when this relationship was created.

Example: 2024-09-15T08:30:00Z
updatedDateTimestring · nullableOptional

ISO 8601 UTC timestamp of the last update. Null if never updated.

Example: 2024-10-01T12:00:00Z
put/v1/relationships/fxps/{fxpId}/psps/{pspId}
PUT /v1/relationships/fxps/{fxpId}/psps/{pspId} HTTP/1.1
Host: localhost:8080
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: application/json
Content-Type: application/json
Content-Length: 24

{
  "pspImprovementBps": 50
}
{
  "relationshipId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "fxpId": "FXP-A",
  "pspId": "PSP-C",
  "pspImprovementBps": 25,
  "createdDateTime": "2024-09-15T08:30:00Z",
  "updatedDateTime": "2024-10-01T12:00:00Z"
}

Delete an FXP–PSP relationship

delete
/v1/relationships/fxps/{fxpId}/psps/{pspId}

Deletes the FXP–PSP relationship so the FXP is no longer eligible to provide quotes to that PSP. Returns 204 No Content on success.

Required scopes
This endpoint requires the following scopes:
  • : Create, update, or delete FXP–PSP relationship records.
Authorizations
mutualTLS

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.

OAuth2clientCredentialsRequired

OAuth2 client credentials token issued per participant.

Token URL:
Path parameters
fxpIdstringRequired

Nexus internal identifier for the FXP.

Example: FXP-A
pspIdstringRequired

Nexus internal identifier for the PSP.

Example: PSP-C
Responses
204

Relationship deleted successfully. No content returned.

No content

delete/v1/relationships/fxps/{fxpId}/psps/{pspId}
DELETE /v1/relationships/fxps/{fxpId}/psps/{pspId} HTTP/1.1
Host: localhost:8080
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*

No content

Last updated