diff --git a/mintlify/openapi.yaml b/mintlify/openapi.yaml index 47ae971f..a0caaf16 100644 --- a/mintlify/openapi.yaml +++ b/mintlify/openapi.yaml @@ -3,7 +3,7 @@ info: title: Grid API description: | API for managing global payments on the open Money Grid. Built by Lightspark. See the full documentation at https://docs.lightspark.com/. - version: '2026-06-25' + version: '2026-06-29' contact: name: Lightspark Support email: support@lightspark.com @@ -17176,6 +17176,13 @@ components: - FUNDING_AMOUNT_MISMATCH - COUNTERPARTY_POST_TX_FAILED description: Reason for failure of an outgoing transaction. This is used to provide more context on why a transaction failed. If the transaction is not in a failed state, this field is omitted. + RailSelectionMode: + type: string + enum: + - AUTO + - MANUAL + description: How the payment rail was chosen — MANUAL when the platform specified a paymentRail on the destination, AUTO when Lightspark selects it. + example: AUTO OutgoingTransaction: title: Outgoing Transaction allOf: @@ -17248,6 +17255,27 @@ components: failureReason: $ref: '#/components/schemas/OutgoingTransactionFailureReason' description: If the transaction failed, this field provides the reason for failure. + paymentRail: + anyOf: + - $ref: '#/components/schemas/PaymentRail' + - type: 'null' + description: The payment rail used to settle this transaction (e.g. ACH, WIRE, NEFT, FASTER_PAYMENTS). Uses the same values as the PaymentRail sent on quote requests. Null when no external rail is used (e.g. instant or intra-network transfers, or non-direct-destination transactions) or before a rail is resolved. + railSelectionMode: + anyOf: + - $ref: '#/components/schemas/RailSelectionMode' + - type: 'null' + description: How the rail was chosen — MANUAL when the platform specified a paymentRail on the destination, AUTO when Lightspark selects it. Null when no rail is resolved. + expectedSettlementAt: + type: + - string + - 'null' + format: date-time + description: Expected settlement time at the beneficiary. Null for instant rails (settlement is immediate) and before a rail with deferred settlement is resolved. + settlementTimelineSeconds: + type: + - integer + - 'null' + description: Expected number of seconds from quote creation to settlement. Null when not yet known. CardTransactionStatus: type: string enum: diff --git a/mintlify/ramps/platform-tools/webhooks.mdx b/mintlify/ramps/platform-tools/webhooks.mdx index d782d4cc..db4bcff8 100644 --- a/mintlify/ramps/platform-tools/webhooks.mdx +++ b/mintlify/ramps/platform-tools/webhooks.mdx @@ -37,7 +37,11 @@ Grid sends webhooks for key events in the ramp lifecycle: "customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001", "settledAt": "2025-10-03T15:02:30Z", "exchangeRate": 9.5, - "quoteId": "Quote:019542f5-b3e7-1d02-0000-000000000006" + "quoteId": "Quote:019542f5-b3e7-1d02-0000-000000000006", + "paymentRail": "ACH", + "railSelectionMode": "AUTO", + "expectedSettlementAt": "2025-10-04T15:00:00Z", + "settlementTimelineSeconds": 86400 } } ``` diff --git a/openapi.yaml b/openapi.yaml index 47ae971f..a0caaf16 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -3,7 +3,7 @@ info: title: Grid API description: | API for managing global payments on the open Money Grid. Built by Lightspark. See the full documentation at https://docs.lightspark.com/. - version: '2026-06-25' + version: '2026-06-29' contact: name: Lightspark Support email: support@lightspark.com @@ -17176,6 +17176,13 @@ components: - FUNDING_AMOUNT_MISMATCH - COUNTERPARTY_POST_TX_FAILED description: Reason for failure of an outgoing transaction. This is used to provide more context on why a transaction failed. If the transaction is not in a failed state, this field is omitted. + RailSelectionMode: + type: string + enum: + - AUTO + - MANUAL + description: How the payment rail was chosen — MANUAL when the platform specified a paymentRail on the destination, AUTO when Lightspark selects it. + example: AUTO OutgoingTransaction: title: Outgoing Transaction allOf: @@ -17248,6 +17255,27 @@ components: failureReason: $ref: '#/components/schemas/OutgoingTransactionFailureReason' description: If the transaction failed, this field provides the reason for failure. + paymentRail: + anyOf: + - $ref: '#/components/schemas/PaymentRail' + - type: 'null' + description: The payment rail used to settle this transaction (e.g. ACH, WIRE, NEFT, FASTER_PAYMENTS). Uses the same values as the PaymentRail sent on quote requests. Null when no external rail is used (e.g. instant or intra-network transfers, or non-direct-destination transactions) or before a rail is resolved. + railSelectionMode: + anyOf: + - $ref: '#/components/schemas/RailSelectionMode' + - type: 'null' + description: How the rail was chosen — MANUAL when the platform specified a paymentRail on the destination, AUTO when Lightspark selects it. Null when no rail is resolved. + expectedSettlementAt: + type: + - string + - 'null' + format: date-time + description: Expected settlement time at the beneficiary. Null for instant rails (settlement is immediate) and before a rail with deferred settlement is resolved. + settlementTimelineSeconds: + type: + - integer + - 'null' + description: Expected number of seconds from quote creation to settlement. Null when not yet known. CardTransactionStatus: type: string enum: diff --git a/openapi/components/schemas/common/RailSelectionMode.yaml b/openapi/components/schemas/common/RailSelectionMode.yaml new file mode 100644 index 00000000..a5ff3a84 --- /dev/null +++ b/openapi/components/schemas/common/RailSelectionMode.yaml @@ -0,0 +1,8 @@ +type: string +enum: + - AUTO + - MANUAL +description: >- + How the payment rail was chosen — MANUAL when the platform specified a + paymentRail on the destination, AUTO when Lightspark selects it. +example: AUTO diff --git a/openapi/components/schemas/transactions/OutgoingTransaction.yaml b/openapi/components/schemas/transactions/OutgoingTransaction.yaml index 5b51c745..b6ff7eb1 100644 --- a/openapi/components/schemas/transactions/OutgoingTransaction.yaml +++ b/openapi/components/schemas/transactions/OutgoingTransaction.yaml @@ -73,3 +73,37 @@ allOf: failureReason: $ref: ./OutgoingTransactionFailureReason.yaml description: If the transaction failed, this field provides the reason for failure. + paymentRail: + anyOf: + - $ref: ../common/PaymentRail.yaml + - type: 'null' + description: >- + The payment rail used to settle this transaction (e.g. ACH, WIRE, + NEFT, FASTER_PAYMENTS). Uses the same values as the PaymentRail sent + on quote requests. Null when no external rail is used (e.g. instant + or intra-network transfers, or non-direct-destination transactions) + or before a rail is resolved. + railSelectionMode: + anyOf: + - $ref: ../common/RailSelectionMode.yaml + - type: 'null' + description: >- + How the rail was chosen — MANUAL when the platform specified a + paymentRail on the destination, AUTO when Lightspark selects it. Null + when no rail is resolved. + expectedSettlementAt: + type: + - string + - 'null' + format: date-time + description: >- + Expected settlement time at the beneficiary. Null for instant rails + (settlement is immediate) and before a rail with deferred settlement + is resolved. + settlementTimelineSeconds: + type: + - integer + - 'null' + description: >- + Expected number of seconds from quote creation to settlement. Null + when not yet known. diff --git a/openapi/openapi.yaml b/openapi/openapi.yaml index dbd09c84..674dd22a 100644 --- a/openapi/openapi.yaml +++ b/openapi/openapi.yaml @@ -4,7 +4,7 @@ info: title: Grid API description: > API for managing global payments on the open Money Grid. Built by Lightspark. See the full documentation at https://docs.lightspark.com/. - version: "2026-06-25" + version: "2026-06-29" contact: name: Lightspark Support email: support@lightspark.com