1024 lines
25 KiB
YAML
1024 lines
25 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: ISO-20022 Combo Flow Orchestrator API
|
|
description: |
|
|
API for orchestrating multi-step financial workflows combining DeFi protocols and traditional banking rails (ISO-20022).
|
|
Supports hybrid adapters (DeFi + Fiat/DTL), optional simulation, and compliance integration.
|
|
version: 2.0.0
|
|
contact:
|
|
name: API Support
|
|
email: api-support@example.com
|
|
|
|
servers:
|
|
- url: https://api.example.com/v2
|
|
description: Production server
|
|
- url: https://staging-api.example.com/v2
|
|
description: Staging server
|
|
- url: http://localhost:8080/v2
|
|
description: Local development server
|
|
|
|
tags:
|
|
- name: Plans
|
|
description: Execution plan management
|
|
- name: Simulation
|
|
description: Optional workflow simulation (for advanced users)
|
|
- name: Compliance
|
|
description: Compliance checks and identity verification
|
|
- name: Adapters
|
|
description: Adapter registry and management
|
|
- name: Notary
|
|
description: Notarization and audit trail
|
|
- name: Execution
|
|
description: Plan execution and coordination
|
|
- name: Receipts
|
|
description: Execution receipts and audit logs
|
|
|
|
paths:
|
|
/plans:
|
|
post:
|
|
tags:
|
|
- Plans
|
|
summary: Create a new execution plan
|
|
description: Creates a new execution plan from user-defined steps. Validates plan structure and compliance requirements.
|
|
operationId: createPlan
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CreatePlanRequest'
|
|
responses:
|
|
'201':
|
|
description: Plan created successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Plan'
|
|
'400':
|
|
description: Invalid plan structure or validation errors
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
'403':
|
|
description: Compliance requirements not met
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/plans/{planId}:
|
|
get:
|
|
tags:
|
|
- Plans
|
|
summary: Get plan details
|
|
description: Retrieves detailed information about a specific execution plan
|
|
operationId: getPlan
|
|
parameters:
|
|
- name: planId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
'200':
|
|
description: Plan details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Plan'
|
|
'404':
|
|
description: Plan not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/plans/{planId}/signature:
|
|
post:
|
|
tags:
|
|
- Plans
|
|
summary: Add user signature to plan
|
|
description: Adds cryptographic signature from user's wallet to the execution plan
|
|
operationId: addSignature
|
|
parameters:
|
|
- name: planId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SignatureRequest'
|
|
responses:
|
|
'200':
|
|
description: Signature added successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Plan'
|
|
'400':
|
|
description: Invalid signature
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/plans/{planId}/simulate:
|
|
post:
|
|
tags:
|
|
- Simulation
|
|
summary: Simulate plan execution (optional)
|
|
description: |
|
|
Runs a dry-run simulation of the plan execution. Optional feature for advanced users.
|
|
Estimates gas costs, slippage, liquidity checks, and predicts potential failures.
|
|
operationId: simulatePlan
|
|
parameters:
|
|
- name: planId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
required: false
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
includeGasEstimate:
|
|
type: boolean
|
|
default: true
|
|
includeSlippageAnalysis:
|
|
type: boolean
|
|
default: true
|
|
includeLiquidityCheck:
|
|
type: boolean
|
|
default: true
|
|
responses:
|
|
'200':
|
|
description: Simulation results
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SimulationResult'
|
|
'400':
|
|
description: Invalid plan or simulation failed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/plans/{planId}/execute:
|
|
post:
|
|
tags:
|
|
- Execution
|
|
summary: Execute plan
|
|
description: |
|
|
Initiates execution of a signed plan. Coordinates atomic execution across DLT and banking rails.
|
|
Supports 2PC (two-phase commit) pattern for atomicity.
|
|
operationId: executePlan
|
|
parameters:
|
|
- name: planId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
requestBody:
|
|
required: false
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
atomicityMode:
|
|
type: string
|
|
enum: [2PC, HTLC, NOTARY_CONDITIONAL]
|
|
default: 2PC
|
|
responses:
|
|
'202':
|
|
description: Execution initiated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExecutionResponse'
|
|
'400':
|
|
description: Plan not ready for execution (missing signature, invalid state)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
'409':
|
|
description: Plan already executing or executed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/plans/{planId}/status:
|
|
get:
|
|
tags:
|
|
- Execution
|
|
summary: Get execution status
|
|
description: Retrieves real-time execution status of a plan
|
|
operationId: getExecutionStatus
|
|
parameters:
|
|
- name: planId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
'200':
|
|
description: Execution status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExecutionStatus'
|
|
'404':
|
|
description: Plan not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/plans/{planId}/abort:
|
|
post:
|
|
tags:
|
|
- Execution
|
|
summary: Abort plan execution
|
|
description: Aborts an in-progress plan execution and triggers rollback
|
|
operationId: abortPlan
|
|
parameters:
|
|
- name: planId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
'200':
|
|
description: Plan aborted successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExecutionStatus'
|
|
'400':
|
|
description: Plan cannot be aborted (already completed or failed)
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/compliance/status:
|
|
get:
|
|
tags:
|
|
- Compliance
|
|
summary: Get compliance status
|
|
description: Retrieves current user's compliance status (LEI, DID, KYC, AML)
|
|
operationId: getComplianceStatus
|
|
parameters:
|
|
- name: userId
|
|
in: query
|
|
required: false
|
|
schema:
|
|
type: string
|
|
description: User ID (defaults to authenticated user)
|
|
responses:
|
|
'200':
|
|
description: Compliance status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ComplianceStatus'
|
|
'401':
|
|
description: Unauthorized
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/compliance/check:
|
|
post:
|
|
tags:
|
|
- Compliance
|
|
summary: Check compliance for workflow
|
|
description: Validates compliance requirements for a specific workflow
|
|
operationId: checkWorkflowCompliance
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/WorkflowComplianceRequest'
|
|
responses:
|
|
'200':
|
|
description: Compliance check results
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ComplianceCheckResult'
|
|
'400':
|
|
description: Invalid request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/adapters:
|
|
get:
|
|
tags:
|
|
- Adapters
|
|
summary: List available adapters
|
|
description: |
|
|
Lists all available adapters (DeFi protocols + Fiat/DTL rails).
|
|
Supports filtering by type (DeFi, Fiat/DTL), whitelist status, and search.
|
|
operationId: listAdapters
|
|
parameters:
|
|
- name: type
|
|
in: query
|
|
schema:
|
|
type: string
|
|
enum: [DEFI, FIAT_DTL, ALL]
|
|
default: ALL
|
|
- name: whitelistedOnly
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
- name: search
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: List of adapters
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
adapters:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Adapter'
|
|
|
|
/adapters/{adapterId}:
|
|
get:
|
|
tags:
|
|
- Adapters
|
|
summary: Get adapter details
|
|
description: Retrieves detailed information about a specific adapter
|
|
operationId: getAdapter
|
|
parameters:
|
|
- name: adapterId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Adapter details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Adapter'
|
|
'404':
|
|
description: Adapter not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/notary/register:
|
|
post:
|
|
tags:
|
|
- Notary
|
|
summary: Register plan with notary
|
|
description: Registers an execution plan with the notary service for audit trail
|
|
operationId: registerPlan
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotaryRegistrationRequest'
|
|
responses:
|
|
'201':
|
|
description: Plan registered with notary
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotaryProof'
|
|
'400':
|
|
description: Invalid plan or registration failed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/notary/proof/{planId}:
|
|
get:
|
|
tags:
|
|
- Notary
|
|
summary: Get notary proof
|
|
description: Retrieves notary proof for a specific plan
|
|
operationId: getNotaryProof
|
|
parameters:
|
|
- name: planId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
'200':
|
|
description: Notary proof
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotaryProof'
|
|
'404':
|
|
description: Proof not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/receipts/{planId}:
|
|
get:
|
|
tags:
|
|
- Receipts
|
|
summary: Get execution receipts
|
|
description: Retrieves all execution receipts (DLT transactions, ISO messages, notary proofs) for a plan
|
|
operationId: getReceipts
|
|
parameters:
|
|
- name: planId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
responses:
|
|
'200':
|
|
description: Execution receipts
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Receipts'
|
|
'404':
|
|
description: Plan not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
/connectors:
|
|
get:
|
|
tags:
|
|
- Execution
|
|
summary: Get connector status
|
|
description: Retrieves status of all connectors (DLT, banking, compliance, liquidity)
|
|
operationId: getConnectorStatus
|
|
responses:
|
|
'200':
|
|
description: Connector status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
connectors:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ConnectorStatus'
|
|
|
|
components:
|
|
schemas:
|
|
CreatePlanRequest:
|
|
type: object
|
|
required:
|
|
- steps
|
|
- creator
|
|
properties:
|
|
steps:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PlanStep'
|
|
creator:
|
|
type: string
|
|
description: User identifier (LEI or DID)
|
|
maxRecursion:
|
|
type: integer
|
|
default: 3
|
|
description: Maximum recursion depth for borrow operations
|
|
maxLTV:
|
|
type: number
|
|
default: 0.6
|
|
description: Maximum loan-to-value ratio
|
|
|
|
PlanStep:
|
|
type: object
|
|
discriminator:
|
|
propertyName: type
|
|
oneOf:
|
|
- $ref: '#/components/schemas/BorrowStep'
|
|
- $ref: '#/components/schemas/SwapStep'
|
|
- $ref: '#/components/schemas/RepayStep'
|
|
- $ref: '#/components/schemas/PayStep'
|
|
|
|
BorrowStep:
|
|
type: object
|
|
required:
|
|
- type
|
|
- asset
|
|
- amount
|
|
- collateralRef
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum: [borrow]
|
|
asset:
|
|
type: string
|
|
example: CBDC_USD
|
|
amount:
|
|
type: number
|
|
example: 100000
|
|
collateralRef:
|
|
type: string
|
|
example: tokenX:123
|
|
|
|
SwapStep:
|
|
type: object
|
|
required:
|
|
- type
|
|
- from
|
|
- to
|
|
- amount
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum: [swap]
|
|
from:
|
|
type: string
|
|
example: CBDC_USD
|
|
to:
|
|
type: string
|
|
example: CBDC_EUR
|
|
amount:
|
|
type: number
|
|
example: 100000
|
|
minRecv:
|
|
type: number
|
|
description: Minimum receive amount (slippage protection)
|
|
|
|
RepayStep:
|
|
type: object
|
|
required:
|
|
- type
|
|
- asset
|
|
- amount
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum: [repay]
|
|
asset:
|
|
type: string
|
|
example: CBDC_USD
|
|
amount:
|
|
type: number
|
|
example: 20000
|
|
|
|
PayStep:
|
|
type: object
|
|
required:
|
|
- type
|
|
- asset
|
|
- amount
|
|
- beneficiary
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum: [pay]
|
|
asset:
|
|
type: string
|
|
example: EUR
|
|
amount:
|
|
type: number
|
|
example: 78000
|
|
beneficiary:
|
|
$ref: '#/components/schemas/Beneficiary'
|
|
|
|
Beneficiary:
|
|
type: object
|
|
required:
|
|
- IBAN
|
|
properties:
|
|
IBAN:
|
|
type: string
|
|
example: DE89370400440532013000
|
|
name:
|
|
type: string
|
|
example: Example Corp Ltd.
|
|
|
|
Plan:
|
|
type: object
|
|
required:
|
|
- plan_id
|
|
- creator
|
|
- steps
|
|
- maxRecursion
|
|
- maxLTV
|
|
properties:
|
|
plan_id:
|
|
type: string
|
|
format: uuid
|
|
creator:
|
|
type: string
|
|
steps:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PlanStep'
|
|
maxRecursion:
|
|
type: integer
|
|
maxLTV:
|
|
type: number
|
|
signature:
|
|
type: string
|
|
nullable: true
|
|
description: User's cryptographic signature
|
|
notary_proof:
|
|
type: string
|
|
nullable: true
|
|
description: Notary proof hash
|
|
|
|
SignatureRequest:
|
|
type: object
|
|
required:
|
|
- signature
|
|
- messageHash
|
|
- signerAddress
|
|
properties:
|
|
signature:
|
|
type: string
|
|
description: Cryptographic signature (hex)
|
|
messageHash:
|
|
type: string
|
|
description: Hash of the plan that was signed
|
|
signerAddress:
|
|
type: string
|
|
description: Wallet address that signed
|
|
|
|
SimulationResult:
|
|
type: object
|
|
properties:
|
|
planId:
|
|
type: string
|
|
format: uuid
|
|
status:
|
|
type: string
|
|
enum: [SUCCESS, FAILURE, PARTIAL]
|
|
steps:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SimulationStepResult'
|
|
gasEstimate:
|
|
type: integer
|
|
description: Estimated gas cost
|
|
estimatedCost:
|
|
type: number
|
|
description: Estimated cost in USD
|
|
slippageAnalysis:
|
|
$ref: '#/components/schemas/SlippageAnalysis'
|
|
liquidityCheck:
|
|
$ref: '#/components/schemas/LiquidityCheck'
|
|
warnings:
|
|
type: array
|
|
items:
|
|
type: string
|
|
errors:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
SimulationStepResult:
|
|
type: object
|
|
properties:
|
|
stepIndex:
|
|
type: integer
|
|
stepType:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum: [SUCCESS, FAILURE, WARNING]
|
|
message:
|
|
type: string
|
|
estimatedOutput:
|
|
type: object
|
|
|
|
SlippageAnalysis:
|
|
type: object
|
|
properties:
|
|
expectedSlippage:
|
|
type: number
|
|
description: Expected slippage percentage
|
|
riskLevel:
|
|
type: string
|
|
enum: [LOW, MEDIUM, HIGH]
|
|
liquidityDepth:
|
|
type: number
|
|
|
|
LiquidityCheck:
|
|
type: object
|
|
properties:
|
|
sufficient:
|
|
type: boolean
|
|
poolDepth:
|
|
type: number
|
|
warnings:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
ExecutionResponse:
|
|
type: object
|
|
properties:
|
|
planId:
|
|
type: string
|
|
format: uuid
|
|
executionId:
|
|
type: string
|
|
format: uuid
|
|
status:
|
|
type: string
|
|
enum: [PENDING, IN_PROGRESS, COMPLETE, FAILED, ABORTED]
|
|
estimatedDuration:
|
|
type: integer
|
|
description: Estimated duration in seconds
|
|
|
|
ExecutionStatus:
|
|
type: object
|
|
properties:
|
|
planId:
|
|
type: string
|
|
format: uuid
|
|
status:
|
|
type: string
|
|
enum: [PENDING, IN_PROGRESS, COMPLETE, FAILED, ABORTED]
|
|
currentPhase:
|
|
type: string
|
|
enum: [PREPARE, EXECUTE_DLT, BANK_INSTRUCTION, COMMIT]
|
|
phases:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PhaseStatus'
|
|
dltTxHash:
|
|
type: string
|
|
nullable: true
|
|
isoMessageId:
|
|
type: string
|
|
nullable: true
|
|
error:
|
|
type: string
|
|
nullable: true
|
|
|
|
PhaseStatus:
|
|
type: object
|
|
properties:
|
|
phase:
|
|
type: string
|
|
status:
|
|
type: string
|
|
enum: [PENDING, IN_PROGRESS, COMPLETE, FAILED]
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
|
|
ComplianceStatus:
|
|
type: object
|
|
properties:
|
|
userId:
|
|
type: string
|
|
lei:
|
|
type: string
|
|
nullable: true
|
|
did:
|
|
type: string
|
|
nullable: true
|
|
kyc:
|
|
$ref: '#/components/schemas/KYCStatus'
|
|
aml:
|
|
$ref: '#/components/schemas/AMLStatus'
|
|
valid:
|
|
type: boolean
|
|
|
|
KYCStatus:
|
|
type: object
|
|
properties:
|
|
level:
|
|
type: integer
|
|
provider:
|
|
type: string
|
|
verified:
|
|
type: boolean
|
|
expiresAt:
|
|
type: string
|
|
format: date-time
|
|
nullable: true
|
|
|
|
AMLStatus:
|
|
type: object
|
|
properties:
|
|
passed:
|
|
type: boolean
|
|
provider:
|
|
type: string
|
|
lastCheck:
|
|
type: string
|
|
format: date-time
|
|
riskLevel:
|
|
type: string
|
|
enum: [LOW, MEDIUM, HIGH]
|
|
|
|
WorkflowComplianceRequest:
|
|
type: object
|
|
required:
|
|
- steps
|
|
properties:
|
|
steps:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/PlanStep'
|
|
|
|
ComplianceCheckResult:
|
|
type: object
|
|
properties:
|
|
valid:
|
|
type: boolean
|
|
required:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enum: [LEI, DID, KYC, AML]
|
|
missing:
|
|
type: array
|
|
items:
|
|
type: string
|
|
warnings:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
Adapter:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum: [DEFI, FIAT_DTL]
|
|
description:
|
|
type: string
|
|
version:
|
|
type: string
|
|
whitelisted:
|
|
type: boolean
|
|
status:
|
|
type: string
|
|
enum: [APPROVED, DEPRECATED, RESTRICTED]
|
|
protocol:
|
|
type: string
|
|
nullable: true
|
|
chainIds:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
|
|
NotaryRegistrationRequest:
|
|
type: object
|
|
required:
|
|
- planId
|
|
- planHash
|
|
properties:
|
|
planId:
|
|
type: string
|
|
format: uuid
|
|
planHash:
|
|
type: string
|
|
participants:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
NotaryProof:
|
|
type: object
|
|
properties:
|
|
planId:
|
|
type: string
|
|
format: uuid
|
|
proofHash:
|
|
type: string
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
notarySignature:
|
|
type: string
|
|
|
|
Receipts:
|
|
type: object
|
|
properties:
|
|
planId:
|
|
type: string
|
|
format: uuid
|
|
dltTransactions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/DLTReceipt'
|
|
isoMessages:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ISOMessageReceipt'
|
|
notaryProofs:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/NotaryProof'
|
|
|
|
DLTReceipt:
|
|
type: object
|
|
properties:
|
|
txHash:
|
|
type: string
|
|
chainId:
|
|
type: integer
|
|
blockNumber:
|
|
type: integer
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
|
|
ISOMessageReceipt:
|
|
type: object
|
|
properties:
|
|
messageId:
|
|
type: string
|
|
messageType:
|
|
type: string
|
|
enum: [pacs.008, pacs.009, camt.052, camt.053, camt.056]
|
|
status:
|
|
type: string
|
|
enum: [PENDING, ACCEPTED, SETTLED, REJECTED]
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
|
|
ConnectorStatus:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum: [DLT, BANKING, COMPLIANCE, LIQUIDITY]
|
|
status:
|
|
type: string
|
|
enum: [ONLINE, OFFLINE, DEGRADED]
|
|
lastHealthCheck:
|
|
type: string
|
|
format: date-time
|
|
|
|
Error:
|
|
type: object
|
|
required:
|
|
- error
|
|
- message
|
|
properties:
|
|
error:
|
|
type: string
|
|
message:
|
|
type: string
|
|
code:
|
|
type: string
|
|
details:
|
|
type: object
|
|
|
|
security:
|
|
- bearerAuth: []
|
|
|
|
securitySchemes:
|
|
bearerAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
description: JWT token from authentication service
|
|
|