Ubyx Clearing Platform API

Ubyx Clearing Platform API

Complete REST API specification with interactive documentation

Try the Interactive API Explorer

API Overview

The Ubyx Clearing Platform provides a comprehensive REST API for financial institutions to manage clearing transactions, settlements, and conversions.

Key Features

API Endpoints

Authentication

// Required headers for all API calls
const headers = {
  "X-Api-Key": "your-api-key",
  "X-Institution-Id": "your-institution-id",
  "Content-Type": "application/json",
};

Conversion Operations

// Request a conversion
const response = await fetch("/api/v1/clearing/conversions", {
  method: "POST",
  headers: headers,
  body: JSON.stringify({
    conversionType: "REDEMPTION",
    receivingInstitutionID: "bank-a",
    issuerID: "issuer-001",
    // ... other required fields
  }),
});

Settlement Operations

// Initiate settlement
const response = await fetch("/api/v1/clearing/settlements", {
  method: "POST",
  headers: headers,
  body: JSON.stringify({
    settlementType: "CASH",
    amount: 1000,
    currency: "USD",
    // ... other required fields
  }),
});

Integration Patterns

Request-Response Flow

sequenceDiagram participant Client participant API participant Workflow Client->>API: POST /conversions (request) API-->>Client: 202 Accepted (with operation ID) Workflow->>Client: SSE updates (progress) API-->>Client: 200 OK (completion)

Error Handling

// Comprehensive error handling
async function safeApiCall(endpoint, options) {
  try {
    const response = await fetch(endpoint, options);

    if (!response.ok) {
      const errorData = await response.json();
      throw new Error(`API Error: ${errorData.message}`);
    }

    return await response.json();
  } catch (error) {
    console.error("API call failed:", error);
    // Implement retry logic
    return retryWithBackoff(() => safeApiCall(endpoint, options), 3);
  }
}

Best Practices

Rate Limiting

// Client-side rate limiting
class RateLimiter {
  constructor(limit, interval) {
    this.limit = limit;
    this.interval = interval;
    this.queue = [];
  }

  async execute(fn) {
    if (this.queue.length >= this.limit) {
      await new Promise((resolve) => setTimeout(resolve, this.interval));
    }

    this.queue.push(Date.now());
    setTimeout(() => {
      this.queue = this.queue.filter((t) => Date.now() - t < this.interval);
    }, this.interval);

    return fn();
  }
}

Data Validation

// Validate API responses
function validateResponse(data, schema) {
  const result = validate(data, schema);
  if (!result.valid) {
    throw new Error(`Validation failed: ${result.errors.join(", ")}`);
  }
  return true;
}

Deployment Considerations

Environment Configuration

# .env file
UBYX_API_KEY=your-api-key
UBYX_INSTITUTION_ID=your-institution-id
API_BASE_URL=https://api.ubyx-platform.com

Security Best Practices

// Secure API usage
const secureHeaders = {
  ...headers,
  "X-Request-Id": generateRequestId(),
  "X-Timestamp": new Date().toISOString(),
};

This comprehensive OpenAPI documentation provides detailed information about the Ubyx Clearing Platform REST API, including authentication, endpoints, integration patterns, and best practices for secure and efficient usage.