4klyft API (1.0.0)

Download OpenAPI specification:

4klyft API Support: [email protected] License: Proprietary

Commerce and order-fulfilment platform API for 4klyft.

Overview

This API provides endpoints for managing:

  • Catalog (PIM/DAM): products, variants, attributes, options, categories, brands, collections, assortments, and media
  • Sales: orders, customers, merchants, sales channels, and channel order import
  • Inventory: stock items, levels, lots, and serial units across custodians
  • Warehousing & Operations: goods receipt/issue, holds, and custodian operations
  • Fulfilment: fulfilment orders dispatched to third-party (3PL) providers
  • Shipping: carriers, shipments, labels, tracking, returns, and proof of delivery
  • Finance & Billing: payments, settlements, invoices, credit notes, tax, and subscriptions
  • Integration: sales-channel connections, providers, webhooks, and catalog/order sync
  • Documents: operational document generation and requests
  • Storage: file/drive storage with chunked upload and signed access
  • Identity & Access (IAM): authentication, users, roles, permissions, and tenants
  • Platform services: notifications, scheduling, numbering, data exchange, analytics, and workspace tables & views

Authentication

All API endpoints (except /api/docs and /api/v1/iam/auth/*) require JWT Bearer token authentication. Include the token in the Authorization header:

Authorization: Bearer <your-jwt-token>

Rate Limiting

Every /api/ request is rate-limited per caller — by your authenticated identity when a token is present, otherwise by client IP. The authentication endpoints (/auth/login, /auth/refresh, /auth/request-password-reset) carry stricter, IP-based limits.

Each response advertises your current budget via headers:

  • X-RateLimit-Limit — the bucket size
  • X-RateLimit-Remaining — tokens left in the current window
  • X-RateLimit-Reset — Unix timestamp when a token next frees up

Exceeding a limit returns 429 Too Many Requests (RFC 6585) with a Retry-After header (seconds to wait). Back off and retry after the indicated delay rather than hammering the endpoint.

Error Handling

The API uses RFC 7807 Problem Details for error responses.

BillingInvoice

Resource 'BillingInvoice' operations.

Retrieves the collection of BillingInvoice resources.

Retrieves the collection of BillingInvoice resources.

Authorizations:
Bearer
query Parameters
page
integer
Default: 1

The collection page number

Responses

Response samples

Content type
{
  • "totalItems": 0,
  • "search": {
    },
  • "view": {
    },
  • "member": [
    ]
}

Retrieves a BillingInvoice resource.

Retrieves a BillingInvoice resource.

Authorizations:
Bearer
path Parameters
id
required
string

BillingInvoice identifier

Responses

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "id": "string",
  • "number": "string",
  • "tenantId": "string",
  • "subscriptionId": "string",
  • "periodStartedAt": "string",
  • "periodEndsAt": "string",
  • "lineItems": [
    ],
  • "subtotal": 0,
  • "taxTotal": 0,
  • "total": 0,
  • "currency": "string",
  • "status": "string",
  • "issuedAt": "string",
  • "dueAt": "string",
  • "paidAt": "string",
  • "paymentMethod": "string",
  • "externalReference": "string",
  • "createdAt": "string"
}

BillingSubscription

Resource 'BillingSubscription' operations.

Retrieves a BillingSubscription resource.

Retrieves a BillingSubscription resource.

Authorizations:
Bearer

Responses

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "id": "string",
  • "tenantId": "string",
  • "planId": "string",
  • "status": "string",
  • "trialEndsAt": "string",
  • "currentPeriodStartedAt": "string",
  • "currentPeriodEndsAt": "string",
  • "cancellationRequestedAt": "string",
  • "cancellationEffectiveAt": "string",
  • "paymentMethodId": "string",
  • "createdAt": "string"
}

Creates a BillingSubscription resource.

Creates a BillingSubscription resource.

Authorizations:
Bearer
Request Body schema:
required

The new BillingSubscription resource

reason
string or null

Optional cancellation reason for audit purposes.

Responses

Request samples

Content type
{
  • "reason": "string"
}

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "id": "string",
  • "tenantId": "string",
  • "planId": "string",
  • "status": "string",
  • "trialEndsAt": "string",
  • "currentPeriodStartedAt": "string",
  • "currentPeriodEndsAt": "string",
  • "cancellationRequestedAt": "string",
  • "cancellationEffectiveAt": "string",
  • "paymentMethodId": "string",
  • "createdAt": "string"
}

Creates a BillingSubscription resource.

Creates a BillingSubscription resource.

Authorizations:
Bearer
Request Body schema:
required

The new BillingSubscription resource

planId
required
string

Responses

Request samples

Content type
{
  • "planId": "string"
}

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "id": "string",
  • "tenantId": "string",
  • "planId": "string",
  • "status": "string",
  • "trialEndsAt": "string",
  • "currentPeriodStartedAt": "string",
  • "currentPeriodEndsAt": "string",
  • "cancellationRequestedAt": "string",
  • "cancellationEffectiveAt": "string",
  • "paymentMethodId": "string",
  • "createdAt": "string"
}

BillingUsageReport

Resource 'BillingUsageReport' operations.

Retrieves a BillingUsageReport resource.

Retrieves a BillingUsageReport resource.

Authorizations:
Bearer

Responses

Response samples

Content type
{
  • "@context": "string",
  • "@id": "string",
  • "@type": "string",
  • "tenantId": "string",
  • "from": "string",
  • "to": "string",
  • "totals": [
    ]
}