Merge pull request 'docs fix' (#556) from docs-555 into main
All checks were successful
ci/woodpecker/push/frontend Pipeline was successful

Reviewed-on: #556
This commit was merged in pull request #556.
This commit is contained in:
2026-02-27 00:30:22 +00:00
47 changed files with 196 additions and 73 deletions

View File

@@ -1,7 +1,7 @@
openapi: 3.1.0 openapi: 3.1.0
info: info:
title: Sendico Payment API Contract title: Sendico Payment API Contract
version: 1.0.0 version: 3.0.0
summary: Minimal client contract for payment execution flows via BFF. summary: Minimal client contract for payment execution flows via BFF.
description: | description: |
OpenAPI 3.1 contract focused on flows required to perform payments: OpenAPI 3.1 contract focused on flows required to perform payments:
@@ -21,7 +21,7 @@ tags:
description: Organization selection for payment operations description: Organization selection for payment operations
- name: Recipients - name: Recipients
description: Recipient CRUD and archive flows description: Recipient CRUD and archive flows
- name: PaymentMethods - name: Payment Methods
description: Payment method CRUD and archive flows description: Payment method CRUD and archive flows
- name: Payments - name: Payments
description: Quotation and payment orchestration description: Quotation and payment orchestration

View File

@@ -1,6 +1,9 @@
post: post:
tags: [Accounts, Auth] tags: [Accounts, Auth]
summary: Login using email/password and receive pending verification token summary: Login using email/password and receive pending verification token
description: |
Validates account credentials and returns a short-lived `pendingToken`.
This endpoint does not return final access/refresh tokens; complete verification flow via `/verification/verify`.
operationId: accountsLogin operationId: accountsLogin
requestBody: requestBody:
$ref: ./bodies/auth.yaml#/components/requestBodies/LoginBody $ref: ./bodies/auth.yaml#/components/requestBodies/LoginBody

View File

@@ -1,6 +1,9 @@
post: post:
tags: [Accounts, Auth] tags: [Accounts, Auth]
summary: Refresh access token by refresh token summary: Refresh access token by refresh token
description: |
Validates refresh token + session identifiers and issues a new access token.
Use this endpoint when refresh token stays the same.
operationId: accountsRefreshAccessToken operationId: accountsRefreshAccessToken
requestBody: requestBody:
$ref: ./bodies/auth.yaml#/components/requestBodies/RefreshTokenBody $ref: ./bodies/auth.yaml#/components/requestBodies/RefreshTokenBody

View File

@@ -1,6 +1,9 @@
post: post:
tags: [Accounts, Auth] tags: [Accounts, Auth]
summary: Rotate refresh token and issue new access/refresh tokens summary: Rotate refresh token and issue new access/refresh tokens
description: |
Validates refresh token + session identifiers and returns a new token pair.
Use this endpoint when replacing both access and refresh tokens.
operationId: accountsRotateRefreshToken operationId: accountsRotateRefreshToken
requestBody: requestBody:
$ref: ./bodies/auth.yaml#/components/requestBodies/RefreshTokenBody $ref: ./bodies/auth.yaml#/components/requestBodies/RefreshTokenBody

View File

@@ -1,6 +1,7 @@
get: get:
tags: [Organizations] tags: [Organizations]
summary: Get organization by reference summary: Get organization by reference
description: Fetches a single organization available to the authenticated account.
operationId: organizationsGet operationId: organizationsGet
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -1,6 +1,7 @@
get: get:
tags: [Organizations] tags: [Organizations]
summary: List organizations of current account summary: List organizations of current account
description: Returns organizations the authenticated account can access.
operationId: organizationsList operationId: organizationsList
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -4,5 +4,6 @@ components:
name: archived name: archived
in: query in: query
required: false required: false
description: Filter by archive flag. `true` returns archived records, `false` returns active records.
schema: schema:
type: boolean type: boolean

View File

@@ -4,5 +4,6 @@ components:
name: cascade name: cascade
in: query in: query
required: false required: false
description: If `true`, apply operation to dependent objects where cascade is supported.
schema: schema:
type: boolean type: boolean

View File

@@ -4,5 +4,6 @@ components:
name: cursor name: cursor
in: query in: query
required: false required: false
description: Opaque cursor from a previous page response (`page.next_cursor`).
schema: schema:
type: string type: string

View File

@@ -4,5 +4,6 @@ components:
name: destination_ref name: destination_ref
in: query in: query
required: false required: false
description: Optional destination endpoint reference filter (service-specific usage).
schema: schema:
type: string type: string

View File

@@ -4,5 +4,8 @@ components:
name: filter_states name: filter_states
in: query in: query
required: false required: false
description: |
Additional payment state filter. Accepts one value or comma-separated values.
Same semantics as `state`/`states`.
schema: schema:
type: string type: string

View File

@@ -3,9 +3,9 @@ components:
Limit: Limit:
name: limit name: limit
in: query in: query
description: Max number of items to return. description: Max number of items to return. Parsed as non-negative int64.
required: false required: false
schema: schema:
type: integer type: integer
format: int32 format: int64
minimum: 0 minimum: 0

View File

@@ -3,9 +3,9 @@ components:
Offset: Offset:
name: offset name: offset
in: query in: query
description: Number of items to skip. description: Number of items to skip. Parsed as non-negative int64.
required: false required: false
schema: schema:
type: integer type: integer
format: int32 format: int64
minimum: 0 minimum: 0

View File

@@ -4,5 +4,6 @@ components:
name: org_ref name: org_ref
in: path in: path
required: true required: true
description: Organization reference in BFF route format (Mongo ObjectId, 24 hex chars).
schema: schema:
$ref: ../../models/objectid.yaml#/components/schemas/ObjectId $ref: ../../models/objectid.yaml#/components/schemas/ObjectId

View File

@@ -4,5 +4,6 @@ components:
name: organizations_ref name: organizations_ref
in: path in: path
required: true required: true
description: Organization reference used by payments/payment-methods/recipients routes.
schema: schema:
$ref: ../../models/objectid.yaml#/components/schemas/ObjectId $ref: ../../models/objectid.yaml#/components/schemas/ObjectId

View File

@@ -1,8 +1,9 @@
components: components:
parameters: parameters:
PaymentMethodsRef: Payment MethodsRef:
name: payment_methods_ref name: payment_methods_ref
in: path in: path
required: true required: true
description: Payment method reference (Mongo ObjectId, 24 hex chars).
schema: schema:
$ref: ../../models/objectid.yaml#/components/schemas/ObjectId $ref: ../../models/objectid.yaml#/components/schemas/ObjectId

View File

@@ -4,5 +4,6 @@ components:
name: recipients_ref name: recipients_ref
in: path in: path
required: true required: true
description: Recipient reference (Mongo ObjectId, 24 hex chars).
schema: schema:
$ref: ../../models/objectid.yaml#/components/schemas/ObjectId $ref: ../../models/objectid.yaml#/components/schemas/ObjectId

View File

@@ -4,5 +4,6 @@ components:
name: source_ref name: source_ref
in: query in: query
required: false required: false
description: Optional source endpoint reference filter (service-specific usage).
schema: schema:
type: string type: string

View File

@@ -4,5 +4,8 @@ components:
name: state name: state
in: query in: query
required: false required: false
description: |
Payment state filter. Accepts aliases like `accepted`, `settled`, `failed`
or canonical values like `orchestration_state_created`.
schema: schema:
type: string type: string

View File

@@ -4,5 +4,7 @@ components:
name: states name: states
in: query in: query
required: false required: false
description: |
Multi-state filter. Provide a comma-separated list with same accepted values as `state`.
schema: schema:
type: string type: string

View File

@@ -1,15 +1,17 @@
get: get:
tags: [PaymentMethods] tags: [Payment Methods]
summary: Archive/unarchive payment method summary: Archive/unarchive payment method
description: Sets payment method archive state by `payment_methods_ref` and required `archived` query parameter.
operationId: paymentMethodsArchive operationId: paymentMethodsArchive
security: security:
- bearerAuth: [] - bearerAuth: []
parameters: parameters:
- $ref: ../parameters/organizations_ref.yaml#/components/parameters/OrganizationsRef - $ref: ../parameters/organizations_ref.yaml#/components/parameters/OrganizationsRef
- $ref: ../parameters/payment_methods_ref.yaml#/components/parameters/PaymentMethodsRef - $ref: ../parameters/payment_methods_ref.yaml#/components/parameters/Payment MethodsRef
- name: archived - name: archived
in: query in: query
required: true required: true
description: Target archive value to set on the payment method.
schema: schema:
type: boolean type: boolean
- $ref: ../parameters/cascade.yaml#/components/parameters/Cascade - $ref: ../parameters/cascade.yaml#/components/parameters/Cascade
@@ -24,7 +26,7 @@ get:
- type: object - type: object
properties: properties:
data: data:
$ref: ./response/payment_method.yaml#/components/schemas/PaymentMethodsAuthData $ref: ./response/payment_method.yaml#/components/schemas/Payment MethodsAuthData
'400': '400':
$ref: ../response/operation.yaml#/components/responses/BadRequest $ref: ../response/operation.yaml#/components/responses/BadRequest
'401': '401':

View File

@@ -1,6 +1,7 @@
post: post:
tags: [PaymentMethods] tags: [Payment Methods]
summary: Create payment method summary: Create payment method
description: Creates a payment method in the organization identified by `organizations_ref`.
operationId: paymentMethodsCreate operationId: paymentMethodsCreate
security: security:
- bearerAuth: [] - bearerAuth: []
@@ -19,7 +20,7 @@ post:
- type: object - type: object
properties: properties:
data: data:
$ref: ./response/payment_method.yaml#/components/schemas/PaymentMethodsAuthData $ref: ./response/payment_method.yaml#/components/schemas/Payment MethodsAuthData
'400': '400':
$ref: ../response/operation.yaml#/components/responses/BadRequest $ref: ../response/operation.yaml#/components/responses/BadRequest
'401': '401':

View File

@@ -1,6 +1,9 @@
get: get:
tags: [PaymentMethods] tags: [Payment Methods]
summary: List payment methods for recipient summary: List payment methods for recipient
description: |
Returns payment methods available for `recipients_ref` within `organizations_ref`.
Supports offset pagination and optional archive filtering.
operationId: paymentMethodsList operationId: paymentMethodsList
security: security:
- bearerAuth: [] - bearerAuth: []
@@ -21,7 +24,7 @@ get:
- type: object - type: object
properties: properties:
data: data:
$ref: ./response/payment_method.yaml#/components/schemas/PaymentMethodsAuthData $ref: ./response/payment_method.yaml#/components/schemas/Payment MethodsAuthData
'400': '400':
$ref: ../response/operation.yaml#/components/responses/BadRequest $ref: ../response/operation.yaml#/components/responses/BadRequest
'401': '401':

View File

@@ -1,11 +1,12 @@
get: get:
tags: [PaymentMethods] tags: [Payment Methods]
summary: Get payment method summary: Get payment method
description: Returns payment method by `payment_methods_ref`.
operationId: paymentMethodsGet operationId: paymentMethodsGet
security: security:
- bearerAuth: [] - bearerAuth: []
parameters: parameters:
- $ref: ../parameters/payment_methods_ref.yaml#/components/parameters/PaymentMethodsRef - $ref: ../parameters/payment_methods_ref.yaml#/components/parameters/Payment MethodsRef
responses: responses:
'200': '200':
description: Payment method data description: Payment method data
@@ -17,7 +18,7 @@ get:
- type: object - type: object
properties: properties:
data: data:
$ref: ./response/payment_method.yaml#/components/schemas/PaymentMethodsAuthData $ref: ./response/payment_method.yaml#/components/schemas/Payment MethodsAuthData
'400': '400':
$ref: ../response/operation.yaml#/components/responses/BadRequest $ref: ../response/operation.yaml#/components/responses/BadRequest
'401': '401':
@@ -30,13 +31,14 @@ get:
$ref: ../response/operation.yaml#/components/responses/InternalServerError $ref: ../response/operation.yaml#/components/responses/InternalServerError
delete: delete:
tags: [PaymentMethods] tags: [Payment Methods]
summary: Delete payment method summary: Delete payment method
description: Deletes payment method by reference. Use `cascade=true` to remove dependent objects when supported.
operationId: paymentMethodsDelete operationId: paymentMethodsDelete
security: security:
- bearerAuth: [] - bearerAuth: []
parameters: parameters:
- $ref: ../parameters/payment_methods_ref.yaml#/components/parameters/PaymentMethodsRef - $ref: ../parameters/payment_methods_ref.yaml#/components/parameters/Payment MethodsRef
- $ref: ../parameters/cascade.yaml#/components/parameters/Cascade - $ref: ../parameters/cascade.yaml#/components/parameters/Cascade
responses: responses:
'200': '200':
@@ -49,7 +51,7 @@ delete:
- type: object - type: object
properties: properties:
data: data:
$ref: ./response/payment_method.yaml#/components/schemas/PaymentMethodsAuthData $ref: ./response/payment_method.yaml#/components/schemas/Payment MethodsAuthData
'400': '400':
$ref: ../response/operation.yaml#/components/responses/BadRequest $ref: ../response/operation.yaml#/components/responses/BadRequest
'401': '401':

View File

@@ -1,6 +1,6 @@
components: components:
schemas: schemas:
PaymentMethodsAuthData: Payment MethodsAuthData:
type: object type: object
additionalProperties: false additionalProperties: false
required: required:

View File

@@ -1,6 +1,7 @@
put: put:
tags: [PaymentMethods] tags: [Payment Methods]
summary: Update payment method summary: Update payment method
description: Updates payment method fields from request payload.
operationId: paymentMethodsUpdate operationId: paymentMethodsUpdate
security: security:
- bearerAuth: [] - bearerAuth: []
@@ -17,7 +18,7 @@ put:
- type: object - type: object
properties: properties:
data: data:
$ref: ./response/payment_method.yaml#/components/schemas/PaymentMethodsAuthData $ref: ./response/payment_method.yaml#/components/schemas/Payment MethodsAuthData
'400': '400':
$ref: ../response/operation.yaml#/components/responses/BadRequest $ref: ../response/operation.yaml#/components/responses/BadRequest
'401': '401':

View File

@@ -1,6 +1,7 @@
post: post:
tags: [Payments] tags: [Payments]
summary: Initiate payment batch by quote reference summary: Initiate payment batch by quote reference
description: Executes batch payment from a previously created multi-quote reference.
operationId: paymentsInitiateBatchByQuote operationId: paymentsInitiateBatchByQuote
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -1,6 +1,7 @@
post: post:
tags: [Payments] tags: [Payments]
summary: Initiate payment using quote reference summary: Initiate payment using quote reference
description: Executes one payment from an existing quote reference (`quoteRef` required, `intent` forbidden).
operationId: paymentsInitiateByQuote operationId: paymentsInitiateByQuote
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -1,6 +1,7 @@
post: post:
tags: [Payments] tags: [Payments]
summary: Initiate payment from immediate intent summary: Initiate payment from immediate intent
description: Creates quote and executes a single payment in one call (request must include `intent`).
operationId: paymentsInitiateImmediate operationId: paymentsInitiateImmediate
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -1,6 +1,9 @@
get: get:
tags: [Payments] tags: [Payments]
summary: List payments in organization summary: List payments in organization
description: |
Returns organization payments with cursor pagination and optional filters.
State filters accept aliases (`accepted`, `settled`, `failed`, etc.) or canonical orchestration states.
operationId: paymentsList operationId: paymentsList
security: security:
- bearerAuth: [] - bearerAuth: []
@@ -11,17 +14,20 @@ get:
- name: quotation_ref - name: quotation_ref
in: query in: query
required: false required: false
description: Filter by quotation reference used for execution.
schema: schema:
type: string type: string
- name: created_from - name: created_from
in: query in: query
required: false required: false
description: Include payments created at or after this RFC3339 timestamp.
schema: schema:
type: string type: string
format: date-time format: date-time
- name: created_to - name: created_to
in: query in: query
required: false required: false
description: Include payments created before this RFC3339 timestamp (must be after `created_from`).
schema: schema:
type: string type: string
format: date-time format: date-time

View File

@@ -1,6 +1,7 @@
post: post:
tags: [Payments] tags: [Payments]
summary: Quote multiple payment intents summary: Quote multiple payment intents
description: Calculates a batch quote for multiple payment intents in one request.
operationId: paymentsMultiQuote operationId: paymentsMultiQuote
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -1,6 +1,7 @@
post: post:
tags: [Payments] tags: [Payments]
summary: Quote single payment intent summary: Quote single payment intent
description: Calculates quote for one payment intent without executing payment.
operationId: paymentsQuote operationId: paymentsQuote
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -31,9 +31,7 @@ components:
type: string type: string
quoteRef: quoteRef:
type: string type: string
aggregate: items:
$ref: ../../../models/payment/payment.yaml#/components/schemas/PaymentQuoteAggregate
quotes:
type: array type: array
items: items:
$ref: ../../../models/payment/payment.yaml#/components/schemas/PaymentQuote $ref: ../../../models/payment/payment.yaml#/components/schemas/PaymentQuote
@@ -43,6 +41,7 @@ components:
additionalProperties: false additionalProperties: false
required: required:
- accessToken - accessToken
- payments
properties: properties:
accessToken: accessToken:
$ref: ../../../models/auth/token_data.yaml#/components/schemas/TokenData $ref: ../../../models/auth/token_data.yaml#/components/schemas/TokenData

View File

@@ -1,6 +1,7 @@
get: get:
tags: [Recipients] tags: [Recipients]
summary: Archive/unarchive recipient summary: Archive/unarchive recipient
description: Sets recipient archive state by `recipients_ref` and required `archived` query parameter.
operationId: recipientsArchive operationId: recipientsArchive
security: security:
- bearerAuth: [] - bearerAuth: []
@@ -10,6 +11,7 @@ get:
- name: archived - name: archived
in: query in: query
required: true required: true
description: Target archive value to set on the recipient.
schema: schema:
type: boolean type: boolean
- $ref: ../parameters/cascade.yaml#/components/parameters/Cascade - $ref: ../parameters/cascade.yaml#/components/parameters/Cascade

View File

@@ -1,6 +1,7 @@
post: post:
tags: [Recipients] tags: [Recipients]
summary: Create recipient summary: Create recipient
description: Creates a recipient inside the organization identified by `org_ref`.
operationId: recipientsCreate operationId: recipientsCreate
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -1,6 +1,9 @@
get: get:
tags: [Recipients] tags: [Recipients]
summary: List recipients summary: List recipients
description: |
Returns recipients for the specified organization context.
Supports offset pagination and optional archive filtering.
operationId: recipientsList operationId: recipientsList
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -1,6 +1,7 @@
get: get:
tags: [Recipients] tags: [Recipients]
summary: Get recipient by reference summary: Get recipient by reference
description: Returns a recipient by `recipients_ref`.
operationId: recipientsGet operationId: recipientsGet
security: security:
- bearerAuth: [] - bearerAuth: []
@@ -32,6 +33,7 @@ get:
delete: delete:
tags: [Recipients] tags: [Recipients]
summary: Delete recipient summary: Delete recipient
description: Deletes recipient by reference. Use `cascade=true` to remove dependent objects when supported.
operationId: recipientsDelete operationId: recipientsDelete
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -1,6 +1,7 @@
put: put:
tags: [Recipients] tags: [Recipients]
summary: Update recipient summary: Update recipient
description: Updates recipient fields from request payload.
operationId: recipientsUpdate operationId: recipientsUpdate
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -1,6 +1,9 @@
post: post:
tags: [Verification, Auth] tags: [Verification, Auth]
summary: Request verification code summary: Request verification code
description: |
Creates a verification challenge for the specified purpose/target.
For `purpose=login`, request must be authorized with a pending account token.
operationId: verificationRequestCode operationId: verificationRequestCode
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -5,7 +5,6 @@ components:
additionalProperties: false additionalProperties: false
required: required:
- purpose - purpose
- idempotencyKey
properties: properties:
purpose: purpose:
type: string type: string

View File

@@ -1,6 +1,9 @@
post: post:
tags: [Verification, Auth] tags: [Verification, Auth]
summary: Resend verification code summary: Resend verification code
description: |
Re-issues a verification challenge using the same request shape as `/verification`.
Cooldown and retry limits are enforced by backend verification storage policy.
operationId: verificationResendCode operationId: verificationResendCode
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -1,6 +1,9 @@
post: post:
tags: [Verification, Auth] tags: [Verification, Auth]
summary: Verify code and complete pending flow summary: Verify code and complete pending flow
description: |
Verifies submitted code and consumes verification token.
For login purpose, returns full auth payload (access + refresh tokens); for other purposes returns operation result.
operationId: verificationVerifyCode operationId: verificationVerifyCode
security: security:
- bearerAuth: [] - bearerAuth: []

View File

@@ -8,3 +8,4 @@ components:
- cryptoAddress - cryptoAddress
- card - card
- cardToken - cardToken
- wallet

View File

@@ -3,6 +3,5 @@ components:
FxSide: FxSide:
type: string type: string
enum: enum:
- unspecified
- buy_base_sell_quote - buy_base_sell_quote
- sell_base_buy_quote - sell_base_buy_quote

View File

@@ -3,7 +3,6 @@ components:
PaymentKind: PaymentKind:
type: string type: string
enum: enum:
- unspecified
- payout - payout
- internal_transfer - internal_transfer
- fx_conversion - fx_conversion

View File

@@ -3,10 +3,9 @@ components:
PaymentState: PaymentState:
type: string type: string
enum: enum:
- payment_state_unspecified - orchestration_state_unspecified
- payment_state_accepted - orchestration_state_created
- payment_state_funds_reserved - orchestration_state_executing
- payment_state_submitted - orchestration_state_needs_attention
- payment_state_settled - orchestration_state_settled
- payment_state_failed - orchestration_state_failed
- payment_state_cancelled

View File

@@ -13,6 +13,9 @@ components:
LedgerEndpoint: LedgerEndpoint:
type: object type: object
additionalProperties: false
required:
- ledger_account_ref
properties: properties:
ledger_account_ref: ledger_account_ref:
type: string type: string
@@ -21,6 +24,9 @@ components:
ManagedWalletEndpoint: ManagedWalletEndpoint:
type: object type: object
additionalProperties: false
required:
- managed_wallet_ref
properties: properties:
managed_wallet_ref: managed_wallet_ref:
type: string type: string
@@ -29,6 +35,10 @@ components:
ExternalChainEndpoint: ExternalChainEndpoint:
type: object type: object
additionalProperties: false
required:
- asset
- address
properties: properties:
asset: asset:
$ref: ./payment.yaml#/components/schemas/Asset $ref: ./payment.yaml#/components/schemas/Asset
@@ -39,6 +49,9 @@ components:
CardEndpoint: CardEndpoint:
type: object type: object
additionalProperties: false
required:
- pan
properties: properties:
pan: pan:
type: string type: string
@@ -49,20 +62,34 @@ components:
exp_month: exp_month:
type: integer type: integer
format: int32 format: int32
minimum: 0
exp_year: exp_year:
type: integer type: integer
format: int32 format: int32
minimum: 0
country: country:
type: string type: string
CardTokenEndpoint: CardTokenEndpoint:
type: object type: object
additionalProperties: false
required:
- token
properties: properties:
token: token:
type: string type: string
masked_pan: masked_pan:
type: string type: string
WalletEndpoint:
type: object
additionalProperties: false
required:
- walletId
properties:
walletId:
type: string
Endpoint: Endpoint:
type: object type: object
additionalProperties: false additionalProperties: false
@@ -73,8 +100,13 @@ components:
type: type:
$ref: ../../external/endpoint_type.yaml#/components/schemas/EndpointType $ref: ../../external/endpoint_type.yaml#/components/schemas/EndpointType
data: data:
type: object oneOf:
additionalProperties: true - $ref: ./payment.yaml#/components/schemas/LedgerEndpoint
- $ref: ./payment.yaml#/components/schemas/ManagedWalletEndpoint
- $ref: ./payment.yaml#/components/schemas/ExternalChainEndpoint
- $ref: ./payment.yaml#/components/schemas/CardEndpoint
- $ref: ./payment.yaml#/components/schemas/CardTokenEndpoint
- $ref: ./payment.yaml#/components/schemas/WalletEndpoint
metadata: metadata:
type: object type: object
additionalProperties: additionalProperties:
@@ -121,6 +153,7 @@ components:
type: object type: object
additionalProperties: false additionalProperties: false
required: required:
- pair
- side - side
properties: properties:
pair: pair:
@@ -159,8 +192,12 @@ components:
$ref: ./payment.yaml#/components/schemas/FxIntent $ref: ./payment.yaml#/components/schemas/FxIntent
settlement_mode: settlement_mode:
$ref: ../../external/settlement_mode.yaml#/components/schemas/SettlementMode $ref: ../../external/settlement_mode.yaml#/components/schemas/SettlementMode
settlement_currency: fee_treatment:
type: string type: string
enum:
- unspecified
- add_to_source
- deduct_from_destination
attributes: attributes:
type: object type: object
additionalProperties: additionalProperties:
@@ -168,27 +205,6 @@ components:
customer: customer:
$ref: ./payment.yaml#/components/schemas/Customer $ref: ./payment.yaml#/components/schemas/Customer
PaymentQuote:
type: object
additionalProperties: false
properties:
quoteRef:
type: string
debitAmount:
$ref: ../common/money.yaml#/components/schemas/Money
debitSettlementAmount:
$ref: ../common/money.yaml#/components/schemas/Money
expectedSettlementAmount:
$ref: ../common/money.yaml#/components/schemas/Money
expectedFeeTotal:
$ref: ../common/money.yaml#/components/schemas/Money
feeLines:
type: array
items:
$ref: ./payment.yaml#/components/schemas/FeeLine
fxQuote:
$ref: ./payment.yaml#/components/schemas/FxQuote
FeeLine: FeeLine:
type: object type: object
additionalProperties: false additionalProperties: false
@@ -206,6 +222,26 @@ components:
additionalProperties: additionalProperties:
type: string type: string
QuoteFees:
type: object
additionalProperties: false
properties:
lines:
type: array
items:
$ref: ./payment.yaml#/components/schemas/FeeLine
QuoteAmounts:
type: object
additionalProperties: false
properties:
sourcePrincipal:
$ref: ../common/money.yaml#/components/schemas/Money
sourceDebitTotal:
$ref: ../common/money.yaml#/components/schemas/Money
destinationSettlement:
$ref: ../common/money.yaml#/components/schemas/Money
FxQuote: FxQuote:
type: object type: object
additionalProperties: false additionalProperties: false
@@ -237,22 +273,43 @@ components:
firm: firm:
type: boolean type: boolean
PaymentQuoteAggregate: PaymentQuote:
type: object type: object
additionalProperties: false additionalProperties: false
properties: properties:
debitAmounts: quoteRef:
type: array type: string
items: intentRef:
$ref: ../common/money.yaml#/components/schemas/Money type: string
expectedSettlementAmounts: amounts:
type: array $ref: ./payment.yaml#/components/schemas/QuoteAmounts
items: fees:
$ref: ../common/money.yaml#/components/schemas/Money $ref: ./payment.yaml#/components/schemas/QuoteFees
expectedFeeTotals: fxQuote:
type: array $ref: ./payment.yaml#/components/schemas/FxQuote
items:
$ref: ../common/money.yaml#/components/schemas/Money PaymentOperation:
type: object
additionalProperties: false
properties:
stepRef:
type: string
code:
type: string
state:
type: string
label:
type: string
failureCode:
type: string
failureReason:
type: string
startedAt:
type: string
format: date-time
completedAt:
type: string
format: date-time
Payment: Payment:
type: object type: object
@@ -268,6 +325,10 @@ components:
type: string type: string
failureReason: failureReason:
type: string type: string
operations:
type: array
items:
$ref: ./payment.yaml#/components/schemas/PaymentOperation
lastQuote: lastQuote:
$ref: ./payment.yaml#/components/schemas/PaymentQuote $ref: ./payment.yaml#/components/schemas/PaymentQuote
createdAt: createdAt: