Skip to content

API Reference

Blindstrader exposes a RESTful API for each microservice. All APIs are documented using the OpenAPI 3.1 standard and rendered with the Scalar interactive UI.

Interactive API Reference

Open the full interactive API Reference (all services in one view):

Open API Reference →

For local development: http://docs.blindstrader.test/api-reference/

Per-Service API Docs

Each service also exposes its own API documentation directly:

ServiceAPI Docs URL
Identityhttps://identity.blindstrader.com/docs/api
Brandhttps://brand.blindstrader.com/docs/api
Supplierhttps://supplier.blindstrader.com/docs/api
Supply Chainhttps://sc.blindstrader.com/docs/api
Paymenthttps://payment.blindstrader.com/docs/api
Retailerhttps://retailer.blindstrader.com/docs/api
Platformhttps://platform.blindstrader.com/docs/api
Notificationhttps://notification.blindstrader.com/docs/api

The unified portal at docs.blindstrader.com/api-reference/ aggregates all OpenAPI specs into a single Scalar view.

Authentication

All API endpoints (except public auth routes) require a Bearer token issued by the Identity Service.

Obtaining a Token

http
POST https://identity.blindstrader.com/api/v1/auth/login
Content-Type: application/json

{
  "email": "user@example.com",
  "password": "your-password"
}

Response:

json
{
  "token": "eyJ...",
  "expires_at": "2025-06-08T10:00:00Z"
}

Include the token in all subsequent requests:

http
Authorization: Bearer eyJ...

Token Scopes

Tokens carry RBAC claims enforced by the Identity Service. Attempting to access a resource your account is not permitted to access returns 403 Forbidden.

Common Response Formats

Success

json
{
  "data": { ... },
  "meta": {
    "page": 1,
    "per_page": 25,
    "total": 150
  }
}

Error

json
{
  "message": "The given data was invalid.",
  "errors": {
    "name": ["The name field is required."]
  }
}

HTTP Status Codes

CodeMeaning
200Success
201Created
204No content (e.g. delete)
400Bad request
401Unauthenticated
403Forbidden
404Not found
422Validation error
429Rate limit exceeded
500Server error

Rate Limiting

API calls are rate-limited per token:

TierLimit
Default60 requests / minute
Premium300 requests / minute

Rate limit headers are included in every response:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 54
X-RateLimit-Reset: 1717839000

OpenAPI Spec Downloads

Raw OpenAPI JSON specs are available for download and use in Postman or code generation:

ServiceSpec URL
Identityhttps://docs.blindstrader.com/openapi/identity.json
Brandhttps://docs.blindstrader.com/openapi/brand.json
Supplierhttps://docs.blindstrader.com/openapi/supplier.json
Supply Chainhttps://docs.blindstrader.com/openapi/supply-chain.json
Paymenthttps://docs.blindstrader.com/openapi/payment.json
Retailerhttps://docs.blindstrader.com/openapi/retailer.json
Platformhttps://docs.blindstrader.com/openapi/platform.json
Notificationhttps://docs.blindstrader.com/openapi/notification.json

Blindstrader Platform Documentation