Introduction
Welcome to the Babylon Core API documentation.
Overview
Babylon exposes two public HTTP surfaces for marketplace integrations:
https://api.babylon.comis the primary platform API for authentication, catalog, auctions, orders, payments, messaging, and integration management.https://bids.babylon.hostis the bid-ingress API for low-latency bid submission.
Most integrations start on the primary platform API, then call bid ingress only for live bid placement flows.
Connection Overview
- Resolve tenant context from your Babylon tenant domain/subdomain, or send
X-Tenant-IDwhen calling a shared platform host. - Authenticate with an API key for server-to-server integrations or a bearer token for signed-in users.
- Use the primary platform API for setup, catalog, order, payment, and webhook management.
- If you consume outbound events, create a webhook subscription, verify signatures, and use the events feed or replay endpoints for reconciliation.
Webhooks & Event Model
Webhook deliveries are signed HTTPS POST requests. Each integration event uses the same top-level envelope:
event_id: unique event identifierevent_type: stable event nameschema_version: payload schema versionoccurred_at: event timestamptenant_id: emitting tenantidempotency_key: deduplication keyresource: primary entity referencedata: event-specific fields
Subscriptions control which event_type values you receive. The events feed is the canonical catalog of supported outbound events and can also be used for replay and reconciliation workflows.
Authentication
This API supports two authentication methods:
1. API Keys (Recommended for Server-to-Server)
API keys are designed for server-to-server communication, integrations, and webhooks.
Usage:
curl -H "Authorization: Bearer <your-api-key>" https://api.babylon.com/api/listings
Benefits:
- Works with host-based tenant resolution on tenant domains/subdomains
- On shared platform hosts (for example
app.babylon.host), includeX-Tenant-ID - Granular permissions via the abilities system
- Rate limiting and usage tracking
- IP whitelisting support
- Can be rotated without affecting users
Creating API Keys:
- Via Admin Panel: Navigate to API Keys section
- Via API:
POST /api/keys(requires authentication) - Each tenant gets an initial API key automatically upon creation
2. Sanctum Tokens (For End Users)
Sanctum tokens are designed for user-facing applications (web frontends, mobile apps).
Usage:
- Obtain a token by making a POST request to
/api/auth/loginwith your credentials (no Authorization header required) - Include the token in the
Authorizationheader as a Bearer token - Include the
X-Tenant-IDheader with your tenant UUID (or use tenant-specific domains)
curl -H "Authorization: Bearer <sanctum-token>" \
-H "X-Tenant-ID: your-tenant-uuid" \
https://api.babylon.com/api/listings
SPA note: When called from a Sanctum-stateful browser origin, /api/auth/login also establishes a cookie session while returning token for stateless downstream services.
Multi-Tenancy
All API requests must be scoped to a specific tenant.
With API Keys:
- Tenant context is resolved from the tenant domain/subdomain host
- On shared platform hosts (for example
app.babylon.host), includeX-Tenant-ID - Integration webhook endpoints require both tenant features:
api_accessandwebhooks
With Sanctum Tokens: You can identify your tenant in three ways:
- Custom Domain: Use your tenant's custom domain (for example
https://yourdomain.com) - Subdomain: Use your tenant's subdomain (for example
https://yourtenant.babylon.com) - Header: Include the
X-Tenant-IDheader with your tenant UUID
Rate Limiting
API requests are rate limited to prevent abuse. Rate limits vary by endpoint category. Rate limit information is included in response headers: X-RateLimit-Limit, X-RateLimit-Remaining, and Retry-After when applicable.
Error Handling
The API uses conventional HTTP response codes to indicate success or failure. Codes in the 2xx range indicate success, 4xx indicate client errors, and 5xx indicate server errors.
Error responses include a JSON body with details:
{
"message": "Error description",
"errors": {
"field_name": ["Validation error message"]
}
}
Pagination
List endpoints return paginated results with the following structure:
{
"data": [...],
"links": {
"first": "...",
"last": "...",
"prev": null,
"next": "..."
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 10,
"per_page": 15,
"to": 15,
"total": 150
}
}
Authenticating requests
Most endpoints require authentication. You can authenticate requests by including an Authorization header with the value "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
This API supports two authentication methods:
1. API Keys (Recommended for Server-to-Server)
- Format:
sk_test_...(development) orsk_live_...(production) - Create API keys via the admin panel or
POST /api/keys - Include as:
Authorization: Bearer sk_test_... - API keys authenticate a user.
- Tenant context is established automatically on tenant hostnames.
- When calling the API via a shared platform host (e.g.
app.babylon.host), includeX-Tenant-IDso the tenant can be bootstrapped before API key validation. - Best for: Integrations, webhooks, server-to-server communication
2. Sanctum Tokens (For End Users)
- Obtain by making a POST request to
POST /api/auth/loginwith your credentials (no Authorization header required) - Include as:
Authorization: Bearer <token> - Must include
X-Tenant-IDheader with your tenant UUID when calling the shared platform API host (e.g.app.babylon.host), or use a tenant-specific domain/subdomain. For security, tenant domains do not acceptX-Tenant-IDoverrides. - Best for: Web frontends, mobile apps, user-facing applications
Both methods use the same Authorization: Bearer <token> header format.
SPA (browser) note
If you're using the Babylon React SPA against a stateful origin (Sanctum SPA cookie auth), POST /api/auth/login will:
- Establish a session cookie (for cookie-based browser requests), and
- Return a
tokenin the JSON response (for stateless downstream services like bid-ingress).
Authentication
Verify user's email address
requires authentication
Verifies the user's email address using a signed URL.
Example request:
curl --request GET \
--get "http://localhost:8000/api/auth/email/verify/01JBQW8K7V2XZGHJK5MNPQRSTU/abc123...?expires=1234567890&signature=abc123..." \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auth/email/verify/01JBQW8K7V2XZGHJK5MNPQRSTU/abc123..."
);
const params = {
"expires": "1234567890",
"signature": "abc123...",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, already verified):
{
"message": "Email already verified"
}
Example response (200, success):
{
"message": "Email verified successfully"
}
Example response (403, invalid signature):
{
"message": "Invalid verification link"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Resend verification email
requires authentication
Sends a new verification email to the authenticated user.
Example request:
curl --request POST \
"http://localhost:8000/api/auth/email/verification-notification" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auth/email/verification-notification"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Verification email sent"
}
Example response (200, already verified):
{
"message": "Email already verified"
}
Example response (429, rate limited):
{
"message": "Too many requests. Please try again later."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check verification status
requires authentication
Returns whether the authenticated user's email is verified.
Example request:
curl --request GET \
--get "http://localhost:8000/api/auth/email/verification-status" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auth/email/verification-status"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"verified": true
}
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Authentication - 2FA
Enable 2FA
requires authentication
Enable TOTP-based two-factor authentication. Returns QR code SVG, secret, and recovery codes.
Example request:
curl --request POST \
"http://localhost:8000/api/user/two-factor-authentication" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"secret123\"
}"
const url = new URL(
"http://localhost:8000/api/user/two-factor-authentication"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"password": "secret123"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"qr_code_svg": "<svg>...</svg>",
"secret": "JBSWY3DPEHPK3PXP",
"recovery_codes": [
"abc123",
"def456",
"ghi789",
"jkl012",
"mno345",
"pqr678",
"stu901",
"vwx234"
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Confirm 2FA
requires authentication
Confirm 2FA setup by verifying a 6-digit TOTP code.
Example request:
curl --request POST \
"http://localhost:8000/api/user/confirmed-two-factor-authentication" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"123456\"
}"
const url = new URL(
"http://localhost:8000/api/user/confirmed-two-factor-authentication"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "123456"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Two-factor authentication confirmed successfully."
}
Example response (422, invalid code):
{
"message": "Invalid authentication code."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Disable 2FA
requires authentication
Disable two-factor authentication. Requires password confirmation.
Example request:
curl --request DELETE \
"http://localhost:8000/api/user/two-factor-authentication" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"secret123\"
}"
const url = new URL(
"http://localhost:8000/api/user/two-factor-authentication"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"password": "secret123"
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Two-factor authentication disabled successfully."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get recovery codes
requires authentication
Retrieve existing recovery codes for 2FA.
Example request:
curl --request GET \
--get "http://localhost:8000/api/user/two-factor-recovery-codes" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/user/two-factor-recovery-codes"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"recovery_codes": [
"abc123",
"def456",
"ghi789",
"jkl012",
"mno345",
"pqr678",
"stu901",
"vwx234"
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Regenerate recovery codes
requires authentication
Generate new recovery codes for 2FA. Old codes will no longer work.
Example request:
curl --request POST \
"http://localhost:8000/api/user/two-factor-recovery-codes" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/user/two-factor-recovery-codes"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"recovery_codes": [
"new123",
"new456",
"new789",
"new012",
"new345",
"new678",
"new901",
"new234"
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Send SMS 2FA code
requires authentication
Send SMS-based 2FA code as alternative to TOTP. Uses SmsNotificationService abstraction (Vonage by default).
Example request:
curl --request POST \
"http://localhost:8000/api/user/two-factor-sms" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/user/two-factor-sms"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "SMS code sent successfully."
}
Example response (400, no phone):
{
"message": "Phone number not set."
}
Example response (500, sms error):
{
"message": "Failed to send SMS code.",
"error": "Provider error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify SMS 2FA code
requires authentication
Verify SMS-based 2FA code.
Example request:
curl --request POST \
"http://localhost:8000/api/user/two-factor-sms/verify" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"123456\"
}"
const url = new URL(
"http://localhost:8000/api/user/two-factor-sms/verify"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "123456"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "SMS code verified successfully."
}
Example response (422, invalid):
{
"message": "Invalid or expired code."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
API Keys
List API keys
requires authentication
Get all API keys for the authenticated user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/keys" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/keys"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": "01HQZX...",
"name": "Production API Key",
"key_prefix": "sk_live_abc123",
"abilities": [
"listings:read",
"bids:create"
],
"last_used_at": "2025-01-20T10:30:00Z",
"last_used_ip": "192.168.1.1",
"request_count": 1500,
"expires_at": "2026-12-31T23:59:59Z",
"is_active": true,
"created_at": "2025-01-20T10:00:00Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create API key
requires authentication
Create a new API key. The plaintext key is returned only once - save it securely!
Example request:
curl --request POST \
"http://localhost:8000/api/keys" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"Production API Key\",
\"abilities\": [
\"listings:read\",
\"bids:create\"
],
\"expires_at\": \"2026-12-31T23:59:59Z\",
\"ip_whitelist\": [
\"192.168.1.1\"
],
\"metadata\": [
\"ab\"
]
}"
const url = new URL(
"http://localhost:8000/api/keys"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "Production API Key",
"abilities": [
"listings:read",
"bids:create"
],
"expires_at": "2026-12-31T23:59:59Z",
"ip_whitelist": [
"192.168.1.1"
],
"metadata": [
"ab"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"data": {
"id": "01HQZX...",
"name": "Production API Key",
"key": "sk_live_abc123...",
"key_prefix": "sk_live_abc123",
"abilities": [
"listings:read",
"bids:create"
],
"expires_at": "2026-12-31T23:59:59Z",
"created_at": "2025-01-20T10:00:00Z"
},
"message": "Save this key securely. It will not be shown again."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get API key details
requires authentication
Retrieve details for a specific API key. Does NOT include plaintext key.
Example request:
curl --request GET \
--get "http://localhost:8000/api/keys/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/keys/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": "01HQZX...",
"name": "Production API Key",
"key_prefix": "sk_live_abc123",
"abilities": [
"listings:read",
"bids:create"
],
"last_used_at": "2025-01-20T10:30:00Z",
"request_count": 1500,
"is_active": true,
"created_at": "2025-01-20T10:00:00Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Revoke API key
requires authentication
Revoke an API key to immediately invalidate it.
Example request:
curl --request DELETE \
"http://localhost:8000/api/keys/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reason\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/keys/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reason": "ab"
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"message": "API key revoked successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Rotate API key
requires authentication
Rotate an API key by revoking the old one and creating a new one with the same permissions. The new plaintext key is returned only once - save it securely!
Example request:
curl --request POST \
"http://localhost:8000/api/keys/ab/rotate" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/keys/ab/rotate"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (201):
{
"data": {
"id": "01HQZX...",
"name": "Production API Key (rotated)",
"key": "sk_live_xyz789...",
"key_prefix": "sk_live_xyz789",
"abilities": [
"listings:read",
"bids:create"
],
"expires_at": "2026-12-31T23:59:59Z",
"created_at": "2025-01-20T10:00:00Z"
},
"message": "Save this key securely. It will not be shown again."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Integrations - Webhooks
List webhook subscriptions
requires authentication
Returns tenant-scoped webhook subscriptions.
Example request:
curl --request GET \
--get "http://localhost:8000/api/integrations/webhook-subscriptions?page=1" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/integrations/webhook-subscriptions"
);
const params = {
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JXYZ...",
"tenant_id": "01JTENANT...",
"name": "ERP Webhooks",
"status": "active",
"target_url": "https://example.com/hooks",
"event_types": [
"payment.v1.succeeded"
],
"filters": [],
"payload_mode": "hybrid",
"consecutive_failures": 0,
"paused_at": null,
"last_delivery_at": null,
"next_secret_valid_until": null,
"created_at": "2026-02-27T17:00:00Z",
"updated_at": "2026-02-27T17:00:00Z"
}
],
"links": {
"first": "...",
"last": "...",
"prev": null,
"next": "..."
},
"meta": {
"current_page": 1,
"per_page": 15
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create webhook subscription
requires authentication
Creates a webhook subscription and returns the signing secret once. Persist the secret securely; it cannot be retrieved again.
Example request:
curl --request POST \
"http://localhost:8000/api/integrations/webhook-subscriptions" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ERP Webhooks\",
\"target_url\": \"https:\\/\\/example.com\\/hooks\",
\"event_types\": [
\"bid.v1.placed\",
\"order.v1.shipped\"
],
\"filters\": [
\"01JORDER...\"
],
\"payload_mode\": \"hybrid\",
\"metadata\": [
\"erp\"
]
}"
const url = new URL(
"http://localhost:8000/api/integrations/webhook-subscriptions"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ERP Webhooks",
"target_url": "https:\/\/example.com\/hooks",
"event_types": [
"bid.v1.placed",
"order.v1.shipped"
],
"filters": [
"01JORDER..."
],
"payload_mode": "hybrid",
"metadata": [
"erp"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, success):
{
"data": {
"id": "01JXYZ...",
"tenant_id": "01JTENANT...",
"name": "ERP Webhooks",
"status": "active",
"target_url": "https://example.com/hooks",
"event_types": [
"bid.v1.placed",
"order.v1.shipped"
],
"filters": [],
"payload_mode": "hybrid",
"consecutive_failures": 0,
"paused_at": null,
"last_delivery_at": null,
"next_secret_valid_until": null,
"created_at": "2026-02-27T17:00:00Z",
"updated_at": "2026-02-27T17:00:00Z"
},
"signing_secret": "abcdefghijklmnopqrstuvwxyz123456",
"signing_secret_last4": "3456"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get webhook subscription
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/integrations/webhook-subscriptions/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/integrations/webhook-subscriptions/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JXYZ...",
"tenant_id": "01JTENANT...",
"name": "ERP Webhooks",
"status": "active",
"target_url": "https://example.com/hooks",
"event_types": [
"payment.v1.succeeded"
],
"filters": [],
"payload_mode": "hybrid",
"consecutive_failures": 0
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update webhook subscription
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/integrations/webhook-subscriptions/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ERP Webhooks (Primary)\",
\"target_url\": \"https:\\/\\/example.com\\/new-hooks\",
\"event_types\": [
\"bid.v1.placed\"
],
\"filters\": [
\"01JCAT...\"
],
\"payload_mode\": \"reference\",
\"metadata\": [
\"erp-v2\"
]
}"
const url = new URL(
"http://localhost:8000/api/integrations/webhook-subscriptions/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ERP Webhooks (Primary)",
"target_url": "https:\/\/example.com\/new-hooks",
"event_types": [
"bid.v1.placed"
],
"filters": [
"01JCAT..."
],
"payload_mode": "reference",
"metadata": [
"erp-v2"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JXYZ...",
"status": "active",
"payload_mode": "reference"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete webhook subscription
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/integrations/webhook-subscriptions/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/integrations/webhook-subscriptions/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (204, success):
Empty response
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Pause webhook subscription
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/integrations/webhook-subscriptions/ab/pause" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/integrations/webhook-subscriptions/ab/pause"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JXYZ...",
"status": "paused",
"paused_at": "2026-02-27T17:10:00Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Resume webhook subscription
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/integrations/webhook-subscriptions/ab/resume" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/integrations/webhook-subscriptions/ab/resume"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JXYZ...",
"status": "active",
"paused_at": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Rotate subscription signing secret
requires authentication
Rotates the webhook signing secret and returns the new secret once.
Example request:
curl --request POST \
"http://localhost:8000/api/integrations/webhook-subscriptions/ab/rotate-secret" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/integrations/webhook-subscriptions/ab/rotate-secret"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JXYZ...",
"next_secret_valid_until": "2026-02-28T17:00:00Z"
},
"signing_secret": "newsecretvalue123",
"signing_secret_last4": "e123"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List subscription delivery attempts
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/integrations/webhook-subscriptions/ab/deliveries?outcome=delivered&limit=50" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"outcome\": \"failed\",
\"limit\": 16
}"
const url = new URL(
"http://localhost:8000/api/integrations/webhook-subscriptions/ab/deliveries"
);
const params = {
"outcome": "delivered",
"limit": "50",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"outcome": "failed",
"limit": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JDELIVERY...",
"delivery_id": "01JDELIVERGROUP...",
"tenant_id": "01JTENANT...",
"subscription_id": "01JXYZ...",
"integration_event_id": "01JEVENT...",
"event_id": "f9d69bc6-9f2b-4d7d-9557-f6d71f3f2c80",
"event_type": "payment.v1.succeeded",
"attempt_number": 1,
"scheduled_at": "2026-02-27T17:00:10Z",
"sent_at": "2026-02-27T17:00:11Z",
"completed_at": "2026-02-27T17:00:12Z",
"outcome": "delivered",
"http_status": 200,
"latency_ms": 120,
"error_code": null,
"error_message": null,
"next_attempt_at": null,
"is_replay": false,
"created_at": "2026-02-27T17:00:10Z"
}
],
"links": {
"first": "...",
"last": "..."
},
"meta": {
"current_page": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Integrations - Webhook Deliveries
Get delivery attempt details
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/integrations/deliveries/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/integrations/deliveries/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JDELIVERY...",
"delivery_id": "01JDELIVERGROUP...",
"tenant_id": "01JTENANT...",
"subscription_id": "01JXYZ...",
"integration_event_id": "01JEVENT...",
"event_id": "f9d69bc6-9f2b-4d7d-9557-f6d71f3f2c80",
"event_type": "payment.v1.succeeded",
"attempt_number": 1,
"scheduled_at": "2026-02-27T17:00:10Z",
"sent_at": "2026-02-27T17:00:11Z",
"completed_at": "2026-02-27T17:00:12Z",
"outcome": "delivered",
"http_status": 200,
"latency_ms": 120,
"error_code": null,
"error_message": null,
"next_attempt_at": null,
"is_replay": false,
"created_at": "2026-02-27T17:00:10Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Redeliver a webhook event
requires authentication
Creates a new replay delivery attempt for the same event/subscription.
Example request:
curl --request POST \
"http://localhost:8000/api/integrations/deliveries/ab/redeliver" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/integrations/deliveries/ab/redeliver"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (202, accepted):
{
"data": {
"id": "01JNEWDELIVERY...",
"delivery_id": "01JNEWGROUP...",
"tenant_id": "01JTENANT...",
"subscription_id": "01JXYZ...",
"integration_event_id": "01JEVENT...",
"attempt_number": 1,
"outcome": "queued",
"is_replay": true
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Integrations - Events Feed
List integration events
requires authentication
Returns events ordered by occurred_at then id.
Available webhook event types and when they are emitted:
auction.v1.started: an auction transitions to a live/started state.auction.v1.ended: an auction closes (sold or unsold).bid.v1.placed: a bid is accepted and recorded for an auction.bid.v1.highest_changed: highest bid changed for an auction.payment.v1.succeeded: a payment is confirmed/settled successfully.payment.v1.failed: a payment attempt fails.order.v1.created: an order record is created.order.v1.shipped: order shipment is marked as shipped.order.v1.delivered: order delivery is confirmed.order.v1.completed: order lifecycle is completed.message.v1.sent: a messaging event is emitted for a sent message.payout.v1.completed: seller payout is completed.supply.lead.v1.*: supply lead lifecycle events for create, update, stage change, and delete.supply.item.v1.*: supply item lifecycle events for create/update, stage change, listing handoff, approval, and auction lifecycle.supply.intake.v1.*: intake shipment lifecycle events for create, update, transit, receiving, close, and cancellation.supply.condition.v1.*: condition reporting lifecycle events for create, update, completion, and attestation.supply.valuation.v1.*: valuation lifecycle events for case creation, recommendation versioning, approval, closure, and listing linkage.demand.segment.v1.updated: a buyer segment refresh recalculates memberships.distribution.campaign.v1.sent: a demand distribution campaign is dispatched to its first channel adapter.
Event payload model:
event_type: stable event identifier.schema_version: payload schema version for the event type.resource: primary entity affected (type,id).data: event-specific fields.
Use this endpoint as the canonical catalog/feed for both:
- discovering supported
event_typevalues, and - replay/reconciliation consumers.
Example request:
curl --request GET \
--get "http://localhost:8000/api/integrations/events?cursor=eyJvY2N1cnJlZF9hdCI6IjIwMjYtMDItMjdUMTc6MDA6MDBaIiwiaWQiOiIwMUpFVkVOVC4uLiJ9&limit=100&event_types[]=bid.v1.placed&event_types[]=order.v1.shipped&from=2026-02-27T00%3A00%3A00Z&to=2026-02-28T00%3A00%3A00Z" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"cursor\": \"ab\",
\"limit\": 7,
\"event_types\": [
\"supply.item.v1.listing_submitted_for_approval\"
],
\"from\": \"2026-05-04T20:47:20\",
\"to\": \"2069-05-25\"
}"
const url = new URL(
"http://localhost:8000/api/integrations/events"
);
const params = {
"cursor": "eyJvY2N1cnJlZF9hdCI6IjIwMjYtMDItMjdUMTc6MDA6MDBaIiwiaWQiOiIwMUpFVkVOVC4uLiJ9",
"limit": "100",
"event_types[0]": "bid.v1.placed",
"event_types[1]": "order.v1.shipped",
"from": "2026-02-27T00:00:00Z",
"to": "2026-02-28T00:00:00Z",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"cursor": "ab",
"limit": 7,
"event_types": [
"supply.item.v1.listing_submitted_for_approval"
],
"from": "2026-05-04T20:47:20",
"to": "2069-05-25"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"event_id": "f9d69bc6-9f2b-4d7d-9557-f6d71f3f2c80",
"event_type": "payment.v1.succeeded",
"schema_version": 1,
"occurred_at": "2026-02-27T17:01:00Z",
"tenant_id": "01JTENANT...",
"idempotency_key": "01JTENANT...:payment.v1.succeeded:01JPAY...",
"resource": {
"type": "payment",
"id": "01JPAY..."
},
"data": {
"order_id": "01JORDER...",
"amount_minor": 550000,
"currency": "USD"
}
}
],
"next_cursor": "eyJvY2N1cnJlZF9hdCI6IjIwMjYtMDItMjdUMTc6MDE6MDBaIiwiaWQiOiIwMUpFVkVOVC4uLiJ9"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Integrations - Replays
Create replay request
requires authentication
Enqueues a replay job that redelivers matching events through the standard webhook path. Replay uses the same event payload contract and signature mechanism as live delivery.
Example request:
curl --request POST \
"http://localhost:8000/api/integrations/replays" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"subscription_id\": \"01JXYZ...\",
\"from\": \"2026-02-27T00:00:00Z\",
\"to\": \"2026-02-28T00:00:00Z\",
\"event_types\": [
\"order.v1.shipped\"
]
}"
const url = new URL(
"http://localhost:8000/api/integrations/replays"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"subscription_id": "01JXYZ...",
"from": "2026-02-27T00:00:00Z",
"to": "2026-02-28T00:00:00Z",
"event_types": [
"order.v1.shipped"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (202, accepted):
{
"accepted": true,
"subscription_id": "01JXYZ..."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User Profile
Get profile
requires authentication
Retrieve authenticated user profile with addresses, payment methods, and OAuth providers.
Example request:
curl --request GET \
--get "http://localhost:8000/api/profile" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/profile"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"user": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "John Doe",
"email": "john@example.com",
"profile": {
"display_name": "John",
"bio": "Collector",
"website": "https://..."
},
"addresses": [],
"payment_methods": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update profile
requires authentication
Update user name, email, and phone using Fortify action.
Example request:
curl --request PUT \
"http://localhost:8000/api/profile" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"John Doe\",
\"email\": \"john@example.com\",
\"phone\": \"+447700900000\"
}"
const url = new URL(
"http://localhost:8000/api/profile"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "John Doe",
"email": "john@example.com",
"phone": "+447700900000"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Profile updated successfully."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update profile details
requires authentication
Update extended profile information (display name, bio, website, social links).
Example request:
curl --request PUT \
"http://localhost:8000/api/profile/details" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"display_name\": \"John the Collector\",
\"bio\": \"Vintage camera collector since 1995\",
\"website\": \"https:\\/\\/johndoe.com\",
\"social_links\": {
\"twitter\": \"johndoe\",
\"instagram\": \"johndoe\"
}
}"
const url = new URL(
"http://localhost:8000/api/profile/details"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"display_name": "John the Collector",
"bio": "Vintage camera collector since 1995",
"website": "https:\/\/johndoe.com",
"social_links": {
"twitter": "johndoe",
"instagram": "johndoe"
}
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Profile updated successfully.",
"profile": {
"display_name": "John the Collector",
"bio": "..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Serve the authenticated user's avatar image (same-origin proxy).
requires authentication
This is especially useful in local dev where avatars are stored on an S3 emulator (LocalStack/MinIO) that isn't directly reachable from the browser, or where signed URLs use container-only hostnames.
Example request:
curl --request GET \
--get "http://localhost:8000/api/profile/avatar" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/profile/avatar"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
Binary image stream (content-type: image/jpeg or image/png)
Example response (404, no avatar):
Empty 404 when user has no avatar
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Upload avatar.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/profile/avatar" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "avatar=@/private/var/folders/40/p9d183kj4j78wtdbrp4kflth0000gn/T/php669ajftb1qf58G14PrP" const url = new URL(
"http://localhost:8000/api/profile/avatar"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (200, success):
{
"message": "Avatar uploaded successfully.",
"avatar_url": "https://s3.amazonaws.com/..."
}
Example response (422, validation error):
{
"message": "The avatar field is required.",
"errors": {
"avatar": [
"The avatar field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete avatar.
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/profile/avatar" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/profile/avatar"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Avatar deleted successfully."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Addresses
List addresses
requires authentication
Retrieve all addresses for authenticated user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/addresses" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/addresses"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"addresses": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"type": "shipping",
"full_name": "John Doe",
"address_line_1": "123 Main St",
"city": "London",
"postal_code": "SW1A 1AA",
"country": "GB",
"is_default": true
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add address
requires authentication
Create a new shipping or billing address.
Example request:
curl --request POST \
"http://localhost:8000/api/addresses" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"shipping\",
\"label\": \"Home\",
\"is_default\": true,
\"full_name\": \"John Doe\",
\"company\": \"Acme Corp\",
\"address_line_1\": \"123 Main Street\",
\"address_line_2\": \"Apt 4B\",
\"city\": \"London\",
\"state\": \"Greater London\",
\"postal_code\": \"SW1A 1AA\",
\"country\": \"GB\",
\"phone\": \"+447700900000\"
}"
const url = new URL(
"http://localhost:8000/api/addresses"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "shipping",
"label": "Home",
"is_default": true,
"full_name": "John Doe",
"company": "Acme Corp",
"address_line_1": "123 Main Street",
"address_line_2": "Apt 4B",
"city": "London",
"state": "Greater London",
"postal_code": "SW1A 1AA",
"country": "GB",
"phone": "+447700900000"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, success):
{
"message": "Address created successfully.",
"address": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"type": "shipping",
"full_name": "John Doe"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show a single address.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/addresses/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/addresses/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"address": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"type": "shipping",
"full_name": "John Doe",
"address_line_1": "123 Main St",
"city": "London",
"postal_code": "SW1A 1AA",
"country": "GB",
"is_default": true
}
}
Example response (403, unauthorized):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update an address.
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/addresses/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"shipping\",
\"label\": \"ipzdszigdqrrkthq\",
\"is_default\": false,
\"full_name\": \"pvviwahfxqnyifdn\",
\"company\": \"nzclnhfpvmsnpkyn\",
\"address_line_1\": \"lnbgjdpzixzkhgml\",
\"address_line_2\": \"xfmavknkckbhgmqy\",
\"city\": \"eipywyxscplvrjza\",
\"state\": \"qaveihafwfciilry\",
\"postal_code\": \"ubypsenryjd\",
\"country\": \"uo\",
\"phone\": \"rkexffnsuub\"
}"
const url = new URL(
"http://localhost:8000/api/addresses/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "shipping",
"label": "ipzdszigdqrrkthq",
"is_default": false,
"full_name": "pvviwahfxqnyifdn",
"company": "nzclnhfpvmsnpkyn",
"address_line_1": "lnbgjdpzixzkhgml",
"address_line_2": "xfmavknkckbhgmqy",
"city": "eipywyxscplvrjza",
"state": "qaveihafwfciilry",
"postal_code": "ubypsenryjd",
"country": "uo",
"phone": "rkexffnsuub"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Address updated successfully.",
"address": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"type": "shipping",
"full_name": "John Doe"
}
}
Example response (403, unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"postal_code": [
"The postal code field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete an address.
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/addresses/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/addresses/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Address deleted successfully."
}
Example response (403, unauthorized):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Set address as default.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/addresses/ab/default" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/addresses/ab/default"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Address set as default successfully.",
"address": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"is_default": true
}
}
Example response (403, unauthorized):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Payment Methods
List payment methods
requires authentication
Retrieve all payment methods for the authenticated user including billing addresses.
Example request:
curl --request GET \
--get "http://localhost:8000/api/payment-methods" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/payment-methods"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"payment_methods": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"type": "card",
"brand": "visa",
"last_four": "4242",
"exp_month": 12,
"exp_year": 2025,
"is_default": true,
"billing_address": {
"address_line_1": "123 Main St",
"city": "London",
"postal_code": "SW1A 1AA",
"country": "GB"
}
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add payment method
requires authentication
Add a new payment method using Stripe payment method ID. Creates Stripe customer if needed.
Example request:
curl --request POST \
"http://localhost:8000/api/payment-methods" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"stripe_payment_method_id\": \"pm_1234567890abcdef\",
\"billing_address_id\": \"01JBQW8K7V2XZGHJK5MNPQRSTU\",
\"is_default\": true
}"
const url = new URL(
"http://localhost:8000/api/payment-methods"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"stripe_payment_method_id": "pm_1234567890abcdef",
"billing_address_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"is_default": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, success):
{
"message": "Payment method added successfully.",
"payment_method": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"type": "card",
"brand": "visa",
"last_four": "4242",
"is_default": true
}
}
Example response (422, invalid address):
{
"message": "Invalid billing address."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get payment method
requires authentication
Retrieve a specific payment method with billing address.
Example request:
curl --request GET \
--get "http://localhost:8000/api/payment-methods/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/payment-methods/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"payment_method": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"type": "card",
"brand": "visa",
"last_four": "4242",
"exp_month": 12,
"exp_year": 2025,
"is_default": true,
"billing_address": {
"address_line_1": "123 Main St",
"city": "London",
"postal_code": "SW1A 1AA",
"country": "GB"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update payment method
requires authentication
Update payment method billing address or default status.
Example request:
curl --request PUT \
"http://localhost:8000/api/payment-methods/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"billing_address_id\": \"01JBQW8K7V2XZGHJK5MNPQRSTU\",
\"is_default\": true
}"
const url = new URL(
"http://localhost:8000/api/payment-methods/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"billing_address_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"is_default": true
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Payment method updated successfully.",
"payment_method": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"is_default": true
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete payment method
requires authentication
Delete a payment method and detach from Stripe. Automatically sets another as default if needed.
Example request:
curl --request DELETE \
"http://localhost:8000/api/payment-methods/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/payment-methods/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Payment method deleted successfully."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Set default payment method
requires authentication
Set a payment method as the default for future payments.
Example request:
curl --request POST \
"http://localhost:8000/api/payment-methods/ab/default" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/payment-methods/ab/default"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Payment method set as default successfully.",
"payment_method": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"is_default": true
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create setup intent
requires authentication
Create a Stripe SetupIntent for adding a new payment method via Stripe.js. Returns client_secret for frontend integration.
Example request:
curl --request POST \
"http://localhost:8000/api/payment-methods/setup-intent" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/payment-methods/setup-intent"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"client_secret": "seti_1234567890abcdef_secret_1234567890abcdef"
}
Example response (500, stripe error):
{
"message": "Failed to create setup intent.",
"error": "Stripe error message"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
KYC Verification
Create KYC verification session
requires authentication
Creates an identity verification session using configured KYC provider (Stripe Identity by default). Returns client_secret for frontend integration with Stripe Identity SDK.
Example request:
curl --request POST \
"http://localhost:8000/api/kyc/session" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/kyc/session"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"client_secret": "vs_1234567890abcdef_secret_1234567890abcdef"
}
Example response (400, already verified):
{
"message": "KYC already verified."
}
Example response (500, provider error):
{
"message": "Failed to create verification session."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get KYC verification status
requires authentication
Retrieve the current KYC verification status for the authenticated user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/kyc/status" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/kyc/status"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, verified):
{
"status": "verified",
"verified_at": "2025-10-29T10:00:00.000000Z",
"last_error": null
}
Example response (200, processing):
{
"status": "processing",
"verified_at": null,
"last_error": null
}
Example response (200, none):
{
"status": "none",
"message": "No verification found."
}
Example response (200, failed):
{
"status": "requires_input",
"verified_at": null,
"last_error": "Document image quality too low"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Retry KYC verification
requires authentication
Creates a new verification session if previous verification failed. Returns client_secret for frontend integration.
Example request:
curl --request POST \
"http://localhost:8000/api/kyc/retry" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/kyc/retry"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"client_secret": "vs_1234567890abcdef_secret_1234567890abcdef"
}
Example response (400, already verified):
{
"message": "KYC already verified."
}
Example response (400, pending):
{
"message": "Verification is still pending. Please wait."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Listings
Browse listings
requires authentication
Browse active listings with optional filters for category, status, condition, price range, and phygital items.
Example request:
curl --request GET \
--get "http://localhost:8000/api/listings?category_id=01JBQW8K7V2XZGHJK5MNPQRSTU&include_descendants=1&status=live&condition=excellent&listing_type=fixed_price&is_fixed_price=1&fixed_price_min=1000&fixed_price_max=50000&price_min=10000&price_max=50000&has_buy_now=1&is_phygital=&per_page=20" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/listings"
);
const params = {
"category_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"include_descendants": "1",
"status": "live",
"condition": "excellent",
"listing_type": "fixed_price",
"is_fixed_price": "1",
"fixed_price_min": "1000",
"fixed_price_max": "50000",
"price_min": "10000",
"price_max": "50000",
"has_buy_now": "1",
"is_phygital": "0",
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"title": "Vintage Camera",
"description": "...",
"starting_bid": 10000,
"buy_now_price": 25000,
"condition": "excellent",
"status": "live",
"is_phygital": false,
"category": {
"id": "...",
"name": "Electronics"
},
"user": {
"id": "...",
"name": "John Seller"
},
"media": [
{
"id": "...",
"url": "...",
"is_primary": true
}
]
}
],
"links": {
"first": "...",
"last": "...",
"prev": null,
"next": "..."
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 10,
"per_page": 20,
"to": 20,
"total": 200
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get listings ending soon.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/listings/ending-soon" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/listings/ending-soon"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"title": "Vintage Camera",
"starting_bid": 10000,
"status": "live",
"end_time": "2025-10-30T10:00:00.000000Z"
}
],
"links": {},
"meta": {}
}
Example response (404, tenant not found):
{
"message": "Tenant context is required."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get listing details
requires authentication
Retrieve detailed information about a specific listing including media, attributes, and category.
Example request:
curl --request GET \
--get "http://localhost:8000/api/listings/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/listings/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"title": "Vintage Camera",
"description": "Fully functional vintage camera...",
"starting_bid": 10000,
"buy_now_price": 25000,
"condition": "excellent",
"status": "live",
"is_phygital": false,
"view_count": 42,
"category": {
"id": "...",
"name": "Electronics"
},
"user": {
"id": "...",
"name": "John Seller"
},
"media": [
{
"id": "...",
"url": "...",
"is_primary": true
}
],
"attributes": [
{
"category_attribute": {
"name": "Brand"
},
"value": "Canon"
}
],
"tags": [
{
"name": "vintage"
},
{
"name": "camera"
}
]
}
}
Example response (404, not found):
{
"message": "Listing not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get my listings
requires authentication
Retrieve all listings created by the authenticated user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/my-listings?per_page=20" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/my-listings"
);
const params = {
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"title": "My Vintage Camera",
"status": "live",
"created_at": "2025-10-29T10:00:00.000000Z"
}
],
"links": {},
"meta": {}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create listing
requires authentication
Create a new auction listing. Requires authentication.
Example request:
curl --request POST \
"http://localhost:8000/api/listings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"listing_type\": \"english\",
\"title\": \"Vintage Canon Camera\",
\"description\": \"Fully functional vintage Canon camera from 1980s...\",
\"category_id\": \"01JBQW8K7V2XZGHJK5MNPQRSTU\",
\"condition\": \"excellent\",
\"starting_bid\": 10000,
\"reserve_price\": 15000,
\"buy_now_price\": 25000,
\"fixed_price_amount\": 95,
\"quantity\": 8,
\"allow_offers\": false,
\"min_offer_percent\": 1,
\"auto_accept_percent\": 1,
\"estimate_low\": 42,
\"estimate_high\": 3,
\"bid_increment\": 96,
\"start_time\": \"2069-05-25\",
\"end_time\": \"2069-05-25\",
\"item_location\": \"dszigdqrrkthqpvv\",
\"shipping_cost\": 8,
\"is_local_pickup\": true,
\"is_international_shipping\": false,
\"currency\": \"wah\",
\"is_phygital\": false,
\"nft_contract_address\": \"0x1234567890abcdef...\",
\"nft_token_id\": \"123\",
\"nft_blockchain\": \"polygon\",
\"digital_asset_url\": \"https:\\/\\/gaylord.com\\/quia-dignissimos-tempore-sapiente-nihil-quod-voluptate-unde.html\",
\"digital_asset_type\": \"avknkckbhgmqyeip\",
\"tax_status\": \"margin_scheme\",
\"custom_attributes\": [
\"ab\"
],
\"tags\": [
\"vintage\",
\"camera\",
\"electronics\"
],
\"media_ids\": [
\"01JBQW8K7V2XZGHJK5MNPQRSTU\"
],
\"sales_model\": \"seller_led\",
\"price_display_mode\": \"inherit\",
\"attributes\": [
{
\"category_attribute_id\": \"...\",
\"value\": \"Canon\"
}
]
}"
const url = new URL(
"http://localhost:8000/api/listings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"listing_type": "english",
"title": "Vintage Canon Camera",
"description": "Fully functional vintage Canon camera from 1980s...",
"category_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"condition": "excellent",
"starting_bid": 10000,
"reserve_price": 15000,
"buy_now_price": 25000,
"fixed_price_amount": 95,
"quantity": 8,
"allow_offers": false,
"min_offer_percent": 1,
"auto_accept_percent": 1,
"estimate_low": 42,
"estimate_high": 3,
"bid_increment": 96,
"start_time": "2069-05-25",
"end_time": "2069-05-25",
"item_location": "dszigdqrrkthqpvv",
"shipping_cost": 8,
"is_local_pickup": true,
"is_international_shipping": false,
"currency": "wah",
"is_phygital": false,
"nft_contract_address": "0x1234567890abcdef...",
"nft_token_id": "123",
"nft_blockchain": "polygon",
"digital_asset_url": "https:\/\/gaylord.com\/quia-dignissimos-tempore-sapiente-nihil-quod-voluptate-unde.html",
"digital_asset_type": "avknkckbhgmqyeip",
"tax_status": "margin_scheme",
"custom_attributes": [
"ab"
],
"tags": [
"vintage",
"camera",
"electronics"
],
"media_ids": [
"01JBQW8K7V2XZGHJK5MNPQRSTU"
],
"sales_model": "seller_led",
"price_display_mode": "inherit",
"attributes": [
{
"category_attribute_id": "...",
"value": "Canon"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"title": "Vintage Canon Camera",
"status": "pending",
"created_at": "2025-10-29T10:00:00.000000Z"
}
}
Example response (422, validation error):
{
"message": "The title field is required.",
"errors": {
"title": [
"The title field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update listing
requires authentication
Update an existing listing. Requires authentication and ownership.
Example request:
curl --request PUT \
"http://localhost:8000/api/listings/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"listing_type\": \"dutch\",
\"title\": \"Updated Camera Title\",
\"description\": \"Updated description...\",
\"category_id\": \"01JBQW8K7V2XZGHJK5MNPQRSTU\",
\"condition\": \"good\",
\"starting_bid\": 12000,
\"reserve_price\": 18000,
\"buy_now_price\": 30000,
\"fixed_price_amount\": 100,
\"bid_increment\": 94,
\"start_time\": \"2069-05-25\",
\"end_time\": \"2069-05-25\",
\"item_location\": \"dszigdqrrkthqpvv\",
\"shipping_cost\": 8,
\"is_local_pickup\": false,
\"is_international_shipping\": false,
\"quantity\": 41,
\"allow_offers\": false,
\"min_offer_percent\": 1,
\"auto_accept_percent\": 2,
\"currency\": \"fxq\",
\"custom_attributes\": [
\"ab\"
],
\"tags\": [
\"vintage\",
\"camera\"
],
\"media_ids\": [
\"ab\"
],
\"price_display_mode\": \"whole_units\",
\"attributes\": [
{
\"category_attribute_id\": \"...\",
\"value\": \"Canon\"
}
]
}"
const url = new URL(
"http://localhost:8000/api/listings/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"listing_type": "dutch",
"title": "Updated Camera Title",
"description": "Updated description...",
"category_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"condition": "good",
"starting_bid": 12000,
"reserve_price": 18000,
"buy_now_price": 30000,
"fixed_price_amount": 100,
"bid_increment": 94,
"start_time": "2069-05-25",
"end_time": "2069-05-25",
"item_location": "dszigdqrrkthqpvv",
"shipping_cost": 8,
"is_local_pickup": false,
"is_international_shipping": false,
"quantity": 41,
"allow_offers": false,
"min_offer_percent": 1,
"auto_accept_percent": 2,
"currency": "fxq",
"custom_attributes": [
"ab"
],
"tags": [
"vintage",
"camera"
],
"media_ids": [
"ab"
],
"price_display_mode": "whole_units",
"attributes": [
{
"category_attribute_id": "...",
"value": "Canon"
}
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"title": "Updated Camera Title",
"updated_at": "2025-10-29T10:30:00.000000Z"
}
}
Example response (403, unauthorized):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update listing
requires authentication
Update an existing listing. Requires authentication and ownership.
Example request:
curl --request PATCH \
"http://localhost:8000/api/listings/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"listing_type\": \"sealed\",
\"title\": \"Updated Camera Title\",
\"description\": \"Updated description...\",
\"category_id\": \"01JBQW8K7V2XZGHJK5MNPQRSTU\",
\"condition\": \"good\",
\"starting_bid\": 12000,
\"reserve_price\": 18000,
\"buy_now_price\": 30000,
\"fixed_price_amount\": 100,
\"bid_increment\": 94,
\"start_time\": \"2069-05-25\",
\"end_time\": \"2069-05-25\",
\"item_location\": \"dszigdqrrkthqpvv\",
\"shipping_cost\": 8,
\"is_local_pickup\": true,
\"is_international_shipping\": false,
\"quantity\": 41,
\"allow_offers\": false,
\"min_offer_percent\": 1,
\"auto_accept_percent\": 2,
\"currency\": \"fxq\",
\"custom_attributes\": [
\"ab\"
],
\"tags\": [
\"vintage\",
\"camera\"
],
\"media_ids\": [
\"ab\"
],
\"price_display_mode\": \"inherit\",
\"attributes\": [
{
\"category_attribute_id\": \"...\",
\"value\": \"Canon\"
}
]
}"
const url = new URL(
"http://localhost:8000/api/listings/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"listing_type": "sealed",
"title": "Updated Camera Title",
"description": "Updated description...",
"category_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"condition": "good",
"starting_bid": 12000,
"reserve_price": 18000,
"buy_now_price": 30000,
"fixed_price_amount": 100,
"bid_increment": 94,
"start_time": "2069-05-25",
"end_time": "2069-05-25",
"item_location": "dszigdqrrkthqpvv",
"shipping_cost": 8,
"is_local_pickup": true,
"is_international_shipping": false,
"quantity": 41,
"allow_offers": false,
"min_offer_percent": 1,
"auto_accept_percent": 2,
"currency": "fxq",
"custom_attributes": [
"ab"
],
"tags": [
"vintage",
"camera"
],
"media_ids": [
"ab"
],
"price_display_mode": "inherit",
"attributes": [
{
"category_attribute_id": "...",
"value": "Canon"
}
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"title": "Updated Camera Title",
"updated_at": "2025-10-29T10:30:00.000000Z"
}
}
Example response (403, unauthorized):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete listing
requires authentication
Soft delete a listing. Requires authentication and ownership.
Example request:
curl --request DELETE \
"http://localhost:8000/api/listings/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/listings/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Listing deleted successfully"
}
Example response (403, unauthorized):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Purchase (Buy Now) a fixed price listing.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/listings/ab/purchase" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"quantity\": 1,
\"shipping_address_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/listings/ab/purchase"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"quantity": 1,
"shipping_address_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Categories
List categories
requires authentication
Get all root categories with their immediate children. Public endpoint for browsing the category hierarchy.
Example request:
curl --request GET \
--get "http://localhost:8000/api/categories" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/categories"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "Electronics",
"description": "Electronic items",
"icon": "https://...",
"sort_order": 1,
"is_active": true,
"children": [
{
"id": "...",
"name": "Cameras",
"parent_id": "01JBQW8K7V2XZGHJK5MNPQRSTU"
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get category tree
requires authentication
Get complete hierarchical category structure with all nested children.
Example request:
curl --request GET \
--get "http://localhost:8000/api/categories/tree" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/categories/tree"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "Electronics",
"children": [
{
"id": "...",
"name": "Cameras",
"children": [
{
"id": "...",
"name": "Digital Cameras"
}
]
}
]
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get category details
requires authentication
Retrieve detailed information about a specific category including parent, children, and custom fields.
Example request:
curl --request GET \
--get "http://localhost:8000/api/categories/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/categories/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "Cameras",
"description": "Camera equipment",
"icon": "https://...",
"parent": {
"id": "...",
"name": "Electronics"
},
"children": [],
"attributes": [
{
"name": "Brand",
"type": "string"
}
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get category attributes
requires authentication
Retrieve custom fields for a category (e.g., Brand, Size, Model for specific categories).
Example request:
curl --request GET \
--get "http://localhost:8000/api/categories/ab/attributes" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/categories/ab/attributes"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"category_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "Brand",
"type": "string",
"is_required": true,
"options": [
"Canon",
"Nikon",
"Sony"
],
"sort_order": 1
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get category sections
requires authentication
Retrieve structured "Additional Details" sections for a category (including inherited sections).
Example request:
curl --request GET \
--get "http://localhost:8000/api/categories/01JBQW8K7V2XZGHJK5MNPQRSTU/sections" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/categories/01JBQW8K7V2XZGHJK5MNPQRSTU/sections"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "Condition",
"fields": [
{
"name": "condition",
"type": "string",
"required": true
}
]
}
]
}
Example response (404, category not found):
{
"message": "Category not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Collections
List collections with optional filters.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/collections?status=live&type=themed&is_promoted=1" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/collections"
);
const params = {
"status": "live",
"type": "themed",
"is_promoted": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{"data": [{"id": "01JBQXM0VSXV9H8NR5TZW68SW6", "name": "Spring Showcase", "slug": "spring-showcase", "type": "themed", "status": "live", "listings_count": 24}], "meta": {...}}
Example response (400, missing tenant):
{
"message": "Tenant context is required. Please provide a valid X-Tenant-ID header or ensure IdentifyTenant middleware is active."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Display a single collection by slug.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/collections/spring-showcase" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/collections/spring-showcase"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQXM0VSXV9H8NR5TZW68SW6",
"name": "Spring Showcase",
"slug": "spring-showcase",
"type": "themed",
"status": "live",
"vendor": null,
"event": null,
"listings_count": 24
}
}
Example response (404, not found):
{
"message": "Collection not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List listings inside a collection.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/collections/01JBQXM0VSXV9H8NR5TZW68SW6/listings?category_id=01JBQXM0VSXV9H8NR5TZW68SW6&condition=excellent&price_min=10000&price_max=50000&search=vintage&listing_type=fixed_price&is_fixed_price=1&has_buy_now=1&sort=ending_soon" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/collections/01JBQXM0VSXV9H8NR5TZW68SW6/listings"
);
const params = {
"category_id": "01JBQXM0VSXV9H8NR5TZW68SW6",
"condition": "excellent",
"price_min": "10000",
"price_max": "50000",
"search": "vintage",
"listing_type": "fixed_price",
"is_fixed_price": "1",
"has_buy_now": "1",
"sort": "ending_soon",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{"data": [{"id": "01JBQXQRGN9V5M8F6T7Y2X3Z4A", "title": "Vintage Rangefinder", "status": "live", "starting_bid": 100000}], "meta": {...}}
Example response (404, collection not found):
{
"message": "Collection not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Auctions
List active auctions
requires authentication
Browse scheduled and live auctions with optional filters.
Example request:
curl --request GET \
--get "http://localhost:8000/api/auctions?event_id=01JBQW8K7V2XZGHJK5MNPQRSTU&status=live&category_id=01JBQW8K7V2XZGHJK5MNPQRSTU&include_descendants=1&per_page=15" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auctions"
);
const params = {
"event_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "live",
"category_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"include_descendants": "1",
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"listing_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "live",
"current_bid": 15000,
"bid_count": 12,
"start_time": "2025-10-29T10:00:00.000000Z",
"end_time": "2025-10-30T10:00:00.000000Z",
"listing": {
"title": "Vintage Camera",
"starting_bid": 10000
}
}
],
"links": {},
"meta": {}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List auctions ending soon
requires authentication
Retrieve live auctions ending within specified hours.
Example request:
curl --request GET \
--get "http://localhost:8000/api/auctions/ending-soon?hours=24" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auctions/ending-soon"
);
const params = {
"hours": "24",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"listing_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "live",
"current_bid": 15000,
"end_time": "2025-10-29T14:00:00.000000Z",
"listing": {
"title": "Vintage Camera"
}
}
],
"links": {},
"meta": {}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get auction details
requires authentication
Retrieve detailed information about a specific auction including current bid, bid count, and merged listing data.
Example request:
curl --request GET \
--get "http://localhost:8000/api/auctions/01JBQW8K7V2XZGHJK5MNPQRSTU" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auctions/01JBQW8K7V2XZGHJK5MNPQRSTU"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"listing_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "live",
"current_bid": 15000,
"bid_count": 12,
"minimum_bid": 15500,
"reserve_met": false,
"start_time": "2025-10-29T10:00:00.000000Z",
"end_time": "2025-10-30T10:00:00.000000Z",
"listing": {
"title": "Vintage Camera",
"description": "...",
"media": []
}
}
}
Example response (404, not found):
{
"message": "Auction not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List auctions by event
requires authentication
Retrieve all auctions for a specific event, ordered by lot number.
Example request:
curl --request GET \
--get "http://localhost:8000/api/auctions/events/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auctions/events/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"lot_number": 1,
"listing_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "scheduled",
"listing": {
"title": "Item 1"
}
},
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"lot_number": 2,
"listing_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "scheduled",
"listing": {
"title": "Item 2"
}
}
],
"links": {},
"meta": {}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Q&A
List listing questions
requires authentication
Get all public Q&A for a listing. Public endpoint showing answered questions and follow-ups.
Example request:
curl --request GET \
--get "http://localhost:8000/api/listings/ab/questions" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/listings/ab/questions"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"questions": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"question_text": "What is the condition?",
"answer_text": "Excellent condition",
"asker": {
"name": "Potential Buyer"
},
"answerer": {
"name": "Seller"
},
"created_at": "2025-10-29T10:00:00Z",
"answered_at": "2025-10-29T11:00:00Z",
"follow_ups": []
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Post question
requires authentication
Ask a question about a listing. Question will be published once seller answers. Can also post follow-up questions.
Example request:
curl --request POST \
"http://localhost:8000/api/listings/ab/questions" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"question_text\": \"What is the shipping cost to London?\",
\"parent_question_id\": \"01JBQW8K7V2XZGHJK5MNPQRSTU\"
}"
const url = new URL(
"http://localhost:8000/api/listings/ab/questions"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"question_text": "What is the shipping cost to London?",
"parent_question_id": "01JBQW8K7V2XZGHJK5MNPQRSTU"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, success):
{
"question": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"question_text": "What is the shipping cost?",
"asker": {
"name": "Buyer"
},
"created_at": "2025-10-29T10:00:00Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Answer question
requires authentication
Seller or tenant admin answers a question about the listing. Answer will be publicly visible.
Example request:
curl --request POST \
"http://localhost:8000/api/questions/ab/answer" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"answer_text\": \"Shipping to London is £5.99 for standard delivery\"
}"
const url = new URL(
"http://localhost:8000/api/questions/ab/answer"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"answer_text": "Shipping to London is £5.99 for standard delivery"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"question": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"question_text": "What is the shipping cost?",
"answer_text": "Shipping to London is £5.99",
"answerer": {
"name": "Seller"
},
"answered_at": "2025-10-29T11:00:00Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete question
requires authentication
Delete a question. Only the question asker or admin with 'moderate content' permission can delete.
Example request:
curl --request DELETE \
"http://localhost:8000/api/questions/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/questions/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Question deleted."
}
Example response (403, unauthorized):
{
"message": "Unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Search
Search listings
requires authentication
Full-text search across listings with filters, sorting, and facets. Uses configurable SearchService abstraction (database by default, Algolia/OpenSearch for production).
Example request:
curl --request GET \
--get "http://localhost:8000/api/search?q=vintage+camera&category_id=01JBQW8K7V2XZGHJK5MNPQRSTU&status=live&condition=excellent&price_min=10000&price_max=50000&has_buy_now=1&is_phygital=&tags[]=vintage&tags[]=camera&sort_by=current_bid&sort_direction=desc&page=1&per_page=20" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"q\": \"ipzdszigdqrrkthq\",
\"status\": \"ended\",
\"condition\": \"like_new\",
\"price_min\": 15,
\"price_max\": 34,
\"has_buy_now\": false,
\"is_phygital\": false,
\"tags\": [
\"viwahfxqnyifdnnz\"
],
\"sort_by\": \"end_time\",
\"sort_direction\": \"asc\",
\"page\": 83,
\"per_page\": 16
}"
const url = new URL(
"http://localhost:8000/api/search"
);
const params = {
"q": "vintage camera",
"category_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "live",
"condition": "excellent",
"price_min": "10000",
"price_max": "50000",
"has_buy_now": "1",
"is_phygital": "0",
"tags[0]": "vintage",
"tags[1]": "camera",
"sort_by": "current_bid",
"sort_direction": "desc",
"page": "1",
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"q": "ipzdszigdqrrkthq",
"status": "ended",
"condition": "like_new",
"price_min": 15,
"price_max": 34,
"has_buy_now": false,
"is_phygital": false,
"tags": [
"viwahfxqnyifdnnz"
],
"sort_by": "end_time",
"sort_direction": "asc",
"page": 83,
"per_page": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"listings": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"title": "Vintage Camera",
"price": 10000
}
],
"total": 150,
"page": 1,
"per_page": 20,
"facets": {
"categories": [
{
"id": "...",
"name": "Electronics",
"count": 42
}
],
"conditions": [
{
"value": "excellent",
"count": 28
}
],
"price_ranges": [
{
"min": 0,
"max": 10000,
"count": 35
}
]
},
"processing_time": 0.025
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Autocomplete suggestions
requires authentication
Get search suggestions for autocomplete UI. Returns top 10 matching listings with title and image.
Example request:
curl --request GET \
--get "http://localhost:8000/api/search/autocomplete?q=vint" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"q\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/search/autocomplete"
);
const params = {
"q": "vint",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"q": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
[
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"title": "Vintage Camera",
"category": "Electronics",
"primary_image_url": "https://..."
}
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get search facets
requires authentication
Retrieve available filter options with counts for building filter UI (categories, conditions, popular tags).
Example request:
curl --request GET \
--get "http://localhost:8000/api/search/facets" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/search/facets"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"categories": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "Electronics",
"count": 42
}
],
"tags": [
{
"name": "vintage",
"count": 85
}
],
"conditions": [
{
"value": "new",
"label": "New"
},
{
"value": "like_new",
"label": "Like New"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Orders
List my orders
requires authentication
Returns orders where the authenticated user is the buyer or seller.
Optional query param:
- role=buyer|seller to filter by side
- status=
to filter by order status
Example request:
curl --request GET \
--get "http://localhost:8000/api/orders" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"auction_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "pending_payment",
"total_amount": 15000
}
],
"links": {},
"meta": {
"current_page": 1,
"per_page": 20,
"total": 5
}
}
Example response (401, unauthenticated):
{
"message": "Unauthorized"
}
Example response (422, invalid status):
{
"message": "Invalid status filter.",
"errors": {
"status": [
"Invalid status."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get order by ID
requires authentication
Retrieve a specific order by its ID. User must be the buyer or seller.
Example request:
curl --request GET \
--get "http://localhost:8000/api/orders/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{"data": {"id": "01JBQW8K7V2XZGHJK5MNPQRSTU", "auction_id": "01JBQW8K7V2XZGHJK5MNPQRSTU", "status": "pending_payment", "total_amount": 15000, ...}}
Example response (404, not found):
{
"message": "Order not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get order by auction ID
requires authentication
Retrieve order(s) associated with a specific auction. User must be the buyer or seller.
- Buyers will typically see 1 order (their own).
- Sellers may see multiple orders for multi-winner auctions (e.g. Dutch multi-unit).
Example request:
curl --request GET \
--get "http://localhost:8000/api/orders/by-auction/01JBQW8K7V2XZGHJK5MNPQRSTU" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/by-auction/01JBQW8K7V2XZGHJK5MNPQRSTU"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"auction_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "pending_payment",
"total_amount": 15000,
"...": "..."
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sync (create) an order for a winning Dutch acceptance bid.
requires authentication
This is used by the frontend "Creating your order..." flow to avoid waiting for scheduled tasks / queue workers to backfill orders.
Returns:
- 200 + {data: Order} when the order exists (created or previously present)
- 202 when the bid is not yet persisted / not yet winning
Example request:
curl --request POST \
"http://localhost:8000/api/orders/sync-dutch-accept/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/sync-dutch-accept/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create payment intent for an order
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/payment" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"payment_method_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/orders/ab/payment"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"payment_method_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"payment_intent_id": "pi_...",
"client_secret": "pi_..._secret_...",
"amount": 15000,
"requires_action": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Finalize a payment after client-side confirmation.
requires authentication
In local/dev environments, Stripe webhooks are often not configured. When the frontend completes 3DS/SCA via Stripe.js, Stripe may mark the PaymentIntent as succeeded, but our order/listing state won't update until we observe that success. This endpoint re-checks the latest PaymentIntent and applies the same state transitions + domain events as the webhook handler.
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/payment/finalize" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"payment_intent_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/orders/ab/payment/finalize"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"payment_intent_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Schedule payout for order
requires authentication
Manually schedules a payout for a completed order. Typically handled automatically after delivery confirmation.
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/schedule-payout" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/ab/schedule-payout"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Payout scheduled successfully",
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"amount": 45000,
"scheduled_for": "2025-11-05T10:00:00.000000Z"
}
}
Example response (400, already scheduled):
{
"message": "Payout already scheduled for this order"
}
Example response (403, unauthorized):
{
"message": "Unauthorized to schedule payout"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Seller Payouts
Execute scheduled payout
requires authentication
Executes a scheduled payout to the seller's connected account. Only available after the hold period has expired.
Example request:
curl --request POST \
"http://localhost:8000/api/payouts/ab/execute" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/payouts/ab/execute"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Payout executed successfully",
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"amount": 45000,
"status": "completed"
}
}
Example response (400, already executed):
{
"message": "Payout has already been executed"
}
Example response (403, unauthorized):
{
"message": "Unauthorized to execute this payout"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Shipping
Create shipment
requires authentication
Create a shipment for an order. Seller provides package details and selects carrier/service level. Automatically generates shipping label via carrier API.
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/ship" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"carrier\": \"royal_mail\",
\"service_level\": \"standard\",
\"weight\": 1.5,
\"length\": 30,
\"width\": 20,
\"height\": 10,
\"description\": \"Vintage Camera\"
}"
const url = new URL(
"http://localhost:8000/api/orders/ab/ship"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"carrier": "royal_mail",
"service_level": "standard",
"weight": 1.5,
"length": 30,
"width": 20,
"height": 10,
"description": "Vintage Camera"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, success):
{
"message": "Shipment created successfully",
"shipment": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"tracking_number": "RM123456789GB",
"carrier": "royal_mail",
"label_url": "https://...",
"estimated_delivery": "2025-10-31T10:00:00Z",
"status": "created"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark order as shipped manually
requires authentication
Use this when shipping is arranged outside the platform and no carrier label should be purchased.
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/mark-shipped" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"carrier\": \"DHL Express\",
\"tracking_number\": \"EXTERNAL123456\"
}"
const url = new URL(
"http://localhost:8000/api/orders/ab/mark-shipped"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"carrier": "DHL Express",
"tracking_number": "EXTERNAL123456"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Order marked as shipped",
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "shipped",
"tracking_number": "EXTERNAL123456",
"carrier": "DHL Express",
"shipped_at": "2025-10-29T10:00:00Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get shipment details
requires authentication
Retrieve shipment information including tracking number, status, addresses, and tracking events.
Example request:
curl --request GET \
--get "http://localhost:8000/api/orders/ab/shipment" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/ab/shipment"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{"shipment": {"id": "01JBQW8K7V2XZGHJK5MNPQRSTU", "tracking_number": "RM123456789GB", "carrier": "royal_mail", "label_url": "https://...", "service_level": "standard", "status": "in_transit", "estimated_delivery": "2025-10-31T10:00:00Z", "shipped_at": "2025-10-29T10:00:00Z", "delivered_at": null, "from_address": {...}, "to_address": {...}, "package_details": {...}, "tracking_events": [{"status": "picked_up", "location": "London", "timestamp": "2025-10-29T10:00:00Z"}]}}
Example response (404, not found):
{
"message": "Shipment not found for this order"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get tracking updates
requires authentication
Fetch real-time tracking information from carrier API. Updates shipment status and tracking events.
Example request:
curl --request GET \
--get "http://localhost:8000/api/orders/ab/tracking" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/ab/tracking"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"tracking": {
"tracking_number": "RM123456789GB",
"status": "in_transit",
"current_location": "Distribution Center London",
"estimated_delivery": "2025-10-31T10:00:00Z",
"delivered_at": null,
"events": [
{
"status": "picked_up",
"location": "London",
"timestamp": "2025-10-29T10:00:00Z",
"description": "Package picked up"
}
]
}
}
Example response (404, not found):
{
"message": "Shipment not found for this order"
}
Example response (500, carrier error):
{
"message": "Failed to fetch tracking information",
"error": "Carrier API error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cancel shipment
requires authentication
Cancel a shipment with carrier. Only allowed for shipments in 'created' or 'pending_pickup' status. Reverts order to 'paid' status so seller can create new shipment.
Example request:
curl --request DELETE \
"http://localhost:8000/api/orders/ab/shipment" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/ab/shipment"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Shipment cancelled successfully"
}
Example response (404, not found):
{
"message": "Shipment not found for this order"
}
Example response (422, cannot cancel):
{
"message": "Shipment cannot be cancelled in current status"
}
Example response (422, carrier error):
{
"message": "Failed to cancel shipment with carrier",
"error": "Carrier rejection reason"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delivery
Confirm delivery
requires authentication
Seller confirms item has shipped. Starts buyer acceptance period (typically 7 days). Can also be triggered automatically by tracking updates.
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/confirm-delivery" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/ab/confirm-delivery"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Delivery confirmed successfully",
"confirmation": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"confirmed_at": "2025-10-29T10:00:00Z",
"acceptance_deadline": "2025-11-05T10:00:00Z"
}
}
Example response (422, error):
{
"message": "Failed to confirm delivery",
"error": "Order not shipped"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Accept delivery
requires authentication
Buyer accepts received item. Triggers OrderDelivered event which schedules seller payout. Order status becomes 'completed'.
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/accept" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"notes\": \"Item received in perfect condition\"
}"
const url = new URL(
"http://localhost:8000/api/orders/ab/accept"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"notes": "Item received in perfect condition"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Delivery accepted successfully. Order is now completed.",
"confirmation": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"accepted": true,
"notes": "Item received in perfect condition"
}
}
Example response (422, error):
{
"message": "Failed to accept delivery",
"error": "Acceptance deadline passed"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reject delivery
requires authentication
Buyer rejects item and opens dispute. Payout to seller is held pending dispute resolution. Requires rejection reason, type, and optional evidence photos.
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/reject" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"rejection_reason\": \"Item arrived damaged with visible dents\",
\"rejection_type\": \"damaged\",
\"evidence_photos\": [
\"https:\\/\\/...\",
\"https:\\/\\/...\"
],
\"desired_outcome\": \"refund\",
\"notes\": \"Packaging was damaged on arrival\"
}"
const url = new URL(
"http://localhost:8000/api/orders/ab/reject"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"rejection_reason": "Item arrived damaged with visible dents",
"rejection_type": "damaged",
"evidence_photos": [
"https:\/\/...",
"https:\/\/..."
],
"desired_outcome": "refund",
"notes": "Packaging was damaged on arrival"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Delivery rejected. A dispute has been created and payout has been held.",
"confirmation": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"accepted": false,
"rejection_reason": "Item arrived damaged with visible dents",
"rejection_type": "damaged"
}
}
Example response (422, error):
{
"message": "Failed to reject delivery",
"error": "Acceptance deadline passed"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get delivery status
requires authentication
Check delivery confirmation status, acceptance deadline, and whether buyer can still accept/reject.
Example request:
curl --request GET \
--get "http://localhost:8000/api/orders/ab/delivery-status" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/ab/delivery-status"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, not confirmed):
{
"delivery_confirmed": false,
"can_confirm": true
}
Example response (200, awaiting acceptance):
{
"delivery_confirmed": true,
"confirmed_at": "2025-10-29T10:00:00Z",
"confirmation_type": "manual",
"accepted": null,
"acceptance_deadline": "2025-11-05T10:00:00Z",
"can_accept": true,
"can_reject": true,
"rejection_reason": null,
"rejection_type": null
}
Example response (200, accepted):
{
"delivery_confirmed": true,
"confirmed_at": "2025-10-29T10:00:00Z",
"accepted": true,
"acceptance_deadline": "2025-11-05T10:00:00Z",
"can_accept": false,
"can_reject": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Messaging
List conversations
requires authentication
Retrieve all conversations for the authenticated user from Messaging DB. Includes buyer and seller details merged from Core DB.
Example request:
curl --request GET \
--get "http://localhost:8000/api/conversations" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/conversations"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"auction_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"order_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"other_participant": {
"id": "...",
"name": "Jane Seller"
},
"last_message_at": "2025-10-29T10:00:00.000000Z",
"unread_count": 2
}
],
"meta": {
"current_page": 1,
"per_page": 20,
"last_page": 1,
"total": 1
},
"links": {
"first": null,
"last": null,
"prev": null,
"next": null
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
View conversation messages
requires authentication
Retrieve all messages for a conversation. Supports search within messages. Automatically marks conversation as read.
Example request:
curl --request GET \
--get "http://localhost:8000/api/conversations/ab?q=tracking" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/conversations/ab"
);
const params = {
"q": "tracking",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"auction_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"order_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"other_participant": {
"id": "...",
"name": "Jane Seller"
}
},
"messages": {
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"conversation_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"content": "Hello, when will you ship?",
"sender": {
"id": "...",
"name": "John Buyer"
},
"sent_at": "2025-10-29T10:00:00.000000Z",
"is_published": true
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"last_page": 1,
"total": 1
},
"links": {
"first": null,
"last": null,
"prev": null,
"next": null
}
}
}
Example response (403, unauthorized):
{
"message": "Unauthorized."
}
Example response (404, not found):
{
"message": "Conversation not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Send message
requires authentication
Send a message in a conversation.
If the conversation doesn't exist yet, you can lazily create it by providing order_id.
Participant ids and listing/auction context are derived server-side from the order (client-provided ids are not trusted).
Message content is moderated and PII is masked.
Example request:
curl --request POST \
"http://localhost:8000/api/conversations/ab/messages" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"content\": \"Hello, when will you ship the item?\",
\"issue_id\": \"ab\",
\"order_id\": \"01JBQW8K7V2XZGHJK5MNPQRSTU\",
\"attachments\": [
{
\"url\": \"http:\\/\\/feeney.com\\/\",
\"type\": \"szigdqrrkthqpvvi\"
}
]
}"
const url = new URL(
"http://localhost:8000/api/conversations/ab/messages"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"content": "Hello, when will you ship the item?",
"issue_id": "ab",
"order_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"attachments": [
{
"url": "http:\/\/feeney.com\/",
"type": "szigdqrrkthqpvvi"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"conversation_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"content": "Hello, when will you ship the item?",
"sender": {
"id": "...",
"name": "John Buyer"
},
"sent_at": "2025-10-29T10:00:00.000000Z"
}
}
Example response (400, error):
{
"message": "Failed to send message: Validation error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Report a message/conversation for moderation review (participant-scoped).
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/conversations/ab/report" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"message_id\": \"ab\",
\"reason\": \"pzdszigdqrrkthqp\"
}"
const url = new URL(
"http://localhost:8000/api/conversations/ab/report"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"message_id": "ab",
"reason": "pzdszigdqrrkthqp"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark conversation as read
requires authentication
Mark all messages in a conversation as read for the authenticated user.
Example request:
curl --request POST \
"http://localhost:8000/api/conversations/ab/read" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/conversations/ab/read"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Conversation marked as read."
}
Example response (403, unauthorized):
{
"message": "Unauthorized."
}
Example response (404, not found):
{
"message": "Conversation not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark conversation as read
requires authentication
Mark all messages in a conversation as read for the authenticated user.
Example request:
curl --request POST \
"http://localhost:8000/api/conversations/ab/mark-read" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/conversations/ab/mark-read"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Conversation marked as read."
}
Example response (403, unauthorized):
{
"message": "Unauthorized."
}
Example response (404, not found):
{
"message": "Conversation not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Trust & Safety - Ratings
List user ratings
requires authentication
Get all ratings received by a user. Public endpoint for viewing user reputation.
Example request:
curl --request GET \
--get "http://localhost:8000/api/users/ab/ratings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/users/ab/ratings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"rating_value": 5,
"review_text": "Excellent seller!",
"reviewer": {
"name": "John Buyer"
},
"created_at": "2025-10-29T10:00:00Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Rate order
requires authentication
Leave a rating for buyer or seller after order completion. Buyers rate sellers, sellers rate buyers.
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/rate" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"rating_type\": \"buyer_to_seller\",
\"rating_value\": 5,
\"review_text\": \"Great transaction, item as described\"
}"
const url = new URL(
"http://localhost:8000/api/orders/ab/rate"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"rating_type": "buyer_to_seller",
"rating_value": 5,
"review_text": "Great transaction, item as described"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"rating_value": 5,
"review_text": "Great transaction",
"created_at": "2025-10-29T10:00:00Z"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Respond to rating
requires authentication
Seller responds to buyer rating (or vice versa). Only the rated user can respond.
Example request:
curl --request POST \
"http://localhost:8000/api/ratings/ab/respond" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"response_text\": \"Thank you for your feedback!\"
}"
const url = new URL(
"http://localhost:8000/api/ratings/ab/respond"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"response_text": "Thank you for your feedback!"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"rating_value": 5,
"response_text": "Thank you for your feedback!"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get my ratings
requires authentication
Get ratings received and given by authenticated user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/my-ratings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/my-ratings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"given": [
{
"id": "...",
"rating_value": 5,
"reviewee": {
"name": "Seller Name"
}
}
],
"received": [
{
"id": "...",
"rating_value": 4,
"reviewer": {
"name": "Buyer Name"
}
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Trust & Safety - Disputes
Get my disputes
requires authentication
List all disputes filed by or involving the authenticated user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/my-disputes" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/my-disputes"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"order_id": "...",
"status": "pending",
"created_at": "2025-10-29T10:00:00Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get dispute details
requires authentication
View detailed dispute information including order, evidence, resolution status.
Example request:
curl --request GET \
--get "http://localhost:8000/api/disputes/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/disputes/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{"data": {"id": "01JBQW8K7V2XZGHJK5MNPQRSTU", "order": {...}, "status": "under_review", "filed_by": {...}, "rejection_reason": "Item damaged", "evidence_photos": ["..."], "reviewed_by": {...}, "admin_notes": "Investigating claim"}}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Make a dispute offer (Seller)
requires authentication
Seller can make exactly one offer for a dispute: refund, partial_refund, or return_then_refund.
Example request:
curl --request POST \
"http://localhost:8000/api/disputes/ab/offer" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"refund\",
\"amount\": 15000
}"
const url = new URL(
"http://localhost:8000/api/disputes/ab/offer"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "refund",
"amount": 15000
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "...",
"offer": {
"type": "refund",
"status": "pending"
}
}
}
Example response (409, already offered):
{
"message": "An offer already exists for this dispute."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Accept a dispute offer (Buyer)
requires authentication
Accepts the seller's single offer and resolves the dispute.
Example request:
curl --request POST \
"http://localhost:8000/api/disputes/ab/offer/accept" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/disputes/ab/offer/accept"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "...",
"status": "resolved",
"offer": {
"status": "accepted"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Request more information (Seller)
requires authentication
Creates a participant-visible update and flags the dispute as "info requested".
Example request:
curl --request POST \
"http://localhost:8000/api/disputes/ab/request-info" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"message\": \"Please upload clearer photos of the damage and the packaging label.\"
}"
const url = new URL(
"http://localhost:8000/api/disputes/ab/request-info"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"message": "Please upload clearer photos of the damage and the packaging label."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, success):
{
"data": {
"id": "...",
"actor_role": "seller",
"message": "Please upload..."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark return shipped (Buyer)
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/disputes/ab/return/shipped" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"carrier\": \"Royal Mail\",
\"tracking_number\": \"RM123456789GB\"
}"
const url = new URL(
"http://localhost:8000/api/disputes/ab/return/shipped"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"carrier": "Royal Mail",
"tracking_number": "RM123456789GB"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "...",
"return": {
"status": "shipped"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark return received (Seller)
requires authentication
When a return is marked received, the system executes a full refund and resolves the dispute.
Example request:
curl --request POST \
"http://localhost:8000/api/disputes/ab/return/received" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/disputes/ab/return/received"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "...",
"status": "resolved",
"return": {
"status": "received"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Close a dispute (Buyer/Seller)
requires authentication
Close is permitted only after the dispute is resolved. Seller close requires buyer acknowledgment (buyer must close first).
Example request:
curl --request POST \
"http://localhost:8000/api/disputes/ab/close" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/disputes/ab/close"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "...",
"status": "resolved"
}
}
Example response (422, not resolved):
{
"message": "Dispute can only be closed after resolution."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get dispute for an order
requires authentication
Retrieve the dispute associated with an order (buyer or seller).
Example request:
curl --request GET \
--get "http://localhost:8000/api/orders/ab/dispute" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/ab/dispute"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"order_id": "...",
"status": "filed",
"dispute_type": "not_as_described",
"requested_outcome": "refund"
}
}
Example response (403, unauthorized):
{
"message": "This action is unauthorized."
}
Example response (404, not found):
{
"message": "Dispute not found for this order"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Open a dispute for an order (Buyer)
requires authentication
Create a dispute against an order outside the delivery rejection window.
Eligibility window: 30 days from delivered_at (fallback: completed_at, shipped_at).
Note: If the order is delivered and the buyer is still within the delivery acceptance window,
you must use POST /orders/{order}/reject instead.
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/dispute" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"dispute_type\": \"not_as_described\",
\"description\": \"Item description did not match what arrived\",
\"evidence_urls\": [
\"https:\\/\\/...\",
\"https:\\/\\/...\"
],
\"requested_outcome\": \"refund\"
}"
const url = new URL(
"http://localhost:8000/api/orders/ab/dispute"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"dispute_type": "not_as_described",
"description": "Item description did not match what arrived",
"evidence_urls": [
"https:\/\/...",
"https:\/\/..."
],
"requested_outcome": "refund"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"order_id": "...",
"status": "filed",
"dispute_type": "not_as_described",
"requested_outcome": "refund"
}
}
Example response (409, already disputed):
{
"message": "A dispute already exists for this order."
}
Example response (422, in rejection window):
{
"message": "Delivery acceptance window is still open. Use delivery rejection to report an issue."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Media
Request upload URL
requires authentication
Get pre-signed S3 URL for direct upload. Returns URL, media ID, and expiration. Client uploads file to URL, then confirms upload.
Example request:
curl --request POST \
"http://localhost:8000/api/media/upload-url" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"file_name\": \"vintage-camera.jpg\",
\"file_type\": \"photo\",
\"mime_type\": \"image\\/jpeg\",
\"file_size\": 2048000
}"
const url = new URL(
"http://localhost:8000/api/media/upload-url"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"file_name": "vintage-camera.jpg",
"file_type": "photo",
"mime_type": "image\/jpeg",
"file_size": 2048000
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"upload_url": "https://s3.amazonaws.com/...",
"media_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"expires_at": "2025-10-29T11:00:00Z"
}
Example response (422, file too large):
{
"message": "File size exceeds maximum allowed for photo"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Authenticated upload path used as a browser fallback when cross-origin pre-signed uploads are blocked by bucket CORS.
requires authentication
Accepts either multipart/form-data (file) or a raw request body.
Example request:
curl --request POST \
"http://localhost:8000/api/media/ab/upload-direct" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/media/ab/upload-direct"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Confirm upload and trigger processing.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/media/ab/confirm" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/media/ab/confirm"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Upload confirmed, processing started",
"media": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"processing_status": "processing"
}
}
Example response (403, unauthorized):
{
"message": "Unauthorized to confirm this upload"
}
Example response (404, file not found):
{
"message": "File upload not found or expired"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Attach media to listing.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/media/listings/ab/media" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"media_ids\": [
\"ab\"
]
}"
const url = new URL(
"http://localhost:8000/api/media/listings/ab/media"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"media_ids": [
"ab"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Media attached successfully",
"media": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"listing_id": "01JBQW8K7V2XZGHJK5MNPQRSTV"
}
]
}
Example response (403, unauthorized):
{
"message": "This action is unauthorized."
}
Example response (422, validation error):
{
"message": "Some media files are invalid or already attached"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GDPR Compliance
Request data export
requires authentication
Request complete user data export for GDPR compliance. Data will be packaged and made available for download. Export link expires after 30 days.
Example request:
curl --request POST \
"http://localhost:8000/api/gdpr/export" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"format\": \"json\"
}"
const url = new URL(
"http://localhost:8000/api/gdpr/export"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"format": "json"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, success):
{
"message": "Data export request submitted successfully.",
"export_request_id": "01JBQW8K7V2XZGHJK5MNPQRSTU"
}
Example response (400, already pending):
{
"message": "You already have a pending export request."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check export status
requires authentication
Check status of data export request and get download URL when ready.
Example request:
curl --request GET \
--get "http://localhost:8000/api/gdpr/export/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/gdpr/export/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, pending):
{
"status": "pending",
"format": "json",
"file_url": null,
"expires_at": null,
"completed_at": null,
"error_message": null
}
Example response (200, completed):
{
"status": "completed",
"format": "json",
"file_url": "https://s3.amazonaws.com/exports/...",
"expires_at": "2025-11-28T10:00:00Z",
"completed_at": "2025-10-29T10:30:00Z",
"error_message": null
}
Example response (200, failed):
{
"status": "failed",
"format": "json",
"file_url": null,
"expires_at": null,
"completed_at": null,
"error_message": "Export generation failed"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download data export
requires authentication
Download data export file. Returns redirect to signed S3 URL.
Example request:
curl --request GET \
--get "http://localhost:8000/api/gdpr/export/ab/download" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/gdpr/export/ab/download"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (302, success):
Redirects to download URL
Example response (400, not ready):
{
"message": "Export is not ready yet."
}
Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 37ee35d1-37a5-4e34-bf94-1483195dbae7
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Example response (410, expired):
{
"message": "Export has expired."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete account
requires authentication
Request account deletion with 30-day grace period. Account and all personal data will be permanently deleted after grace period.
Example request:
curl --request DELETE \
"http://localhost:8000/api/gdpr/account" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"secret123\"
}"
const url = new URL(
"http://localhost:8000/api/gdpr/account"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"password": "secret123"
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Account deletion scheduled for 2025-11-28. You can cancel this request within 30 days.",
"deletion_scheduled_at": "2025-11-28T10:00:00Z"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cancel account deletion
requires authentication
Cancel pending account deletion request. Only available within 30-day grace period.
Example request:
curl --request POST \
"http://localhost:8000/api/gdpr/account/restore" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/gdpr/account/restore"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Account deletion cancelled successfully."
}
Example response (400, not scheduled):
{
"message": "No account deletion is scheduled."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Subscriptions & Billing
Manage tenant subscriptions, billing, and invoices. All endpoints require authentication and automatically use the authenticated user's tenant context.
SaaS subscriptions support monthly and annual billing cycles with usage-based charges. Billing is handled through Stripe with automatic invoice generation and payment collection.
Thin controller that delegates business logic to:
- SubscriptionManagementService: Subscription lifecycle operations
- TenantBillingService: Invoice and billing operations
List available subscription plans
requires authentication
Get all active subscription plans with pricing for monthly and annual billing cycles. This is a public endpoint that doesn't require authentication.
Example request:
curl --request GET \
--get "http://localhost:8000/api/subscriptions/plans" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/subscriptions/plans"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": "01HQZX...",
"name": "Professional",
"slug": "professional",
"description": "For growing businesses",
"price_monthly": 9900,
"price_annual": 99000,
"currency": "GBP",
"trial_days": 14,
"features": {
"max_listings": 100,
"max_auctions": 50,
"storage_gb": 50
},
"is_featured": false
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get current subscription
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/subscription" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/subscription"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 8a3913e7-8638-4e71-a634-e1c1a224a53a
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create subscription
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/subscription" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"subscription_plan_id\": \"ab\",
\"billing_cycle\": \"monthly\",
\"stripe_payment_method_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/subscription"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"subscription_plan_id": "ab",
"billing_cycle": "monthly",
"stripe_payment_method_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update subscription
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/subscription" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"subscription_plan_id\": \"ab\",
\"billing_cycle\": \"monthly\",
\"prorated\": false
}"
const url = new URL(
"http://localhost:8000/api/subscription"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"subscription_plan_id": "ab",
"billing_cycle": "monthly",
"prorated": false
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cancel subscription
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/subscription" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"immediately\": true,
\"reason\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/subscription"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"immediately": true,
"reason": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Pause subscription
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/subscription/pause" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/subscription/pause"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Resume subscription
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/subscription/resume" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/subscription/resume"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List invoices
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/subscription/invoices" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/subscription/invoices"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: b1996baa-6bbe-4678-bc06-3910f143ee01
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get invoice
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/subscription/invoices/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/subscription/invoices/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 4ee4f1b6-bf2a-4ee6-ae24-2140f7c4303a
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download invoice PDF
requires authentication
Download the invoice as HTML (can be printed as PDF or converted to PDF). If Stripe invoice PDF is available, redirects to that. Otherwise generates a local invoice HTML.
Example request:
curl --request GET \
--get "http://localhost:8000/api/subscription/invoices/ab/download" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/subscription/invoices/ab/download"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
HTML content or redirect to Stripe PDF
Example response (302, Stripe redirect):
Redirects to Stripe invoice PDF URL
Example response (404, not found):
{
"message": "Invoice not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List payment methods for subscription.
requires authentication
Retrieve all payment methods for the tenant's Stripe customer associated with their subscription.
Example request:
curl --request GET \
--get "http://localhost:8000/api/subscription/payment-methods" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/subscription/payment-methods"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"payment_methods": [
{
"id": "pm_1234...",
"brand": "visa",
"last4": "4242"
}
]
}
Example response (404, no subscription):
{
"message": "No subscription found"
}
Example response (422, error):
{
"message": "Failed to retrieve payment methods",
"error": "..."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update default payment method for subscription
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/subscription/payment-method" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"payment_method_id\": \"pm_ipzd\"
}"
const url = new URL(
"http://localhost:8000/api/subscription/payment-method"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"payment_method_id": "pm_ipzd"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reports
Operational CSV exports for invoices, invoice payments, refunds, and payouts.
Export outstanding invoices as CSV
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/reports/invoices/outstanding.csv" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/reports/invoices/outstanding.csv"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
CSV file download (Content-Type: text/csv)
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Export collected invoice payments as CSV
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/reports/invoice-payments/collected.csv?from=2025-01-01&to=2025-01-31" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"from\": \"2026-05-04T20:47:20\",
\"to\": \"2026-05-04T20:47:20\"
}"
const url = new URL(
"http://localhost:8000/api/reports/invoice-payments/collected.csv"
);
const params = {
"from": "2025-01-01",
"to": "2025-01-31",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"from": "2026-05-04T20:47:20",
"to": "2026-05-04T20:47:20"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
CSV file download (Content-Type: text/csv)
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Export refunds in period as CSV
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/reports/refunds.csv?from=2025-01-01&to=2025-01-31" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"from\": \"2026-05-04T20:47:20\",
\"to\": \"2026-05-04T20:47:20\"
}"
const url = new URL(
"http://localhost:8000/api/reports/refunds.csv"
);
const params = {
"from": "2025-01-01",
"to": "2025-01-31",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"from": "2026-05-04T20:47:20",
"to": "2026-05-04T20:47:20"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
CSV file download (Content-Type: text/csv)
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Export payouts in period as CSV
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/reports/payouts.csv?from=2025-01-01&to=2025-01-31" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"from\": \"2026-05-04T20:47:20\",
\"to\": \"2026-05-04T20:47:20\"
}"
const url = new URL(
"http://localhost:8000/api/reports/payouts.csv"
);
const params = {
"from": "2025-01-01",
"to": "2025-01-31",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"from": "2026-05-04T20:47:20",
"to": "2026-05-04T20:47:20"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
CSV file download (Content-Type: text/csv)
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/health
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/health" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/health"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 9ccfb38f-8e93-4903-b0f3-9c1c5b8f8d51
{
"status": "ok",
"service": "core-app",
"timestamp": "2026-05-04T20:47:20+00:00",
"database": "unavailable"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/server-time
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/server-time" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/server-time"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 2ba53041-88ff-483c-9c2d-77ef9f18a459
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Login user via session (Sanctum SPA cookie auth) and return the user.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/auth/login" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"loma53@example.com\",
\"password\": \"vNLMj_\"
}"
const url = new URL(
"http://localhost:8000/api/auth/login"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "loma53@example.com",
"password": "vNLMj_"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"user": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "John Doe",
"email": "john@example.com",
"is_kyc_verified": false,
"two_factor_enabled": false
}
}
Example response (200, 2FA required):
{
"two_factor_required": true,
"two_factor_token": "encrypted_token_string"
}
Example response (400, tenant context required):
{
"message": "Tenant context is required"
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"email": [
"The provided credentials are incorrect."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Register new user, log them in via session (Sanctum SPA cookie auth), and return the user.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/auth/register" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auth/register"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (201, success):
{
"user": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "John Doe",
"email": "john@example.com",
"is_kyc_verified": false,
"two_factor_enabled": false
},
"email_verification_sent": true
}
Example response (400, tenant context required):
{
"message": "Tenant context is required"
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"email": [
"The email has already been taken."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Request password reset link (generic response to prevent account enumeration).
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/auth/forgot-password" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"loma53@example.com\"
}"
const url = new URL(
"http://localhost:8000/api/auth/forgot-password"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "loma53@example.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, generic):
{
"message": "If an account with that email exists, we have emailed a password reset link."
}
Example response (400, tenant context required):
{
"message": "Tenant context is required"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify 2FA code and complete login.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/auth/2fa/verify" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"two_factor_token\": \"ab\",
\"code\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/auth/2fa/verify"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"two_factor_token": "ab",
"code": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"user": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "John Doe",
"email": "john@example.com",
"is_kyc_verified": false,
"two_factor_enabled": true
}
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"code": [
"The provided two-factor authentication code was invalid."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reset password using token from reset email link (SPA/API flow).
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/auth/reset-password" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"ab\",
\"email\": \"lina.hahn@example.org\",
\"password\": \"vNLMj_\"
}"
const url = new URL(
"http://localhost:8000/api/auth/reset-password"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"token": "ab",
"email": "lina.hahn@example.org",
"password": "vNLMj_"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"message": "Your password has been reset."
}
Example response (400, tenant context required):
{
"message": "Tenant context is required"
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"email": [
"This password reset token is invalid."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Return the currently-authenticated user (session/cookie).
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/auth/me" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auth/me"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"user": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "John Doe",
"email": "john@example.com",
"is_kyc_verified": false,
"two_factor_enabled": false
}
}
Example response (401, unauthenticated):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Issue (or rotate) a SPA bearer token for the current authenticated user.
requires authentication
This is useful when the browser session is authenticated (cookie-based) but the SPA does not currently have a valid bearer token persisted (used for stateless calls like bid-ingress and for authenticated viewer-state overlays).
Example request:
curl --request POST \
"http://localhost:8000/api/auth/token" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auth/token"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"token": "plain_text_token"
}
Example response (401, unauthenticated):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Logout user (session/cookie).
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/auth/logout" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auth/logout"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Logged out successfully"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Login user via session (Sanctum SPA cookie auth) and return the user.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/login" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"loma53@example.com\",
\"password\": \"vNLMj_\"
}"
const url = new URL(
"http://localhost:8000/api/login"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "loma53@example.com",
"password": "vNLMj_"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"user": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "John Doe",
"email": "john@example.com",
"is_kyc_verified": false,
"two_factor_enabled": false
}
}
Example response (200, 2FA required):
{
"two_factor_required": true,
"two_factor_token": "encrypted_token_string"
}
Example response (400, tenant context required):
{
"message": "Tenant context is required"
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"email": [
"The provided credentials are incorrect."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Register new user, log them in via session (Sanctum SPA cookie auth), and return the user.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/register" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/register"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (201, success):
{
"user": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "John Doe",
"email": "john@example.com",
"is_kyc_verified": false,
"two_factor_enabled": false
},
"email_verification_sent": true
}
Example response (400, tenant context required):
{
"message": "Tenant context is required"
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"email": [
"The email has already been taken."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Authenticate the request for the given channel.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/broadcasting/auth" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/broadcasting/auth"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /api/notifications/unread-count
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/notifications/unread-count" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/notifications/unread-count"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"unread_count": 3
}
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /api/notifications
requires authentication
Returns the authenticated user's notifications (Laravel database notifications).
Example request:
curl --request GET \
--get "http://localhost:8000/api/notifications?unread=&per_page=20" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/notifications"
);
const params = {
"unread": "0",
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"type": "App\\Notifications\\OrderShipped",
"data": {
"order_id": "..."
},
"read_at": null,
"created_at": "2025-10-29T10:00:00.000000Z"
}
],
"links": {},
"meta": {
"current_page": 1,
"per_page": 20,
"total": 5
}
}
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST /api/notifications/{id}/read
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/notifications/ab/read" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/notifications/ab/read"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST /api/notifications/read-all
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/notifications/read-all" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/notifications/read-all"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/marketing-email-preferences
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/marketing-email-preferences" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/marketing-email-preferences"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 55d42544-c715-42cc-955a-709e17145e66
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/marketing-email-preferences
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/marketing-email-preferences" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"marketing_emails_enabled\": false
}"
const url = new URL(
"http://localhost:8000/api/marketing-email-preferences"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"marketing_emails_enabled": false
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/marketing-emails/unsubscribe/{recipient}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/marketing-emails/unsubscribe/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/marketing-emails/unsubscribe/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 9b462ad0-5361-44a6-b839-d8f37975038a
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/marketing-emails/click/{recipient}/{linkKey}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/marketing-emails/click/ab/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/marketing-emails/click/ab/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: f9f30529-b523-4946-9b7f-f2121ea7964d
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/tenants/resolve-host
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenants/resolve-host" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"host\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/tenants/resolve-host"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"host": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: afde93de-b173-4f75-91a8-b7da278aff27
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get tenant configuration by slug (public endpoint for frontend branding).
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenants/example-tenant/config" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenants/example-tenant/config"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"tenant_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"branding": {},
"features": {},
"locale": "en"
}
Example response (404, not found):
{
"message": "Tenant not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/tenants/{slug}/white-label
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenants/ab/white-label" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenants/ab/white-label"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 3aab435c-5f31-4196-a325-0d2f0c068b90
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get tenant locale configuration.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/configuration/locale" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/configuration/locale"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"locale": {
"default": "en",
"supported": [
"en",
"fr"
],
"timezone": "Europe/London",
"currency": "GBP"
}
}
Example response (404, tenant not found):
{
"message": "Tenant not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get all tenant configuration.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/configuration" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/configuration"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"branding": {},
"features": {},
"locale": {},
"providers": {}
}
}
Example response (404, tenant not found):
{
"message": "Tenant not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get tenant branding configuration.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/configuration/branding" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/configuration/branding"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"logo_url": "https://cdn.babylon.com/...",
"primary_color": "#1E40AF",
"tenant_name": "Example Tenant"
}
Example response (404, tenant not found):
{
"message": "Tenant not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update tenant branding configuration.
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/tenant/configuration/branding" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"logo_url\": \"http:\\/\\/www.hermiston.com\\/\",
\"favicon_url\": \"http:\\/\\/www.hahn.info\\/aut-dolores-sapiente-delectus-nemo\",
\"primary_color\": \"#5af8CD\",
\"secondary_color\": \"#5af8CD\",
\"accent_color\": \"#5af8CD\",
\"custom_css_url\": \"http:\\/\\/www.dare.com\\/\",
\"font_family\": \"kthqpvviwahfxqny\",
\"storefront_title\": \"ifdnnzclnhfpvmsn\",
\"storefront_description\": \"pkynlnbgjdpzixzk\"
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/branding"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"logo_url": "http:\/\/www.hermiston.com\/",
"favicon_url": "http:\/\/www.hahn.info\/aut-dolores-sapiente-delectus-nemo",
"primary_color": "#5af8CD",
"secondary_color": "#5af8CD",
"accent_color": "#5af8CD",
"custom_css_url": "http:\/\/www.dare.com\/",
"font_family": "kthqpvviwahfxqny",
"storefront_title": "ifdnnzclnhfpvmsn",
"storefront_description": "pkynlnbgjdpzixzk"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"logo_url": "https://cdn.babylon.com/tenants/01JBQW8K7V2XZGHJK5MNPQRSTU/branding/logo.png",
"favicon_url": null,
"primary_color": "#1E40AF",
"secondary_color": "#3B82F6",
"accent_color": "#60A5FA",
"custom_css_url": null,
"font_family": "Inter, sans-serif",
"tenant_name": "Example Tenant",
"tenant_slug": "example-tenant"
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"primary_color": [
"The primary color must be a valid hex color."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Upload tenant logo.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/tenant/configuration/branding/logo" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"logo\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/branding/logo"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"logo": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"logo_url": "https://cdn.babylon.com/tenants/01JBQW8K7V2XZGHJK5MNPQRSTU/branding/logo.png"
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"logo": [
"The logo field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get tenant business profile configuration.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/configuration/business-profile" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/configuration/business-profile"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: bd5dba5e-fa19-4be1-9529-735a961a5b44
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update tenant business profile configuration.
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/tenant/configuration/business-profile" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"legal_business_name\": \"ipzdszigdqrrkthq\",
\"support_email\": \"molly.sanford@example.org\",
\"support_phone\": \"ahfxqnyifdnnzcln\",
\"company_registration_number\": \"hfpvmsnpkynlnbgj\",
\"tax_registration_number\": \"dpzixzkhgmlxfmav\",
\"registered_address\": {
\"address_line_1\": \"knkckbhgmqyeipyw\",
\"address_line_2\": \"yxscplvrjzaqavei\",
\"city\": \"hafwfciilryubyps\",
\"state\": \"enryjduorkexffns\",
\"postal_code\": \"uubyteydjenadobd\",
\"country\": \"fa\"
}
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/business-profile"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"legal_business_name": "ipzdszigdqrrkthq",
"support_email": "molly.sanford@example.org",
"support_phone": "ahfxqnyifdnnzcln",
"company_registration_number": "hfpvmsnpkynlnbgj",
"tax_registration_number": "dpzixzkhgmlxfmav",
"registered_address": {
"address_line_1": "knkckbhgmqyeipyw",
"address_line_2": "yxscplvrjzaqavei",
"city": "hafwfciilryubyps",
"state": "enryjduorkexffns",
"postal_code": "uubyteydjenadobd",
"country": "fa"
}
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get tenant feature flags.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/configuration/features" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/configuration/features"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"features": {
"auctions": true,
"marketplace": true,
"messaging": true,
"kyc": false
}
}
Example response (404, tenant not found):
{
"message": "Tenant not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update tenant feature flags.
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/tenant/configuration/features" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"auctions\": true,
\"marketplace\": true,
\"messaging\": false,
\"public_browse\": false,
\"kyc\": true,
\"phygital\": true,
\"live_auctions\": true,
\"custody\": false,
\"api_access\": false,
\"webhooks\": false,
\"two_factor_auth\": true,
\"require_listing_approval\": false,
\"listing_copy_ai\": true,
\"supply_os\": true,
\"valuation\": true,
\"demand_os\": false,
\"shared_network\": true,
\"consignor_portal\": false,
\"external_crm_sync\": false,
\"distribution_automation\": true
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/features"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"auctions": true,
"marketplace": true,
"messaging": false,
"public_browse": false,
"kyc": true,
"phygital": true,
"live_auctions": true,
"custody": false,
"api_access": false,
"webhooks": false,
"two_factor_auth": true,
"require_listing_approval": false,
"listing_copy_ai": true,
"supply_os": true,
"valuation": true,
"demand_os": false,
"shared_network": true,
"consignor_portal": false,
"external_crm_sync": false,
"distribution_automation": true
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"features": {
"auctions": true,
"marketplace": true,
"messaging": true,
"kyc": false,
"phygital": false,
"live_auctions": false,
"custody": false,
"api_access": true,
"webhooks": false,
"two_factor_auth": false,
"require_listing_approval": false
}
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"auctions": [
"The auctions field must be true or false."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get tenant provider preferences.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/configuration/providers" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/configuration/providers"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"providers": {
"payment": "stripe",
"shipping": "royal_mail",
"kyc": "stripe"
}
}
Example response (404, tenant not found):
{
"message": "Tenant not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update tenant provider preferences.
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/tenant/configuration/providers" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"payment\": \"stripe\",
\"shipping\": \"dpd\",
\"kyc\": \"jumio\",
\"sms\": \"vonage\",
\"search\": \"opensearch\",
\"email\": \"resend\"
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/providers"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"payment": "stripe",
"shipping": "dpd",
"kyc": "jumio",
"sms": "vonage",
"search": "opensearch",
"email": "resend"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"providers": {
"payment": "stripe",
"shipping": "royal_mail",
"kyc": "stripe",
"sms": "vonage",
"search": "database",
"email": "smtp"
}
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"payment": [
"The selected payment provider is invalid."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update tenant locale configuration.
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/tenant/configuration/locale" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"default_locale\": \"ip\",
\"supported_locales\": [
\"zd\"
],
\"timezone\": \"America\\/Chicago\",
\"currency\": \"zig\"
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/locale"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"default_locale": "ip",
"supported_locales": [
"zd"
],
"timezone": "America\/Chicago",
"currency": "zig"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"locale": {
"default": "en",
"supported": [
"en",
"fr",
"de"
],
"timezone": "Europe/London",
"currency": "GBP"
}
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"default_locale": [
"The default locale must be one of the supported locales."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get tenant auction settings configuration.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/configuration/auction-settings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/configuration/auction-settings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"default_bid_increment_rule_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"default_auction_type": "english",
"reserve_policy": {
"min_reserve": 1000
},
"proxy_bidding": {
"enabled": true
},
"buy_now_policy": {
"enabled": true
},
"anti_sniping": {
"enabled": true
}
}
Example response (404, tenant not found):
{
"message": "Tenant not found"
}
Example response (500, server error):
{
"message": "Failed to load auction settings"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update tenant auction settings configuration.
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/tenant/configuration/auction-settings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"default_bid_increment_rule_id\": \"ab\",
\"default_auction_type\": \"english\",
\"bidder_verification\": {
\"require_kyc\": true,
\"requirement\": \"email_and_payment_method\"
},
\"reserve_policy\": {
\"min_reserve\": 15,
\"auto_reserve_by_category\": [
38
]
},
\"proxy_bidding\": {
\"enabled\": true,
\"max_proxy_amount\": 4
},
\"buy_now_policy\": {
\"enabled\": false,
\"markup_type\": \"fixed\",
\"markup_value\": 2306379
},
\"anti_sniping\": {
\"enabled\": true,
\"threshold\": 10,
\"extension\": 13
}
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/auction-settings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"default_bid_increment_rule_id": "ab",
"default_auction_type": "english",
"bidder_verification": {
"require_kyc": true,
"requirement": "email_and_payment_method"
},
"reserve_policy": {
"min_reserve": 15,
"auto_reserve_by_category": [
38
]
},
"proxy_bidding": {
"enabled": true,
"max_proxy_amount": 4
},
"buy_now_policy": {
"enabled": false,
"markup_type": "fixed",
"markup_value": 2306379
},
"anti_sniping": {
"enabled": true,
"threshold": 10,
"extension": 13
}
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"default_bid_increment_rule_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"default_auction_type": "english",
"reserve_policy": {
"min_reserve": 1000,
"auto_reserve_by_category": {
"art": 50000
}
},
"proxy_bidding": {
"enabled": true,
"max_proxy_amount": 1000000
},
"buy_now_policy": {
"enabled": true,
"markup_type": "percentage",
"markup_value": 20
},
"anti_sniping": {
"enabled": true,
"threshold": 120,
"extension": 120
}
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"default_auction_type": [
"The auction type must be one of: english, dutch, sealed_bid."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update tenant auction settings configuration.
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/tenant/configuration/auction-settings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"default_bid_increment_rule_id\": \"ab\",
\"default_auction_type\": \"dutch\",
\"bidder_verification\": {
\"require_kyc\": true,
\"requirement\": \"full_kyc\"
},
\"reserve_policy\": {
\"min_reserve\": 15,
\"auto_reserve_by_category\": [
38
]
},
\"proxy_bidding\": {
\"enabled\": false,
\"max_proxy_amount\": 4
},
\"buy_now_policy\": {
\"enabled\": true,
\"markup_type\": \"fixed\",
\"markup_value\": 2306379
},
\"anti_sniping\": {
\"enabled\": false,
\"threshold\": 10,
\"extension\": 13
}
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/auction-settings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"default_bid_increment_rule_id": "ab",
"default_auction_type": "dutch",
"bidder_verification": {
"require_kyc": true,
"requirement": "full_kyc"
},
"reserve_policy": {
"min_reserve": 15,
"auto_reserve_by_category": [
38
]
},
"proxy_bidding": {
"enabled": false,
"max_proxy_amount": 4
},
"buy_now_policy": {
"enabled": true,
"markup_type": "fixed",
"markup_value": 2306379
},
"anti_sniping": {
"enabled": false,
"threshold": 10,
"extension": 13
}
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"default_bid_increment_rule_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"default_auction_type": "english",
"reserve_policy": {
"min_reserve": 1000,
"auto_reserve_by_category": {
"art": 50000
}
},
"proxy_bidding": {
"enabled": true,
"max_proxy_amount": 1000000
},
"buy_now_policy": {
"enabled": true,
"markup_type": "percentage",
"markup_value": 20
},
"anti_sniping": {
"enabled": true,
"threshold": 120,
"extension": 120
}
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {
"default_auction_type": [
"The auction type must be one of: english, dutch, sealed_bid."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get tenant marketplace settings configuration.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/configuration/marketplace-settings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/configuration/marketplace-settings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"listing_fee_percent": 5,
"auction_fee_percent": 10
}
}
Example response (404, tenant not found):
{
"message": "Tenant not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update tenant marketplace settings configuration.
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/tenant/configuration/marketplace-settings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"payment_grace_period_hours\": 16,
\"relist\": {
\"enabled\": true
},
\"pricing\": {
\"price_display_mode\": \"minor_units\"
},
\"operations\": {
\"sales_model_default\": \"tenant_assisted\",
\"allow_listing_model_override\": false,
\"model2\": {
\"in_custody_owner\": \"seller\"
},
\"model3\": {
\"operational_seller_user_id\": \"ab\",
\"consignor_tracking_enabled\": true,
\"payout_execution_mode\": \"manual\"
},
\"identity\": {
\"buyer_visible_seller\": \"dynamic_by_model\"
}
}
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/marketplace-settings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"payment_grace_period_hours": 16,
"relist": {
"enabled": true
},
"pricing": {
"price_display_mode": "minor_units"
},
"operations": {
"sales_model_default": "tenant_assisted",
"allow_listing_model_override": false,
"model2": {
"in_custody_owner": "seller"
},
"model3": {
"operational_seller_user_id": "ab",
"consignor_tracking_enabled": true,
"payout_execution_mode": "manual"
},
"identity": {
"buyer_visible_seller": "dynamic_by_model"
}
}
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update tenant marketplace settings configuration.
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/tenant/configuration/marketplace-settings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"payment_grace_period_hours\": 16,
\"relist\": {
\"enabled\": true
},
\"pricing\": {
\"price_display_mode\": \"minor_units\"
},
\"operations\": {
\"sales_model_default\": \"tenant_seller_of_record\",
\"allow_listing_model_override\": true,
\"model2\": {
\"in_custody_owner\": \"tenant\"
},
\"model3\": {
\"operational_seller_user_id\": \"ab\",
\"consignor_tracking_enabled\": true,
\"payout_execution_mode\": \"manual\"
},
\"identity\": {
\"buyer_visible_seller\": \"dynamic_by_model\"
}
}
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/marketplace-settings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"payment_grace_period_hours": 16,
"relist": {
"enabled": true
},
"pricing": {
"price_display_mode": "minor_units"
},
"operations": {
"sales_model_default": "tenant_seller_of_record",
"allow_listing_model_override": true,
"model2": {
"in_custody_owner": "tenant"
},
"model3": {
"operational_seller_user_id": "ab",
"consignor_tracking_enabled": true,
"payout_execution_mode": "manual"
},
"identity": {
"buyer_visible_seller": "dynamic_by_model"
}
}
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get tenant supply settings configuration.
requires authentication
Returns routing, network consent defaults, valuation provider configuration, submission requirements, and (when set) forecast.monthly_seller_commission_target_minor so integrations can align with the supply scorecard pipeline target gap. Requires permission manage tenant settings.
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/configuration/supply-settings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/configuration/supply-settings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{"data":{"routing":{"mode":"tenant_only","require_explicit_network_consent":true},"submission":{"require_valuation":true},"forecast":{"monthly_seller_commission_target_minor":500000}}
Example response (404, tenant not found):
{
"message": "Tenant not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update tenant supply settings configuration.
requires authentication
PATCH merges partial updates into existing tenant supply settings. To clear the monthly seller commission target, include forecast with monthly_seller_commission_target_minor set to null. The target is stored in minor currency units (same basis as fee calculations) and is compared to the base-case pipeline forecast on GET /api/supply/scorecard. Requires permission manage tenant settings.
Example request:
curl --request PUT \
"http://localhost:8000/api/tenant/configuration/supply-settings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"routing\": {
\"mode\": \"tenant_only\",
\"require_explicit_network_consent\": true
},
\"network\": {
\"consent_default\": \"opt_out_required\"
},
\"valuation\": {
\"provider_mode\": \"external_only\",
\"provider_key\": \"ipzdszigdqrrkthq\",
\"auto_assignment_enabled\": true
},
\"submission\": {
\"require_valuation\": true,
\"require_intake_shipment\": false,
\"require_condition_report\": false,
\"require_media\": false
},
\"forecast\": {
\"monthly_seller_commission_target_minor\": \"500000\"
}
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/supply-settings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"routing": {
"mode": "tenant_only",
"require_explicit_network_consent": true
},
"network": {
"consent_default": "opt_out_required"
},
"valuation": {
"provider_mode": "external_only",
"provider_key": "ipzdszigdqrrkthq",
"auto_assignment_enabled": true
},
"submission": {
"require_valuation": true,
"require_intake_shipment": false,
"require_condition_report": false,
"require_media": false
},
"forecast": {
"monthly_seller_commission_target_minor": "500000"
}
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": {
"routing": {
"mode": "tenant_only"
}
}
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update tenant supply settings configuration.
requires authentication
PATCH merges partial updates into existing tenant supply settings. To clear the monthly seller commission target, include forecast with monthly_seller_commission_target_minor set to null. The target is stored in minor currency units (same basis as fee calculations) and is compared to the base-case pipeline forecast on GET /api/supply/scorecard. Requires permission manage tenant settings.
Example request:
curl --request PATCH \
"http://localhost:8000/api/tenant/configuration/supply-settings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"routing\": {
\"mode\": \"tenant_only\",
\"require_explicit_network_consent\": false
},
\"network\": {
\"consent_default\": \"opt_in\"
},
\"valuation\": {
\"provider_mode\": \"hybrid\",
\"provider_key\": \"ipzdszigdqrrkthq\",
\"auto_assignment_enabled\": true
},
\"submission\": {
\"require_valuation\": true,
\"require_intake_shipment\": true,
\"require_condition_report\": true,
\"require_media\": false
},
\"forecast\": {
\"monthly_seller_commission_target_minor\": \"500000\"
}
}"
const url = new URL(
"http://localhost:8000/api/tenant/configuration/supply-settings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"routing": {
"mode": "tenant_only",
"require_explicit_network_consent": false
},
"network": {
"consent_default": "opt_in"
},
"valuation": {
"provider_mode": "hybrid",
"provider_key": "ipzdszigdqrrkthq",
"auto_assignment_enabled": true
},
"submission": {
"require_valuation": true,
"require_intake_shipment": true,
"require_condition_report": true,
"require_media": false
},
"forecast": {
"monthly_seller_commission_target_minor": "500000"
}
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": {
"routing": {
"mode": "tenant_only"
}
}
}
Example response (422, validation error):
{
"message": "The given data was invalid.",
"errors": {}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/tenant/white-label
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/white-label" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/white-label"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 5f0447d1-719a-4fd1-b316-0c8f450f9bc7
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/tenant/white-label/draft
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/tenant/white-label/draft" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
const url = new URL(
"http://localhost:8000/api/tenant/white-label/draft"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "PUT",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/tenant/white-label/publish
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/tenant/white-label/publish" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"notes\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/tenant/white-label/publish"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"notes": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/tenant/white-label/rollback
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/tenant/white-label/rollback" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"version_id\": \"ab\",
\"notes\": \"pzdszigdqrrkthqp\"
}"
const url = new URL(
"http://localhost:8000/api/tenant/white-label/rollback"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"version_id": "ab",
"notes": "pzdszigdqrrkthqp"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/tenant/white-label/assets
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/white-label/assets" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/white-label/assets"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 0c53a024-902e-4129-82bb-cb2a389fa795
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/tenant/white-label/assets
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/tenant/white-label/assets" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "type=favicon"\
--form "key=ipzdszigdqrrkthq"\
--form "file=@/private/var/folders/40/p9d183kj4j78wtdbrp4kflth0000gn/T/phplj5o2rj8s84af0ThV1z" const url = new URL(
"http://localhost:8000/api/tenant/white-label/assets"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('type', 'favicon');
body.append('key', 'ipzdszigdqrrkthq');
body.append('file', document.querySelector('input[name="file"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get tenant domain configuration
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/domain" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/domain"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"active": {
"hostname": "example.babylon.host",
"status": "active"
},
"pending": null,
"platform": {
"selected_base": "babylon.host",
"computed_hostname": "example.babylon.host"
},
"purposes": {
"storefront": {
"active": null,
"pending": null
}
},
"capabilities": {
"custom_storefront_domain": true
}
}
Example response (404, tenant not found):
{
"code": "unknown_host",
"message": "Tenant not resolved for host."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/tenant/domain/mode
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/tenant/domain/mode" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"mode\": \"platform\",
\"platform_base\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/tenant/domain/mode"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"mode": "platform",
"platform_base": "ab"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/tenant/domain/custom
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/tenant/domain/custom" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"hostname\": \"ipzdszigdqrrkthq\",
\"purpose\": \"storefront\"
}"
const url = new URL(
"http://localhost:8000/api/tenant/domain/custom"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"hostname": "ipzdszigdqrrkthq",
"purpose": "storefront"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/tenant/domain/custom/confirm-dns
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/tenant/domain/custom/confirm-dns" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/tenant/domain/custom/confirm-dns"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/tenant/domain/custom/test
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/tenant/domain/custom/test" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/tenant/domain/custom/test"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/tenant/domain/custom
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/tenant/domain/custom" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/tenant/domain/custom"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain_id": "ab"
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/tenant/domain/email-identities
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/domain/email-identities" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/domain/email-identities"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: ad6da81e-3a94-4994-9ee4-75e61832e898
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/tenant/domain/email-identities/custom
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/tenant/domain/email-identities/custom" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain\": \"ipzdszigdqrrkthq\",
\"is_default\": true
}"
const url = new URL(
"http://localhost:8000/api/tenant/domain/email-identities/custom"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain": "ipzdszigdqrrkthq",
"is_default": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/tenant/domain/email-identities/{identityId}/refresh
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/tenant/domain/email-identities/ab/refresh" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/tenant/domain/email-identities/ab/refresh"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List domain events for the tenant
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/tenant/domain/events?domain_id=01JBQW8K7V2XZGHJK5MNPQRSTU&cursor=01JBQW8K7V2XZGHJK5MNPQRSTU&limit=50" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain_id\": \"ab\",
\"cursor\": \"ab\",
\"limit\": 7
}"
const url = new URL(
"http://localhost:8000/api/tenant/domain/events"
);
const params = {
"domain_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"cursor": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"limit": "50",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain_id": "ab",
"cursor": "ab",
"limit": 7
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"items": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"at": "2025-10-29T10:00:00.000000Z",
"type": "status_change",
"from_status": "pending",
"to_status": "active"
}
],
"next_cursor": "01JBQW8K7V2XZGHJK5MNPQRSTU"
}
Example response (403, forbidden):
{
"code": "forbidden",
"message": "Forbidden."
}
Example response (404, tenant not found):
{
"code": "unknown_host",
"message": "Tenant not resolved for host."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/tenants/{tenant_id}/frontend-origins
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/tenants/ab/frontend-origins" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"origin\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/tenants/ab/frontend-origins"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"origin": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH /api/user/public-identity
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/user/public-identity" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"public_handle\": \"ab\",
\"seller_brand_name\": \"pzdszigdqrrkthqp\",
\"public_display_name\": \"vviwahfxqnyifdnn\"
}"
const url = new URL(
"http://localhost:8000/api/user/public-identity"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"public_handle": "ab",
"seller_brand_name": "pzdszigdqrrkthqp",
"public_display_name": "vviwahfxqnyifdnn"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /api/public-handles/availability?handle=.
requires authentication
..
Check if a public handle is available for the current tenant.
Example request:
curl --request GET \
--get "http://localhost:8000/api/public-handles/availability?handle=john_doe" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/public-handles/availability"
);
const params = {
"handle": "john_doe",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"available": true,
"normalized": "john_doe"
}
Example response (400, tenant required):
{
"available": false,
"normalized": null,
"reason": "tenant_required"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/listings/{listing_id}/quote
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/listings/ab/quote" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 61,
\"quantity\": 52,
\"delivery_method\": \"pickup\"
}"
const url = new URL(
"http://localhost:8000/api/listings/ab/quote"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 61,
"quantity": 52,
"delivery_method": "pickup"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/offers
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/offers" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"pending\",
\"listing_id\": \"ab\",
\"per_page\": 7
}"
const url = new URL(
"http://localhost:8000/api/offers"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"status": "pending",
"listing_id": "ab",
"per_page": 7
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: ff20d29a-c0c6-4833-9b3d-0a83a016f97c
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Download order invoice as PDF
requires authentication
Returns a PDF (or seller statement for seller view). Buyer sees buyer-facing invoice; seller sees seller statement.
Example request:
curl --request GET \
--get "http://localhost:8000/api/invoices/ab/download" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/invoices/ab/download"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
PDF file download (Content-Type: application/pdf)
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Example response (403, forbidden):
{
"message": "This action is unauthorized."
}
Example response (404, not found):
{
"message": "Not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Seller overview rollups.
requires authentication
Returns:
- counts: paid_unshipped, delivered_pending_acceptance, disputed, completed
- money: net_proceeds_pending, net_proceeds_paid_out, scheduled_payout_amount (grouped by currency)
Example request:
curl --request GET \
--get "http://localhost:8000/api/seller/overview" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/seller/overview"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"counts": {
"paid_unshipped": 4,
"delivered_pending_acceptance": 2,
"disputed": 0,
"completed": 45
},
"money": {
"net_proceeds_pending": [],
"net_proceeds_paid_out": [],
"scheduled_payout_amount": []
}
}
Example response (400, tenant required):
{
"message": "Tenant context required"
}
Example response (401, unauthenticated):
{
"message": "Unauthorized"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List seller-scoped fixed-price listing offers.
requires authentication
Defaults to pending offers only.
Example request:
curl --request GET \
--get "http://localhost:8000/api/seller/offers?status=pending&listing_id=01JBQW8K7V2XZGHJK5MNPQRSTU&per_page=20" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"rejected\",
\"listing_id\": \"ab\",
\"per_page\": 7
}"
const url = new URL(
"http://localhost:8000/api/seller/offers"
);
const params = {
"status": "pending",
"listing_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"status": "rejected",
"listing_id": "ab",
"per_page": 7
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: c7a0d08f-5e8e-4f7a-afe1-7ef70417ef54
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List seller payouts.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/seller/payouts?status=completed&page=1" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/seller/payouts"
);
const params = {
"status": "completed",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "completed",
"amount": 15000,
"currency": "GBP"
}
],
"links": {},
"meta": {}
}
Example response (401, unauthenticated):
{
"message": "Unauthorized"
}
Example response (422, invalid status):
{
"message": "Invalid status filter.",
"errors": {
"status": [
"Invalid status."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Seller consignment ledger.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/seller/ledger?from=2025-01-01&to=2025-01-31&page=1" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/seller/ledger"
);
const params = {
"from": "2025-01-01",
"to": "2025-01-31",
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"type": "sale",
"amount": 15000,
"currency": "GBP"
}
],
"links": {},
"meta": {}
}
Example response (401, unauthenticated):
{
"message": "Unauthorized"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List open issues for the seller/concierge counterparty.
requires authentication
This is the seller-facing surface for pre-dispute Issue lifecycle.
Example request:
curl --request GET \
--get "http://localhost:8000/api/seller/issues" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/seller/issues"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"order_id": "...",
"status": "issue_opened",
"reason_code": "not_as_described"
}
],
"links": {},
"meta": {}
}
Example response (400, tenant required):
{
"message": "Tenant context required"
}
Example response (401, unauthenticated):
{
"message": "Unauthorized"
}
Example response (503, migrations pending):
{
"message": "Database migrations are required (missing order_issues table). Run `php artisan migrate`."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/consignors
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/consignors" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/consignors"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 833298fc-1003-4849-988b-7ff3be212a11
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/consignors
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/consignors" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ipzdszigdqrrkthq\",
\"email\": \"molly.sanford@example.org\",
\"phone\": \"ahfxqnyifdnnzcln\"
}"
const url = new URL(
"http://localhost:8000/api/consignors"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ipzdszigdqrrkthq",
"email": "molly.sanford@example.org",
"phone": "ahfxqnyifdnnzcln"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/consignors/{id}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/consignors/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/consignors/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 406ae78c-b9e1-476a-a955-b28f15b5a6db
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/consignors/{id}
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/consignors/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ipzdszigdqrrkthq\",
\"email\": \"molly.sanford@example.org\",
\"phone\": \"ahfxqnyifdnnzcln\"
}"
const url = new URL(
"http://localhost:8000/api/consignors/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ipzdszigdqrrkthq",
"email": "molly.sanford@example.org",
"phone": "ahfxqnyifdnnzcln"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/consignors/{id}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/consignors/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/consignors/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/activities
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/activities" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"limit\": 16,
\"subject_type\": \"reserve_recommendation\",
\"event_type\": \"pzdszigdqrrkthqp\",
\"from\": \"2026-05-04T20:47:20\",
\"to\": \"2069-05-25\"
}"
const url = new URL(
"http://localhost:8000/api/supply/activities"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"limit": 16,
"subject_type": "reserve_recommendation",
"event_type": "pzdszigdqrrkthqp",
"from": "2026-05-04T20:47:20",
"to": "2069-05-25"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 40329710-3340-4158-b4d5-0b371ebb9b35
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/activities/{supplyActivity}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/activities/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/activities/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 5849eac8-e364-4b77-8fa5-b11c93eceade
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/intake/shipments
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/intake/shipments" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"limit\": 16,
\"status\": \"received\"
}"
const url = new URL(
"http://localhost:8000/api/supply/intake/shipments"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"limit": 16,
"status": "received"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: aa74c912-d7e9-404d-90bc-3b6de600eff8
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/supply/intake/shipments
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/supply/intake/shipments" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"consignment_item_ids\": [
\"ab\"
],
\"status\": \"closed\",
\"source_type\": \"pzdszigdqrrkthqp\",
\"source_ref\": \"vviwahfxqnyifdnn\",
\"external_owner_ref\": \"zclnhfpvmsnpkynl\",
\"reference_number\": \"nbgjdpzixzkhgmlx\",
\"inbound_method\": \"fmavknkckbhgmqye\",
\"carrier_name\": \"ipywyxscplvrjzaq\",
\"tracking_number\": \"aveihafwfciilryu\",
\"package_count\": 66,
\"expected_item_count\": 76,
\"notes\": \"psenryjduorkexff\",
\"custody_location\": \"nsuubyteydjenado\",
\"network_eligible\": false,
\"network_consent_status\": \"revoked\"
}"
const url = new URL(
"http://localhost:8000/api/supply/intake/shipments"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"consignment_item_ids": [
"ab"
],
"status": "closed",
"source_type": "pzdszigdqrrkthqp",
"source_ref": "vviwahfxqnyifdnn",
"external_owner_ref": "zclnhfpvmsnpkynl",
"reference_number": "nbgjdpzixzkhgmlx",
"inbound_method": "fmavknkckbhgmqye",
"carrier_name": "ipywyxscplvrjzaq",
"tracking_number": "aveihafwfciilryu",
"package_count": 66,
"expected_item_count": 76,
"notes": "psenryjduorkexff",
"custody_location": "nsuubyteydjenado",
"network_eligible": false,
"network_consent_status": "revoked"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/intake/shipments/{intakeShipment}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/intake/shipments/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/intake/shipments/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 8773ca40-eebe-4d55-a7f5-9c8ae520e277
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/supply/intake/shipments/{intakeShipment}
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/supply/intake/shipments/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"consignment_item_ids\": [
\"ab\"
],
\"status\": \"cancelled\",
\"source_type\": \"pzdszigdqrrkthqp\",
\"source_ref\": \"vviwahfxqnyifdnn\",
\"external_owner_ref\": \"zclnhfpvmsnpkynl\",
\"reference_number\": \"nbgjdpzixzkhgmlx\",
\"inbound_method\": \"fmavknkckbhgmqye\",
\"carrier_name\": \"ipywyxscplvrjzaq\",
\"tracking_number\": \"aveihafwfciilryu\",
\"package_count\": 66,
\"expected_item_count\": 76,
\"notes\": \"psenryjduorkexff\",
\"custody_location\": \"nsuubyteydjenado\",
\"network_eligible\": false,
\"network_consent_status\": \"revoked\"
}"
const url = new URL(
"http://localhost:8000/api/supply/intake/shipments/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"consignment_item_ids": [
"ab"
],
"status": "cancelled",
"source_type": "pzdszigdqrrkthqp",
"source_ref": "vviwahfxqnyifdnn",
"external_owner_ref": "zclnhfpvmsnpkynl",
"reference_number": "nbgjdpzixzkhgmlx",
"inbound_method": "fmavknkckbhgmqye",
"carrier_name": "ipywyxscplvrjzaq",
"tracking_number": "aveihafwfciilryu",
"package_count": 66,
"expected_item_count": 76,
"notes": "psenryjduorkexff",
"custody_location": "nsuubyteydjenado",
"network_eligible": false,
"network_consent_status": "revoked"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/valuations
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/valuations" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"limit\": 16,
\"status\": \"approved\",
\"selected_only\": true
}"
const url = new URL(
"http://localhost:8000/api/supply/valuations"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"limit": 16,
"status": "approved",
"selected_only": true
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: d35767b1-3e97-4241-9a9d-b59a55dc9670
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/supply/valuations
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/supply/valuations" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"approved\",
\"source_type\": \"ipzdszigdqrrkthq\",
\"source_ref\": \"pvviwahfxqnyifdn\",
\"external_owner_ref\": \"nzclnhfpvmsnpkyn\",
\"notes\": \"lnbgjdpzixzkhgml\",
\"network_eligible\": true,
\"network_consent_status\": \"not_requested\"
}"
const url = new URL(
"http://localhost:8000/api/supply/valuations"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"status": "approved",
"source_type": "ipzdszigdqrrkthq",
"source_ref": "pvviwahfxqnyifdn",
"external_owner_ref": "nzclnhfpvmsnpkyn",
"notes": "lnbgjdpzixzkhgml",
"network_eligible": true,
"network_consent_status": "not_requested"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/valuations/{valuationCase}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/valuations/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/valuations/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 4c770fc9-b715-4bcc-990c-8acf8897b315
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/supply/valuations/{valuationCase}
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/supply/valuations/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"status\": \"recommended\",
\"source_type\": \"ipzdszigdqrrkthq\",
\"source_ref\": \"pvviwahfxqnyifdn\",
\"external_owner_ref\": \"nzclnhfpvmsnpkyn\",
\"notes\": \"lnbgjdpzixzkhgml\",
\"network_eligible\": false,
\"network_consent_status\": \"pending\"
}"
const url = new URL(
"http://localhost:8000/api/supply/valuations/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"status": "recommended",
"source_type": "ipzdszigdqrrkthq",
"source_ref": "pvviwahfxqnyifdn",
"external_owner_ref": "nzclnhfpvmsnpkyn",
"notes": "lnbgjdpzixzkhgml",
"network_eligible": false,
"network_consent_status": "pending"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/valuations/{valuationCase}/recommendations
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/valuations/ab/recommendations" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/valuations/ab/recommendations"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: d977df6e-731f-4be0-896f-fea9729ecf37
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/supply/valuations/{valuationCase}/recommendations
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/supply/valuations/ab/recommendations" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"source_type\": \"ipzdszigdqrrkthq\",
\"source_ref\": \"pvviwahfxqnyifdn\",
\"provider_name\": \"nzclnhfpvmsnpkyn\",
\"estimated_low\": 24,
\"estimated_high\": 0,
\"reserve_price\": 53,
\"confidence_score\": 22,
\"currency\": \"jdp\",
\"rationale\": \"zixzkhgmlxfmavkn\",
\"override_reason\": \"kckbhgmqyeipywyx\"
}"
const url = new URL(
"http://localhost:8000/api/supply/valuations/ab/recommendations"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"source_type": "ipzdszigdqrrkthq",
"source_ref": "pvviwahfxqnyifdn",
"provider_name": "nzclnhfpvmsnpkyn",
"estimated_low": 24,
"estimated_high": 0,
"reserve_price": 53,
"confidence_score": 22,
"currency": "jdp",
"rationale": "zixzkhgmlxfmavkn",
"override_reason": "kckbhgmqyeipywyx"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/valuations/{valuationCase}/recommendations/{reserveRecommendation}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/valuations/ab/recommendations/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/valuations/ab/recommendations/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 9f140f57-e431-48c3-b585-01d706377110
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/leads
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/leads" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"stage\": \"ipzdszigdqrrkthq\",
\"search\": \"pvviwahfxqnyifdn\",
\"unassigned\": true,
\"overdue_actions\": true,
\"due_today_actions\": true,
\"page\": 24
}"
const url = new URL(
"http://localhost:8000/api/supply/leads"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"stage": "ipzdszigdqrrkthq",
"search": "pvviwahfxqnyifdn",
"unassigned": true,
"overdue_actions": true,
"due_today_actions": true,
"page": 24
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: fc2f3978-4bc7-4bcb-b2fe-27948d707ed5
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/supply/leads
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/supply/leads" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"stage\": \"lead\",
\"source_type\": \"ipzdszigdqrrkthq\",
\"source_ref\": \"pvviwahfxqnyifdn\",
\"external_owner_ref\": \"nzclnhfpvmsnpkyn\",
\"name\": \"lnbgjdpzixzkhgml\",
\"email\": \"mstroman@example.com\",
\"phone\": \"vknkckbhgmqyeipy\",
\"notes\": \"wyxscplvrjzaqave\",
\"expected_item_count\": 73,
\"last_contacted_at\": \"2026-05-04T20:47:20\",
\"converted_at\": \"2026-05-04T20:47:20\",
\"network_eligible\": false,
\"network_consent_status\": \"granted\"
}"
const url = new URL(
"http://localhost:8000/api/supply/leads"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"stage": "lead",
"source_type": "ipzdszigdqrrkthq",
"source_ref": "pvviwahfxqnyifdn",
"external_owner_ref": "nzclnhfpvmsnpkyn",
"name": "lnbgjdpzixzkhgml",
"email": "mstroman@example.com",
"phone": "vknkckbhgmqyeipy",
"notes": "wyxscplvrjzaqave",
"expected_item_count": 73,
"last_contacted_at": "2026-05-04T20:47:20",
"converted_at": "2026-05-04T20:47:20",
"network_eligible": false,
"network_consent_status": "granted"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/leads/{consignmentLead}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/leads/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/leads/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: ecc051ac-7bcb-4c27-baff-fec562317bff
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/supply/leads/{consignmentLead}
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/supply/leads/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"stage\": \"contacted\",
\"source_type\": \"ipzdszigdqrrkthq\",
\"source_ref\": \"pvviwahfxqnyifdn\",
\"external_owner_ref\": \"nzclnhfpvmsnpkyn\",
\"name\": \"lnbgjdpzixzkhgml\",
\"email\": \"mstroman@example.com\",
\"phone\": \"vknkckbhgmqyeipy\",
\"notes\": \"wyxscplvrjzaqave\",
\"expected_item_count\": 73,
\"last_contacted_at\": \"2026-05-04T20:47:20\",
\"converted_at\": \"2026-05-04T20:47:20\",
\"network_eligible\": false,
\"network_consent_status\": \"not_requested\"
}"
const url = new URL(
"http://localhost:8000/api/supply/leads/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"stage": "contacted",
"source_type": "ipzdszigdqrrkthq",
"source_ref": "pvviwahfxqnyifdn",
"external_owner_ref": "nzclnhfpvmsnpkyn",
"name": "lnbgjdpzixzkhgml",
"email": "mstroman@example.com",
"phone": "vknkckbhgmqyeipy",
"notes": "wyxscplvrjzaqave",
"expected_item_count": 73,
"last_contacted_at": "2026-05-04T20:47:20",
"converted_at": "2026-05-04T20:47:20",
"network_eligible": false,
"network_consent_status": "not_requested"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/supply/leads/{consignmentLead}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/supply/leads/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/leads/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/items
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/items" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"per_page\": 16,
\"stage\": \"received\",
\"search\": \"pzdszigdqrrkthqp\",
\"submission_state\": \"needs_listing_draft\"
}"
const url = new URL(
"http://localhost:8000/api/supply/items"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"per_page": 16,
"stage": "received",
"search": "pzdszigdqrrkthqp",
"submission_state": "needs_listing_draft"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: d330faf1-7025-4329-8a6b-572c5cfb32ab
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/supply/items
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/supply/items" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"stage\": \"expected\",
\"source_type\": \"ipzdszigdqrrkthq\",
\"source_ref\": \"pvviwahfxqnyifdn\",
\"external_owner_ref\": \"nzclnhfpvmsnpkyn\",
\"internal_reference\": \"lnbgjdpzixzkhgml\",
\"title\": \"xfmavknkckbhgmqy\",
\"description\": \"Eius perspiciatis tempora et inventore voluptatem hic.\",
\"condition_summary\": \"cplvrjzaqaveihaf\",
\"expected_at\": \"2026-05-04T20:47:20\",
\"received_at\": \"2026-05-04T20:47:20\",
\"inspected_at\": \"2026-05-04T20:47:20\",
\"approved_at\": \"2026-05-04T20:47:20\",
\"catalogued_at\": \"2026-05-04T20:47:20\",
\"network_eligible\": false,
\"network_consent_status\": \"revoked\"
}"
const url = new URL(
"http://localhost:8000/api/supply/items"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"stage": "expected",
"source_type": "ipzdszigdqrrkthq",
"source_ref": "pvviwahfxqnyifdn",
"external_owner_ref": "nzclnhfpvmsnpkyn",
"internal_reference": "lnbgjdpzixzkhgml",
"title": "xfmavknkckbhgmqy",
"description": "Eius perspiciatis tempora et inventore voluptatem hic.",
"condition_summary": "cplvrjzaqaveihaf",
"expected_at": "2026-05-04T20:47:20",
"received_at": "2026-05-04T20:47:20",
"inspected_at": "2026-05-04T20:47:20",
"approved_at": "2026-05-04T20:47:20",
"catalogued_at": "2026-05-04T20:47:20",
"network_eligible": false,
"network_consent_status": "revoked"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/supply/items/{consignmentItem}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/items/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/items/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: f5719fe4-ff96-4529-a1bc-11feb71721cd
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/supply/items/{consignmentItem}
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/supply/items/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"stage\": \"listed\",
\"source_type\": \"ipzdszigdqrrkthq\",
\"source_ref\": \"pvviwahfxqnyifdn\",
\"external_owner_ref\": \"nzclnhfpvmsnpkyn\",
\"internal_reference\": \"lnbgjdpzixzkhgml\",
\"title\": \"xfmavknkckbhgmqy\",
\"description\": \"Eius perspiciatis tempora et inventore voluptatem hic.\",
\"condition_summary\": \"cplvrjzaqaveihaf\",
\"expected_at\": \"2026-05-04T20:47:20\",
\"received_at\": \"2026-05-04T20:47:20\",
\"inspected_at\": \"2026-05-04T20:47:20\",
\"approved_at\": \"2026-05-04T20:47:20\",
\"catalogued_at\": \"2026-05-04T20:47:20\",
\"network_eligible\": true,
\"network_consent_status\": \"granted\"
}"
const url = new URL(
"http://localhost:8000/api/supply/items/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"stage": "listed",
"source_type": "ipzdszigdqrrkthq",
"source_ref": "pvviwahfxqnyifdn",
"external_owner_ref": "nzclnhfpvmsnpkyn",
"internal_reference": "lnbgjdpzixzkhgml",
"title": "xfmavknkckbhgmqy",
"description": "Eius perspiciatis tempora et inventore voluptatem hic.",
"condition_summary": "cplvrjzaqaveihaf",
"expected_at": "2026-05-04T20:47:20",
"received_at": "2026-05-04T20:47:20",
"inspected_at": "2026-05-04T20:47:20",
"approved_at": "2026-05-04T20:47:20",
"catalogued_at": "2026-05-04T20:47:20",
"network_eligible": true,
"network_consent_status": "granted"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/supply/items/{consignmentItem}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/supply/items/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/items/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/supply/items/{consignmentItem}/listing-submission
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/supply/items/ab/listing-submission" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/items/ab/listing-submission"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/demand/buyer-profiles/rebuild
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/demand/buyer-profiles/rebuild" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sync_system_segments\": false,
\"refresh_segments\": true
}"
const url = new URL(
"http://localhost:8000/api/demand/buyer-profiles/rebuild"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"sync_system_segments": false,
"refresh_segments": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/demand/buyer-profiles
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/demand/buyer-profiles" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/buyer-profiles"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 9c4b4fb1-ff92-49eb-b002-470979bdc2f2
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/demand/buyer-profiles/{buyerProfile}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/demand/buyer-profiles/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/buyer-profiles/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: f470661b-e15d-427c-98f8-daa19f4a4391
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/demand/segments
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/demand/segments" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/segments"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 6c08a2ec-390a-4c93-a9fa-3dd98a9090bd
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/demand/segments/refresh
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/demand/segments/refresh" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sync_system_segments\": false
}"
const url = new URL(
"http://localhost:8000/api/demand/segments/refresh"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"sync_system_segments": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/demand/segments/{buyerSegment}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/demand/segments/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/segments/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 9750a179-123b-4d65-9d53-0807e1b907c5
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/demand/segments/{buyerSegment}/refresh
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/demand/segments/ab/refresh" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"sync_system_segments\": true
}"
const url = new URL(
"http://localhost:8000/api/demand/segments/ab/refresh"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"sync_system_segments": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/demand/segments/{buyerSegment}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/demand/segments/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/segments/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/demand/triggers
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/demand/triggers" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/triggers"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 6ac971d2-a8fc-4402-ad7c-af0dc221c7f3
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/demand/triggers
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/demand/triggers" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ipzdszigdqrrkthq\",
\"slug\": \"pvviwahfxqnyifdn\",
\"description\": \"Nesciunt eius nihil cumque quia sunt aut dolores.\",
\"trigger_type\": \"ab\",
\"channel_adapter\": \"marketing_email\",
\"is_active\": false
}"
const url = new URL(
"http://localhost:8000/api/demand/triggers"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ipzdszigdqrrkthq",
"slug": "pvviwahfxqnyifdn",
"description": "Nesciunt eius nihil cumque quia sunt aut dolores.",
"trigger_type": "ab",
"channel_adapter": "marketing_email",
"is_active": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/demand/triggers/{engagementTrigger}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/demand/triggers/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/triggers/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 97231ed2-fc44-4b73-9981-e508d146cf39
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/demand/triggers/{engagementTrigger}
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/demand/triggers/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ipzdszigdqrrkthq\",
\"slug\": \"pvviwahfxqnyifdn\",
\"description\": \"Nesciunt eius nihil cumque quia sunt aut dolores.\",
\"trigger_type\": \"ab\",
\"channel_adapter\": \"marketing_email\",
\"is_active\": false
}"
const url = new URL(
"http://localhost:8000/api/demand/triggers/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ipzdszigdqrrkthq",
"slug": "pvviwahfxqnyifdn",
"description": "Nesciunt eius nihil cumque quia sunt aut dolores.",
"trigger_type": "ab",
"channel_adapter": "marketing_email",
"is_active": false
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/demand/triggers/{engagementTrigger}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/demand/triggers/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/triggers/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/demand/triggers/{engagementTrigger}/execute
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/demand/triggers/ab/execute" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"listing_ids\": [
\"ab\"
],
\"buyer_segment_id\": \"ab\",
\"campaign_name\": \"pzdszigdqrrkthqp\",
\"source_name\": \"vviwahfxqnyifdnn\",
\"scheduled_for\": \"2069-05-25\",
\"audience_filters\": [
\"dszigdqrrkthqpvv\"
],
\"idempotency_context\": \"iwahfxqnyifdnnzc\"
}"
const url = new URL(
"http://localhost:8000/api/demand/triggers/ab/execute"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"listing_ids": [
"ab"
],
"buyer_segment_id": "ab",
"campaign_name": "pzdszigdqrrkthqp",
"source_name": "vviwahfxqnyifdnn",
"scheduled_for": "2069-05-25",
"audience_filters": [
"dszigdqrrkthqpvv"
],
"idempotency_context": "iwahfxqnyifdnnzc"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/demand/campaigns
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/demand/campaigns" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/campaigns"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 4311e814-d1ea-49ce-9c71-5df3228ea3f6
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/demand/campaigns
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/demand/campaigns" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"engagement_trigger_id\": \"ab\",
\"buyer_segment_id\": \"ab\",
\"name\": \"pzdszigdqrrkthqp\",
\"slug\": \"vviwahfxqnyifdnn\",
\"description\": \"Nesciunt eius nihil cumque quia sunt aut dolores.\",
\"campaign_type\": \"manual\",
\"channel_adapter\": \"marketing_email\",
\"source_type\": \"source_group\",
\"source_ref\": \"qrrkthqpvviwahfx\",
\"audience_filters\": [
\"qnyifdnnzclnhfpv\"
],
\"source_snapshot\": {
\"source_name\": \"ipzdszigdqrrkthq\",
\"listing_ids\": [
\"ab\"
]
},
\"delivery_config\": {
\"attribution_window_days\": 7
}
}"
const url = new URL(
"http://localhost:8000/api/demand/campaigns"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"engagement_trigger_id": "ab",
"buyer_segment_id": "ab",
"name": "pzdszigdqrrkthqp",
"slug": "vviwahfxqnyifdnn",
"description": "Nesciunt eius nihil cumque quia sunt aut dolores.",
"campaign_type": "manual",
"channel_adapter": "marketing_email",
"source_type": "source_group",
"source_ref": "qrrkthqpvviwahfx",
"audience_filters": [
"qnyifdnnzclnhfpv"
],
"source_snapshot": {
"source_name": "ipzdszigdqrrkthq",
"listing_ids": [
"ab"
]
},
"delivery_config": {
"attribution_window_days": 7
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/demand/campaigns/{distributionCampaign}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/demand/campaigns/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/campaigns/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 41567263-a348-4b58-9b2e-c9c415dfc857
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PATCH api/demand/campaigns/{distributionCampaign}
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/demand/campaigns/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"engagement_trigger_id\": \"ab\",
\"buyer_segment_id\": \"ab\",
\"name\": \"pzdszigdqrrkthqp\",
\"slug\": \"vviwahfxqnyifdnn\",
\"description\": \"Nesciunt eius nihil cumque quia sunt aut dolores.\",
\"campaign_type\": \"manual\",
\"channel_adapter\": \"marketing_email\",
\"source_type\": \"source_group\",
\"source_ref\": \"qrrkthqpvviwahfx\",
\"audience_filters\": [
\"qnyifdnnzclnhfpv\"
],
\"source_snapshot\": {
\"source_name\": \"msnpkynlnbgjdpzi\",
\"listing_ids\": [
\"ab\"
]
},
\"delivery_config\": {
\"attribution_window_days\": 7
},
\"status\": \"cancelled\"
}"
const url = new URL(
"http://localhost:8000/api/demand/campaigns/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"engagement_trigger_id": "ab",
"buyer_segment_id": "ab",
"name": "pzdszigdqrrkthqp",
"slug": "vviwahfxqnyifdnn",
"description": "Nesciunt eius nihil cumque quia sunt aut dolores.",
"campaign_type": "manual",
"channel_adapter": "marketing_email",
"source_type": "source_group",
"source_ref": "qrrkthqpvviwahfx",
"audience_filters": [
"qnyifdnnzclnhfpv"
],
"source_snapshot": {
"source_name": "msnpkynlnbgjdpzi",
"listing_ids": [
"ab"
]
},
"delivery_config": {
"attribution_window_days": 7
},
"status": "cancelled"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/demand/campaigns/{distributionCampaign}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/demand/campaigns/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/campaigns/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/demand/campaigns/{distributionCampaign}/execute
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/demand/campaigns/ab/execute" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"scheduled_for\": \"2069-05-25\",
\"idempotency_key\": \"dszigdqrrkthqpvv\"
}"
const url = new URL(
"http://localhost:8000/api/demand/campaigns/ab/execute"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"scheduled_for": "2069-05-25",
"idempotency_key": "dszigdqrrkthqpvv"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/demand/campaigns/{distributionCampaign}/refresh-attribution
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/demand/campaigns/ab/refresh-attribution" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/demand/campaigns/ab/refresh-attribution"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/onboarding/purchase-info
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/onboarding/purchase-info" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"dismissed\": true,
\"complete\": false,
\"phone\": \"ipzdszigdqrrkthq\",
\"setup_payment_method\": true,
\"shipping_address\": {
\"label\": \"pvviwahfxqnyifdn\",
\"is_default\": false,
\"full_name\": \"nzclnhfpvmsnpkyn\",
\"company\": \"lnbgjdpzixzkhgml\",
\"address_line_1\": \"xfmavknkckbhgmqy\",
\"address_line_2\": \"eipywyxscplvrjza\",
\"city\": \"qaveihafwfciilry\",
\"state\": \"ubypsenryjduorke\",
\"postal_code\": \"xffnsuubyte\",
\"country\": \"yd\",
\"phone\": \"jenadobdfah\"
},
\"billing_address\": {
\"label\": \"ioutbyseqsghbvmo\",
\"is_default\": false,
\"full_name\": \"jkzqzqkvjohzwrtw\",
\"company\": \"incgjrtvorfmpvzw\",
\"address_line_1\": \"wgimzvvokjaxwbag\",
\"address_line_2\": \"ymlaeltfuqmvdchh\",
\"city\": \"wvesukwxeaffdxhu\",
\"state\": \"conockbjljijilny\",
\"postal_code\": \"praqpolljyr\",
\"country\": \"wb\",
\"phone\": \"qmyigaqmcpy\"
}
}"
const url = new URL(
"http://localhost:8000/api/onboarding/purchase-info"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"dismissed": true,
"complete": false,
"phone": "ipzdszigdqrrkthq",
"setup_payment_method": true,
"shipping_address": {
"label": "pvviwahfxqnyifdn",
"is_default": false,
"full_name": "nzclnhfpvmsnpkyn",
"company": "lnbgjdpzixzkhgml",
"address_line_1": "xfmavknkckbhgmqy",
"address_line_2": "eipywyxscplvrjza",
"city": "qaveihafwfciilry",
"state": "ubypsenryjduorke",
"postal_code": "xffnsuubyte",
"country": "yd",
"phone": "jenadobdfah"
},
"billing_address": {
"label": "ioutbyseqsghbvmo",
"is_default": false,
"full_name": "jkzqzqkvjohzwrtw",
"company": "incgjrtvorfmpvzw",
"address_line_1": "wgimzvvokjaxwbag",
"address_line_2": "ymlaeltfuqmvdchh",
"city": "wvesukwxeaffdxhu",
"state": "conockbjljijilny",
"postal_code": "praqpolljyr",
"country": "wb",
"phone": "qmyigaqmcpy"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/invoices/{invoice_id}/offline-payments
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/invoices/ab/offline-payments" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 61,
\"currency\": \"pzd\",
\"method\": \"cash\",
\"reference\": \"szigdqrrkthqpvvi\",
\"receipt_number\": \"wahfxqnyifdnnzcl\",
\"evidence_url\": \"http:\\/\\/streich.info\\/a-quo-ad-saepe-hic-quae-inventore-ipsum-nisi\",
\"occurred_at\": \"2026-05-04T20:47:20\",
\"idempotency_key\": \"nbgjdpzixzkhgmlx\"
}"
const url = new URL(
"http://localhost:8000/api/invoices/ab/offline-payments"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 61,
"currency": "pzd",
"method": "cash",
"reference": "szigdqrrkthqpvvi",
"receipt_number": "wahfxqnyifdnnzcl",
"evidence_url": "http:\/\/streich.info\/a-quo-ad-saepe-hic-quae-inventore-ipsum-nisi",
"occurred_at": "2026-05-04T20:47:20",
"idempotency_key": "nbgjdpzixzkhgmlx"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/orders/{order_id}/confirm-balance-received
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/confirm-balance-received" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"idempotency_key\": \"ipzdszigdqrrkthq\",
\"amount\": 15,
\"reference\": \"vviwahfxqnyifdnn\"
}"
const url = new URL(
"http://localhost:8000/api/orders/ab/confirm-balance-received"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"idempotency_key": "ipzdszigdqrrkthq",
"amount": 15,
"reference": "vviwahfxqnyifdnn"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/invoices/{invoice_id}/checkout-session
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/invoices/ab/checkout-session" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"idempotency_key\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/invoices/ab/checkout-session"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"idempotency_key": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get invoice timeline (events + payments)
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/invoices/ab/timeline" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/invoices/ab/timeline"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"type": "event",
"event_type": "invoice_created",
"occurred_at": "2025-10-29T10:00:00.000000Z"
}
]
}
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Example response (403, forbidden):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/test/email/verify
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/test/email/verify" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/test/email/verify"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/test/email/unverify
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/test/email/unverify" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/test/email/unverify"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/listings/{listing_id}/duplicate
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/listings/ab/duplicate" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"ipzdszigdqrrkthq\",
\"category_id\": \"ab\",
\"copy_media\": true,
\"copy_tags\": false,
\"copy_custom_attributes\": false,
\"copy_notes\": false,
\"schedule_strategy\": \"preserve_times\",
\"start_at\": \"ab\",
\"copy_phygital_identifiers\": true
}"
const url = new URL(
"http://localhost:8000/api/listings/ab/duplicate"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "ipzdszigdqrrkthq",
"category_id": "ab",
"copy_media": true,
"copy_tags": false,
"copy_custom_attributes": false,
"copy_notes": false,
"schedule_strategy": "preserve_times",
"start_at": "ab",
"copy_phygital_identifiers": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/listings/ai/description-preview
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/listings/ai/description-preview" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"listing_id\": \"ipzdszigdqrrkthqpvviwahfxq\",
\"category_id\": \"nyifdnnzclnhfpvmsnpkynlnbg\",
\"title\": \"jdpzixzkhgmlxfma\",
\"description\": \"Nesciunt eius nihil cumque quia sunt aut dolores.\",
\"mode\": \"premiumize\",
\"tone\": \"premium\",
\"length\": \"long\",
\"listing_type\": \"qrrkthqpvviwahfx\",
\"condition\": \"qnyifdnnzclnhfpv\",
\"currency\": \"msn\",
\"starting_bid\": 28,
\"reserve_price\": 49,
\"buy_now_price\": 24,
\"fixed_price_amount\": 0,
\"item_location\": \"lnbgjdpzixzkhgml\",
\"shipping_cost\": 75,
\"is_local_pickup\": false,
\"is_international_shipping\": false,
\"tags\": [
\"fmavknkckbhgmqye\"
]
}"
const url = new URL(
"http://localhost:8000/api/listings/ai/description-preview"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"listing_id": "ipzdszigdqrrkthqpvviwahfxq",
"category_id": "nyifdnnzclnhfpvmsnpkynlnbg",
"title": "jdpzixzkhgmlxfma",
"description": "Nesciunt eius nihil cumque quia sunt aut dolores.",
"mode": "premiumize",
"tone": "premium",
"length": "long",
"listing_type": "qrrkthqpvviwahfx",
"condition": "qnyifdnnzclnhfpv",
"currency": "msn",
"starting_bid": 28,
"reserve_price": 49,
"buy_now_price": 24,
"fixed_price_amount": 0,
"item_location": "lnbgjdpzixzkhgml",
"shipping_cost": 75,
"is_local_pickup": false,
"is_international_shipping": false,
"tags": [
"fmavknkckbhgmqye"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/listing-imports/upload-url
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/listing-imports/upload-url" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"file_name\": \"ipzdszigdqrrkthq\",
\"mime_type\": \"pvviwahfxqnyifdn\",
\"file_size\": 24,
\"default_status\": \"live\",
\"strict_headers\": false
}"
const url = new URL(
"http://localhost:8000/api/listing-imports/upload-url"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"file_name": "ipzdszigdqrrkthq",
"mime_type": "pvviwahfxqnyifdn",
"file_size": 24,
"default_status": "live",
"strict_headers": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/listing-imports/{listingImport_id}/upload-direct
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/listing-imports/ab/upload-direct" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/listing-imports/ab/upload-direct"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/listing-imports/{listingImport_id}/confirm
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/listing-imports/ab/confirm" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/listing-imports/ab/confirm"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Accept current Dutch auction price
requires authentication
Accepts the current price for a Dutch auction. Dispatches to bid processing pipeline via bid-ingress API.
Example request:
curl --request POST \
"http://localhost:8000/api/auctions/ab/accept-price" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"idempotency_key\": \"ipzdszigdqrrkthq\",
\"quantity\": 74
}"
const url = new URL(
"http://localhost:8000/api/auctions/ab/accept-price"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"idempotency_key": "ipzdszigdqrrkthq",
"quantity": 74
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/auctions/{auction}/buy-now
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/auctions/ab/buy-now" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"idempotency_key\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/auctions/ab/buy-now"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"idempotency_key": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Return viewer-specific auction state in bulk.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/auctions/viewer-state?ids=" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auctions/viewer-state"
);
const params = {
"ids": "",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"auction_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"is_watching": true,
"my_bid": 15000
}
]
}
Example response (400, tenant required):
{
"message": "Tenant context is required."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List all active auction events.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/auction-events" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auction-events"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "Spring Auction",
"start_time": "2025-10-29T10:00:00.000000Z",
"is_active": true
}
],
"links": {},
"meta": {}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show a single auction event.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/auction-events/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auction-events/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "Spring Auction",
"start_time": "2025-10-29T10:00:00.000000Z"
}
}
Example response (404, not found):
{
"message": "Auction event not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List auctions for a specific event.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/auction-events/ab/auctions" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auction-events/ab/auctions"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 505c232e-6c6d-471c-97cc-6249966f0065
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/listings/{listing_id}/offers
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/listings/ab/offers" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 98,
\"quantity\": 52
}"
const url = new URL(
"http://localhost:8000/api/listings/ab/offers"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 98,
"quantity": 52
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/offers/{offer_id}/accept
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/offers/ab/accept" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/offers/ab/accept"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/offers/{offer_id}/reject
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/offers/ab/reject" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/offers/ab/reject"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/offers/{offer_id}/cancel
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/offers/ab/cancel" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/offers/ab/cancel"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/orders/{order_id}/conversation
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/conversation" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/ab/conversation"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/orders/{order_id}/shipping-address
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/orders/ab/shipping-address" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"shipping_address_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/orders/ab/shipping-address"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"shipping_address_id": "ab"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/deal-rooms/{dealRoom_id}/offers/{offer_id}/decline
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/deal-rooms/ab/offers/ab/decline" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/offers/ab/decline"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List deal room chat messages
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/deal-rooms/ab/messages" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/messages"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"conversation_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"messages": {
"data": [],
"links": {},
"meta": {}
}
}
Example response (403, forbidden):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/deal-rooms/{dealRoom_id}/messages
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/deal-rooms/ab/messages" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"content\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/messages"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"content": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/deal-rooms/{dealRoom_id}/messages/{message}/flag
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/deal-rooms/ab/messages/ab/flag" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reason\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/messages/ab/flag"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reason": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get deal room metrics
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/deal-rooms/analytics/metrics?start=2025-01-01&end=2025-01-31" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms/analytics/metrics"
);
const params = {
"start": "2025-01-01",
"end": "2025-01-31",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"rooms_opened": 10,
"settlements_finalised": 8,
"total_hammer_value": 150000
}
}
Example response (401, unauthenticated):
{
"error": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/deal-rooms/analytics/export
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/deal-rooms/analytics/export" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms/analytics/export"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 7b5842c6-6e0a-43c0-a89f-3d88010b0b5a
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/settlements/export
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/settlements/export" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/settlements/export"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 9da02416-c754-49cf-804a-8096c6486974
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/disputes/{dispute_id}/updates
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/disputes/ab/updates" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"message\": \"ipzdszigdqrrkthq\",
\"evidence_urls\": [
\"pvviwahfxqnyifdn\"
],
\"visibility\": \"participants\"
}"
const url = new URL(
"http://localhost:8000/api/disputes/ab/updates"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"message": "ipzdszigdqrrkthq",
"evidence_urls": [
"pvviwahfxqnyifdn"
],
"visibility": "participants"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/orders/{order_id}/issues
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/orders/ab/issues" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reason_code\": \"counterfeit\",
\"description\": \"Nesciunt eius nihil cumque quia sunt aut dolores.\",
\"counterfeit_checklist\": {
\"purchased_from_platform\": true,
\"serial_present\": true,
\"why_counterfeit\": \"qrrkthqpvviwahfx\"
}
}"
const url = new URL(
"http://localhost:8000/api/orders/ab/issues"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reason_code": "counterfeit",
"description": "Nesciunt eius nihil cumque quia sunt aut dolores.",
"counterfeit_checklist": {
"purchased_from_platform": true,
"serial_present": true,
"why_counterfeit": "qrrkthqpvviwahfx"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get current open issue for an order
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/orders/ab/issues/current" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/orders/ab/issues/current"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"order_id": "...",
"status": "issue_opened",
"reason_code": "not_as_described"
},
"eligibility": {}
}
Example response (200, no issue):
{
"data": null
}
Example response (403, unauthorized):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/issues/{issue_id}/structured-requests
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/issues/ab/structured-requests" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"contact\",
\"note\": \"ipzdszigdqrrkthq\",
\"attachments\": [
{
\"url\": \"http:\\/\\/www.waelchi.org\\/corrupti-sequi-aut-eum-harum-dolore-nam-et\",
\"type\": \"ifdnnzclnhfpvmsn\"
}
]
}"
const url = new URL(
"http://localhost:8000/api/issues/ab/structured-requests"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "contact",
"note": "ipzdszigdqrrkthq",
"attachments": [
{
"url": "http:\/\/www.waelchi.org\/corrupti-sequi-aut-eum-harum-dolore-nam-et",
"type": "ifdnnzclnhfpvmsn"
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/issues/{issue_id}/escalate
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/issues/ab/escalate" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"description\": \"Nesciunt eius nihil cumque quia sunt aut dolores.\",
\"requested_outcome\": \"return_then_refund\"
}"
const url = new URL(
"http://localhost:8000/api/issues/ab/escalate"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"description": "Nesciunt eius nihil cumque quia sunt aut dolores.",
"requested_outcome": "return_then_refund"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/issues/{issue_id}/review-requests
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/issues/ab/review-requests" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/issues/ab/review-requests"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/issues/{issue_id}/offers
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/issues/ab/offers" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"offer_type\": \"return_then_refund\",
\"amount\": 61,
\"currency\": \"pzd\",
\"expires_at\": \"2026-05-04T20:47:21\",
\"return_instructions\": \"szigdqrrkthqpvvi\"
}"
const url = new URL(
"http://localhost:8000/api/issues/ab/offers"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"offer_type": "return_then_refund",
"amount": 61,
"currency": "pzd",
"expires_at": "2026-05-04T20:47:21",
"return_instructions": "szigdqrrkthqpvvi"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/issues/{issue_id}/offers/{offer_id}/accept
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/issues/ab/offers/ab/accept" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/issues/ab/offers/ab/accept"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/issues/{issue_id}/close
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/issues/ab/close" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/issues/ab/close"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/payouts/{payout_id}/mark-paid
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/payouts/ab/mark-paid" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reference\": \"ipzdszigdqrrkthq\",
\"idempotency_key\": \"pvviwahfxqnyifdn\"
}"
const url = new URL(
"http://localhost:8000/api/payouts/ab/mark-paid"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reference": "ipzdszigdqrrkthq",
"idempotency_key": "pvviwahfxqnyifdn"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/payouts/batches
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/payouts/batches" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"from\": \"2026-05-04T20:47:21\",
\"to\": \"2026-05-04T20:47:21\",
\"status\": [
\"ab\"
]
}"
const url = new URL(
"http://localhost:8000/api/payouts/batches"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"from": "2026-05-04T20:47:21",
"to": "2026-05-04T20:47:21",
"status": [
"ab"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List live commerce show sessions
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/shows?status=live&assigned_to_me=1" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/shows"
);
const params = {
"status": "live",
"assigned_to_me": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "Live Show",
"status": "live"
}
],
"links": {},
"meta": {}
}
Example response (400, tenant required):
{
"message": "Tenant context required"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a live commerce show session
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/shows/01JBQW8K7V2XZGHJK5MNPQRSTU" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/shows/01JBQW8K7V2XZGHJK5MNPQRSTU"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"name": "Live Show",
"status": "live",
"show_queue_items": []
}
Example response (400, tenant required):
{
"message": "Tenant context required"
}
Example response (404, not found):
404
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/live-commerce/shows/{id}/state
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/state" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/state"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 11db1da5-5b68-48a1-8ab3-f725f95cb8bd
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{show}/overlay-tokens
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/overlay-tokens" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"overlay_type\": \"main_with_chat\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/overlay-tokens"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"overlay_type": "main_with_chat"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ipzdszigdqrrkthq\",
\"event_type\": \"virtual\",
\"venue\": \"pvviwahfxqnyifdn\",
\"start_at\": \"2026-05-04T20:47:21\",
\"timezone\": \"Asia\\/Phnom_Penh\",
\"chat_enabled\": true,
\"creator_attribution_enabled\": true
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ipzdszigdqrrkthq",
"event_type": "virtual",
"venue": "pvviwahfxqnyifdn",
"start_at": "2026-05-04T20:47:21",
"timezone": "Asia\/Phnom_Penh",
"chat_enabled": true,
"creator_attribution_enabled": true
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/live-commerce/shows/{id}
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ipzdszigdqrrkthq\",
\"event_type\": \"hybrid\",
\"venue\": \"pvviwahfxqnyifdn\",
\"start_at\": \"2026-05-04T20:47:21\",
\"timezone\": \"Asia\\/Phnom_Penh\",
\"chat_enabled\": true,
\"creator_attribution_enabled\": true
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ipzdszigdqrrkthq",
"event_type": "hybrid",
"venue": "pvviwahfxqnyifdn",
"start_at": "2026-05-04T20:47:21",
"timezone": "Asia\/Phnom_Penh",
"chat_enabled": true,
"creator_attribution_enabled": true
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/live-commerce/shows/{id}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{id}/start
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/start" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/start"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{id}/pause
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/pause" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/pause"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{id}/resume
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/resume" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/resume"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{id}/end
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/end" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"ab\",
\"summary\": {
\"total_lots\": 8,
\"total_bids\": 15,
\"total_gmv_cents\": 38
}
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/end"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "ab",
"summary": {
"total_lots": 8,
"total_bids": 15,
"total_gmv_cents": 38
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get chat messages for a show
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/shows/01JBQW8K7V2XZGHJK5MNPQRSTU/chat/messages" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/shows/01JBQW8K7V2XZGHJK5MNPQRSTU/chat/messages"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "...",
"content": "Hello",
"sender_id": "...",
"sent_at": "2025-10-29T10:00:00.000000Z"
}
],
"links": {},
"meta": {}
}
Example response (400, tenant required):
{
"message": "Tenant context required"
}
Example response (404, not found):
404
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/chat/messages
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/messages" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"content\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/messages"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"content": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/live-commerce/shows/{showId}/chat/messages/{messageId}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/messages/10sCGBGnF45hpk3xEpAqhkJXE4" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/messages/10sCGBGnF45hpk3xEpAqhkJXE4"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/chat/moderation/mute
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/mute" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": \"ab\",
\"duration_minutes\": 7
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/mute"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": "ab",
"duration_minutes": 7
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/chat/moderation/ban
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/ban" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": \"ab\",
\"reason\": \"pzdszigdqrrkthqp\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/ban"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": "ab",
"reason": "pzdszigdqrrkthqp"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/chat/moderation/unmute
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/unmute" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/unmute"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/chat/moderation/unban
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/unban" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"user_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/unban"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/chat/moderation/announcement
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/announcement" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"content\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/announcement"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"content": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/chat/moderation/pin/{messageId}
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/pin/10sCGBGnF45hpk3xEpAqhkJXE4" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/pin/10sCGBGnF45hpk3xEpAqhkJXE4"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/chat/moderation/unpin
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/unpin" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/unpin"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/live-commerce/shows/{showId}/chat/moderation/settings
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/settings" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"slow_mode_seconds\": 16,
\"moderation_level\": \"strict\",
\"highlight_keywords\": [
\"pzdszigdqrrkthqp\"
]
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/chat/moderation/settings"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"slow_mode_seconds": 16,
"moderation_level": "strict",
"highlight_keywords": [
"pzdszigdqrrkthqp"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get show analytics metrics
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/shows/01JBQW8K7V2XZGHJK5MNPQRSTU/analytics?start_date=2025-01-01&end_date=2025-01-31" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"start_date\": \"2026-05-04T20:47:21\",
\"end_date\": \"2069-05-25\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/01JBQW8K7V2XZGHJK5MNPQRSTU/analytics"
);
const params = {
"start_date": "2025-01-01",
"end_date": "2025-01-31",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"start_date": "2026-05-04T20:47:21",
"end_date": "2069-05-25"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": {
"viewers": 150,
"messages": 42,
"revenue": 50000
}
}
Example response (401, unauthenticated):
{
"error": "Unauthenticated"
}
Example response (404, not found):
{
"error": "Show not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/live-commerce/shows/{showId}/analytics/creators
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/analytics/creators" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"start_date\": \"2026-05-04T20:47:21\",
\"end_date\": \"2069-05-25\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/analytics/creators"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"start_date": "2026-05-04T20:47:21",
"end_date": "2069-05-25"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: e5d335c8-bf17-47df-ae37-84a306e5e3f1
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/live-commerce/shows/{showId}/analytics/campaigns
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/analytics/campaigns" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"start_date\": \"2026-05-04T20:47:21\",
\"end_date\": \"2069-05-25\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/analytics/campaigns"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"start_date": "2026-05-04T20:47:21",
"end_date": "2069-05-25"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 60030f3a-78bf-4472-af0f-95446736c8f9
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/live-commerce/shows/{showId}/analytics/export
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/analytics/export" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"start_date\": \"2026-05-04T20:47:21\",
\"end_date\": \"2069-05-25\",
\"format\": \"csv\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/analytics/export"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"start_date": "2026-05-04T20:47:21",
"end_date": "2069-05-25",
"format": "csv"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: e6ab98bd-41ef-4044-8bea-f03f85ea0935
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/s/{code}
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/s/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/s/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 6e1e3b45-6c2e-40b7-9014-5ef33bbc1af7
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/s/{code}/json
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/s/ab/json" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/s/ab/json"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 387a7faf-2995-412d-98a9-90210e52466c
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/attribution/events
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/attribution/events" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"ab\",
\"session_id\": \"ab\",
\"event_type\": \"login\",
\"live_auction_event_id\": \"ab\",
\"gmv_cents\": 15
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/attribution/events"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "ab",
"session_id": "ab",
"event_type": "login",
"live_auction_event_id": "ab",
"gmv_cents": 15
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get session attribution for current session
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/attribution/session?session_id=sess_abc123" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/attribution/session"
);
const params = {
"session_id": "sess_abc123",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"session_id": "sess_abc123",
"creator_link_id": "...",
"live_auction_event_id": "..."
}
Example response (400, tenant required):
{
"message": "Tenant context is required."
}
Example response (403, feature disabled):
{
"message": "Live commerce creator attribution is disabled for this tenant."
}
Example response (422, session required):
{
"message": "Session ID is required."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List creator links
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/creator-links?live_auction_event_id=01JBQW8K7V2XZGHJK5MNPQRSTU&campaign_id=01JBQW8K7V2XZGHJK5MNPQRSTU&creator_id=01JBQW8K7V2XZGHJK5MNPQRSTU" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/creator-links"
);
const params = {
"live_auction_event_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"campaign_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"creator_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "...",
"short_code": "abc123",
"live_auction_event_id": "..."
}
],
"links": {},
"meta": {}
}
Example response (400, tenant required):
{
"message": "Tenant context required"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a creator link by ID
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/creator-links/01JBQW8K7V2XZGHJK5MNPQRSTU" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/creator-links/01JBQW8K7V2XZGHJK5MNPQRSTU"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"id": "...",
"short_code": "abc123",
"live_auction_event": {}
}
Example response (400, tenant required):
{
"message": "Tenant context required"
}
Example response (404, not found):
404
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/creator-links
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/creator-links" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"live_auction_event_id\": \"ab\",
\"creator_id\": \"ab\",
\"expires_at\": \"2069-05-25\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/creator-links"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"live_auction_event_id": "ab",
"creator_id": "ab",
"expires_at": "2069-05-25"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/live-commerce/creator-links/{id}
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/live-commerce/creator-links/10sCGBGnF45hpk3xEpAqhkJXE4" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"expires_at\": \"2026-05-04T20:47:21\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/creator-links/10sCGBGnF45hpk3xEpAqhkJXE4"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"expires_at": "2026-05-04T20:47:21"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/live-commerce/creator-links/{id}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/live-commerce/creator-links/10sCGBGnF45hpk3xEpAqhkJXE4" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/creator-links/10sCGBGnF45hpk3xEpAqhkJXE4"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List live commerce campaigns
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/campaigns?status=active" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/campaigns"
);
const params = {
"status": "active",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "...",
"name": "Spring Campaign",
"status": "active"
}
],
"links": {},
"meta": {}
}
Example response (400, tenant required):
{
"message": "Tenant context required"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a campaign by ID
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/campaigns/01JBQW8K7V2XZGHJK5MNPQRSTU" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/campaigns/01JBQW8K7V2XZGHJK5MNPQRSTU"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"id": "...",
"name": "Spring Campaign",
"status": "active",
"live_auction_events": []
}
Example response (400, tenant required):
{
"message": "Tenant context required"
}
Example response (404, not found):
404
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/campaigns
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/campaigns" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ipzdszigdqrrkthq\",
\"description\": \"Nesciunt eius nihil cumque quia sunt aut dolores.\",
\"status\": \"active\",
\"starts_at\": \"2026-05-04T20:47:21\",
\"ends_at\": \"2069-05-25\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/campaigns"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ipzdszigdqrrkthq",
"description": "Nesciunt eius nihil cumque quia sunt aut dolores.",
"status": "active",
"starts_at": "2026-05-04T20:47:21",
"ends_at": "2069-05-25"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/live-commerce/campaigns/{id}
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/live-commerce/campaigns/10sCGBGnF45hpk3xEpAqhkJXE4" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"ipzdszigdqrrkthq\",
\"description\": \"Nesciunt eius nihil cumque quia sunt aut dolores.\",
\"status\": \"ended\",
\"starts_at\": \"2026-05-04T20:47:21\",
\"ends_at\": \"2069-05-25\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/campaigns/10sCGBGnF45hpk3xEpAqhkJXE4"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ipzdszigdqrrkthq",
"description": "Nesciunt eius nihil cumque quia sunt aut dolores.",
"status": "ended",
"starts_at": "2026-05-04T20:47:21",
"ends_at": "2069-05-25"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/live-commerce/campaigns/{id}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/live-commerce/campaigns/10sCGBGnF45hpk3xEpAqhkJXE4" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/campaigns/10sCGBGnF45hpk3xEpAqhkJXE4"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get show queue state
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/shows/01JBQW8K7V2XZGHJK5MNPQRSTU/queue" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/shows/01JBQW8K7V2XZGHJK5MNPQRSTU/queue"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"current_lot_id": "...",
"queue_items": []
}
Example response (400, tenant required):
{
"message": "Tenant context required"
}
Example response (403, forbidden):
{
"message": "Forbidden"
}
Example response (404, not found):
404
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/queue/{queueItemId}/reorder
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/10sCGBGnF45hpk3xEpAqhkJXE4/reorder" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"new_sequence\": 61,
\"command_id\": \"pzdszigdqrrkthqpvviwahfxqn\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/10sCGBGnF45hpk3xEpAqhkJXE4/reorder"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"new_sequence": 61,
"command_id": "pzdszigdqrrkthqpvviwahfxqn"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/queue/{queueItemId}/pin
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/10sCGBGnF45hpk3xEpAqhkJXE4/pin" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"ipzdszigdqrrkthqpvviwahfxq\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/10sCGBGnF45hpk3xEpAqhkJXE4/pin"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "ipzdszigdqrrkthqpvviwahfxq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/queue/next
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/next" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"ipzdszigdqrrkthqpvviwahfxq\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/next"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "ipzdszigdqrrkthqpvviwahfxq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/queue/{queueItemId}/switch
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/10sCGBGnF45hpk3xEpAqhkJXE4/switch" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"ipzdszigdqrrkthqpvviwahfxq\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/10sCGBGnF45hpk3xEpAqhkJXE4/switch"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "ipzdszigdqrrkthqpvviwahfxq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/queue/current/hold
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/current/hold" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"ipzdszigdqrrkthqpvviwahfxq\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/current/hold"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "ipzdszigdqrrkthqpvviwahfxq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/queue/current/resume
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/current/resume" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"ipzdszigdqrrkthqpvviwahfxq\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/current/resume"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "ipzdszigdqrrkthqpvviwahfxq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/queue/current/extend
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/current/extend" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"seconds\": 16,
\"command_id\": \"pzdszigdqrrkthqpvviwahfxqn\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/current/extend"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"seconds": 16,
"command_id": "pzdszigdqrrkthqpvviwahfxqn"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/live-commerce/shows/{showId}/queue/current/skip
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/current/skip" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"ipzdszigdqrrkthqpvviwahfxq\"
}"
const url = new URL(
"http://localhost:8000/api/live-commerce/shows/10sCGBGnF45hpk3xEpAqhkJXE4/queue/current/skip"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "ipzdszigdqrrkthqpvviwahfxq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get overlay state (polling endpoint for live overlays)
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-commerce/overlays/overlay_abc123.../state" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-commerce/overlays/overlay_abc123.../state"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"show_id": "...",
"current_lot": {},
"chat_enabled": true
}
Example response (403, invalid token):
{
"message": "Invalid or expired overlay token"
}
Example response (404, tenant not found):
{
"message": "Tenant not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Bids
Get current user's bids
requires authentication
Returns paginated list of bids placed by the authenticated user.
Example request:
curl --request GET \
--get "http://localhost:8000/api/bids?page=1" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/bids"
);
const params = {
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"auction_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"amount": 15000,
"is_winning": true,
"bid_at": "2025-10-29T10:00:00.000000Z",
"auction": {
"listing_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "live"
}
}
],
"links": {},
"meta": {}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get bid history for an auction
requires authentication
Returns paginated list of bids for a specific auction.
Bidder identity is anonymized via an auction-scoped alias (non-linkable across auctions), and trust signals are bucketized to avoid fingerprinting.
Example request:
curl --request GET \
--get "http://localhost:8000/api/auctions/ab/bids?page=1&per_page=20" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/auctions/ab/bids"
);
const params = {
"page": "1",
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"amount": 15000,
"obscured_username": "B***r",
"bid_at": "2025-10-29T10:00:00.000000Z",
"is_proxy_bid": false
}
],
"links": {},
"meta": {}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Deal Rooms
GET /api/listings/{listing}/deal-room
requires authentication
Returns the deal_room_id for this listing if the authenticated user is authorized to access it. To avoid leaking existence, unauthorized callers receive 404.
Example request:
curl --request GET \
--get "http://localhost:8000/api/listings/ab/deal-room" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/listings/ab/deal-room"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"deal_room_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "active"
}
Example response (200, no deal room):
{
"deal_room_id": null,
"status": null
}
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Example response (404, unauthorized):
404 (no body - avoids leaking existence)
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List deal rooms (seller-owned)
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/deal-rooms?per_page=15" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms"
);
const params = {
"per_page": "15",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"listing_id": "...",
"status": "active"
}
],
"links": {},
"meta": {}
}
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get deal room
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/deal-rooms/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"listing": {},
"current_settlement": {},
"offers": []
}
Example response (403, forbidden):
{
"message": "This action is unauthorized."
}
Example response (404, not found):
{
"message": "Deal room not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get my offer
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/deal-rooms/ab/my-offer" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/my-offer"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"offer": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"deal_room_id": "...",
"offer_type": "seller_counter",
"amount": 15000,
"status": "pending"
}
}
Example response (200, no offer):
{
"offer": null
}
Example response (403, forbidden):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List eligible bidders (seller-only)
requires authentication
Provides a safe bidder ladder for seller selection UX (request increase / concessions). Does not expose bidder PII; returns only user_id and their bid amount.
Example request:
curl --request GET \
--get "http://localhost:8000/api/deal-rooms/ab/eligible-bidders" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/eligible-bidders"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"eligible_bidders": [
{
"user_id": "...",
"bid_amount": 15000,
"position": 1
}
]
}
Example response (403, forbidden):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /api/my/deal-rooms
requires authentication
Returns deal rooms the authenticated user can access, as either:
- seller: owns the underlying listing
- bidder: has been involved in the room via offers (eg pending offer / accepted / declined)
NOTE: We intentionally do not compute eligibility for every deal room (ladder lookup requires bid_store queries). This endpoint is meant to power discovery UX and in-app navigation, not a complete eligibility oracle.
Example request:
curl --request GET \
--get "http://localhost:8000/api/my/deal-rooms?per_page=20" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/my/deal-rooms"
);
const params = {
"per_page": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"listing_id": "...",
"status": "active",
"role": "seller"
}
],
"links": {},
"meta": {}
}
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List settlement versions
requires authentication
Returns settlement version history for a deal room.
Example request:
curl --request GET \
--get "http://localhost:8000/api/deal-rooms/ab/settlements" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/settlements"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"deal_room_id": "...",
"current_settlement_id": "...",
"settlements": [
{
"id": "...",
"version": 1,
"hammer_price": 15000
}
]
}
Example response (403, forbidden):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List actions
requires authentication
Returns recent offer/action history for a deal room.
Example request:
curl --request GET \
--get "http://localhost:8000/api/deal-rooms/ab/actions" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/actions"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"deal_room_id": "...",
"actions": [
{
"id": "...",
"offer_type": "bidder_counter",
"amount": 15000,
"status": "accepted"
}
]
}
Example response (403, forbidden):
{
"message": "This action is unauthorized."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Unified action endpoint for API polish: creates a negotiation action which may create a new settlement version.
requires authentication
Supported actions:
- accept_top_bid
- counter_offer
- request_increase
- concessions
- second_chance
- decline_offer (seller declines current pending seller offer)
- bidder_accept_offer (bidder accepts a pending offer)
- bidder_decline_offer (bidder declines a pending offer)
Example request:
curl --request POST \
"http://localhost:8000/api/deal-rooms/ab/actions" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"action\": \"accept_top_bid\",
\"command_id\": \"01J...\",
\"expected_settlement_version\": 2,
\"offer_id\": \"01J...\",
\"amount\": 15,
\"expires_at\": \"2026-05-04T20:47:21\",
\"bidder_id\": \"ab\",
\"requested_amount\": 15,
\"reason\": \"zdszigdqrrkthqpv\",
\"concession_type\": \"viwahfxqnyifdnnz\",
\"concession_amount\": 80,
\"second_chance_reason\": \"lnhfpvmsnpkynlnb\"
}"
const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/actions"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"action": "accept_top_bid",
"command_id": "01J...",
"expected_settlement_version": 2,
"offer_id": "01J...",
"amount": 15,
"expires_at": "2026-05-04T20:47:21",
"bidder_id": "ab",
"requested_amount": 15,
"reason": "zdszigdqrrkthqpv",
"concession_type": "viwahfxqnyifdnnz",
"concession_amount": 80,
"second_chance_reason": "lnhfpvmsnpkynlnb"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/deal-rooms/{dealRoom_id}/accept-top-bid
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/deal-rooms/ab/accept-top-bid" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/accept-top-bid"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/deal-rooms/{dealRoom_id}/counter-offer
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/deal-rooms/ab/counter-offer" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 8,
\"expires_at\": \"2026-05-04T20:47:21\",
\"expected_settlement_version\": 15,
\"command_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/counter-offer"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 8,
"expires_at": "2026-05-04T20:47:21",
"expected_settlement_version": 15,
"command_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/deal-rooms/{dealRoom_id}/request-increase
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/deal-rooms/ab/request-increase" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"bidder_id\": \"ab\",
\"requested_amount\": 15,
\"reason\": \"zdszigdqrrkthqpv\",
\"message\": \"viwahfxqnyifdnnz\",
\"expires_at\": \"2026-05-04T20:47:21\",
\"expected_settlement_version\": 80,
\"command_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/request-increase"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"bidder_id": "ab",
"requested_amount": 15,
"reason": "zdszigdqrrkthqpv",
"message": "viwahfxqnyifdnnz",
"expires_at": "2026-05-04T20:47:21",
"expected_settlement_version": 80,
"command_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/deal-rooms/{dealRoom_id}/decline-offer
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/deal-rooms/ab/decline-offer" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reason\": \"ipzdszigdqrrkthq\",
\"command_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/decline-offer"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reason": "ipzdszigdqrrkthq",
"command_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/deal-rooms/{dealRoom_id}/concessions
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/deal-rooms/ab/concessions" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"bidder_id\": \"ab\",
\"concession_type\": \"pzdszigdqrrkthqp\",
\"concession_amount\": 34,
\"expires_at\": \"2026-05-04T20:47:21\",
\"expected_settlement_version\": 73,
\"command_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/concessions"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"bidder_id": "ab",
"concession_type": "pzdszigdqrrkthqp",
"concession_amount": 34,
"expires_at": "2026-05-04T20:47:21",
"expected_settlement_version": 73,
"command_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
POST api/deal-rooms/{dealRoom_id}/second-chance
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/deal-rooms/ab/second-chance" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reason\": \"ipzdszigdqrrkthq\",
\"expected_settlement_version\": 15,
\"command_id\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/second-chance"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reason": "ipzdszigdqrrkthq",
"expected_settlement_version": 15,
"command_id": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Deal Room Offer API
requires authentication
Bidder offer accept/decline endpoints.
Example request:
curl --request POST \
"http://localhost:8000/api/deal-rooms/ab/offers/ab/accept" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/deal-rooms/ab/offers/ab/accept"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Live Auctions - Attendees
Register or assign a paddle to the authenticated user.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/events/01HFAK7VYB0KS3W0ZW7V4GN7K1/register-paddle" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"paddle_number\": \"301\",
\"deposit_amount\": 250
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/events/01HFAK7VYB0KS3W0ZW7V4GN7K1/register-paddle"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"paddle_number": "301",
"deposit_amount": 250
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, Paddle assigned):
{
"data": {
"id": "01HFCK0GDESJYCJRR6TF3S9XFT",
"event_id": "01HFAK7VYB0KS3W0ZW7V4GN7K1",
"user_id": "01HFBEQ2M9GH9T7M5JXX19P9JQ",
"paddle_number": "301",
"deposit_amount": 250,
"deposit_status": "held",
"checkin_status": "pending"
}
}
Example response (422, Deposit missing):
{
"message": "Deposit requirement not satisfied",
"errors": {
"deposit_amount": [
"A held deposit meeting the required amount is necessary before requesting a paddle."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Return the current user's paddle assignment for an event.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-auctions/events/01HFAK7VYB0KS3W0ZW7V4GN7K1/my-paddle" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-auctions/events/01HFAK7VYB0KS3W0ZW7V4GN7K1/my-paddle"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Paddle found):
{
"data": {
"id": "01HFCK0GDESJYCJRR6TF3S9XFT",
"event_id": "01HFAK7VYB0KS3W0ZW7V4GN7K1",
"paddle_number": "301",
"checkin_status": "checked_in",
"deposit_status": "held"
}
}
Example response (404, No paddle assigned):
{
"message": "No paddle assigned for this event"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Mark attendee as checked in.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/events/01HFAK7VYB0KS3W0ZW7V4GN7K1/check-in" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"paddle_number\": \"301\",
\"qr_code\": \"LIVE-QR-301\",
\"status\": \"checked_in\",
\"latitude\": 51.5072,
\"longitude\": -0.1276
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/events/01HFAK7VYB0KS3W0ZW7V4GN7K1/check-in"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"paddle_number": "301",
"qr_code": "LIVE-QR-301",
"status": "checked_in",
"latitude": 51.5072,
"longitude": -0.1276
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Checked in):
{
"data": {
"id": "01HFCK0GDESJYCJRR6TF3S9XFT",
"paddle_number": "301",
"checkin_status": "checked_in",
"checked_in_at": "2025-01-10T18:05:11.004000Z",
"latitude": 51.5072,
"longitude": -0.1276
}
}
Example response (403, Outside geofence):
{
"message": "Check-in denied: location outside venue"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Live Auctions - Events
List live auction events.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-auctions?status=live" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-auctions"
);
const params = {
"status": "live",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Events paginated):
{
"data": [
{
"id": "01HFAK7VYB0KS3W0ZW7V4GN7K1",
"event_type": "hybrid",
"venue": "Babylon HQ",
"status": "scheduled",
"start_at": "2025-01-15T18:00:00Z"
}
],
"links": {
"next": null
},
"meta": {
"current_page": 1,
"per_page": 20
}
}
Example response (400, Missing tenant):
{
"message": "Tenant context required"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show live auction event details.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-auctions/01HFAK7VYB0KS3W0ZW7V4GN7K1" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-auctions/01HFAK7VYB0KS3W0ZW7V4GN7K1"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Event found):
{
"id": "01HFAK7VYB0KS3W0ZW7V4GN7K1",
"event_type": "hybrid",
"venue": "Babylon HQ",
"status": "scheduled",
"settings": {
"fairness_window_ms": 250
}
}
Example response (404, Event missing):
{
"message": "No query results for model [LiveAuctionEvent] 01HFAK7VYB0KS3W0ZW7V4GN7K1"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create new live auction event.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"event_type\": \"hybrid\",
\"venue\": \"Babylon Flagship Gallery\",
\"start_at\": \"2025-01-15T18:00:00Z\",
\"timezone\": \"Europe\\/London\",
\"bidding_mode\": \"simulcast\",
\"stream_config\": {
\"streaming\": {
\"provider\": \"mux\",
\"rtmp_url\": \"rtmp:\\/\\/mux.live\\/babylon\"
}
},
\"roles\": {
\"auctioneer\": \"01HFC0ZAZFQ86PSNBRYPR5XS14\"
},
\"settings\": []
}"
const url = new URL(
"http://localhost:8000/api/live-auctions"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"event_type": "hybrid",
"venue": "Babylon Flagship Gallery",
"start_at": "2025-01-15T18:00:00Z",
"timezone": "Europe\/London",
"bidding_mode": "simulcast",
"stream_config": {
"streaming": {
"provider": "mux",
"rtmp_url": "rtmp:\/\/mux.live\/babylon"
}
},
"roles": {
"auctioneer": "01HFC0ZAZFQ86PSNBRYPR5XS14"
},
"settings": []
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, Event created):
{
"id": "01HFCS2J3Q8JHW8P4F7Q8WANNH",
"event_type": "hybrid",
"venue": "Babylon Flagship Gallery",
"status": "draft",
"settings": {
"fairness_window_ms": 250,
"deposit_required": false
}
}
Example response (403, Feature disabled):
{
"message": "Live auctions feature is disabled for this tenant",
"error": "Please contact support to enable live auctions."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update live auction event.
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/live-auctions/01HFCS2J3Q8JHW8P4F7Q8WANNH" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"venue\": \"Babylon - King Street\",
\"start_at\": \"2025-01-16T19:00:00Z\",
\"timezone\": \"Europe\\/Paris\",
\"stream_config\": [],
\"roles\": [],
\"settings\": []
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/01HFCS2J3Q8JHW8P4F7Q8WANNH"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"venue": "Babylon - King Street",
"start_at": "2025-01-16T19:00:00Z",
"timezone": "Europe\/Paris",
"stream_config": [],
"roles": [],
"settings": []
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Event updated):
{
"id": "01HFCS2J3Q8JHW8P4F7Q8WANNH",
"venue": "Babylon - King Street",
"timezone": "Europe/Paris",
"settings": {
"fairness_window_ms": 300
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Start live auction event (go live).
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/01HFCS2J3Q8JHW8P4F7Q8WANNH/start" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-auctions/01HFCS2J3Q8JHW8P4F7Q8WANNH/start"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, Event live):
{
"id": "01HFCS2J3Q8JHW8P4F7Q8WANNH",
"status": "live"
}
Example response (400, Cannot start):
{
"message": "Event cannot be started"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Pause live auction event.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/01HFCS2J3Q8JHW8P4F7Q8WANNH/pause" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-auctions/01HFCS2J3Q8JHW8P4F7Q8WANNH/pause"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, Event paused):
{
"id": "01HFCS2J3Q8JHW8P4F7Q8WANNH",
"status": "paused"
}
Example response (400, Cannot pause):
{
"message": "Event cannot be paused"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Resume live auction event.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/01HFCS2J3Q8JHW8P4F7Q8WANNH/resume" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-auctions/01HFCS2J3Q8JHW8P4F7Q8WANNH/resume"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200, Event resumed):
{
"id": "01HFCS2J3Q8JHW8P4F7Q8WANNH",
"status": "live"
}
Example response (400, Not paused):
{
"message": "Event is not paused"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Live Auctions - Floor Bids
Submit a floor bid.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/floor-bids" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"auction_id\": \"01HFAX4A6XES6SJT5MH2M2AM5H\",
\"user_id\": \"01HFBEQ2M9GH9T7M5JXX19P9JQ\",
\"amount\": 525000,
\"paddle_number\": \"301\",
\"clerk_id\": \"01HFC0ZAZFQ86PSNBRYPR5XS14\",
\"spotter_id\": \"01HFC10565BVC4V22NBTWR0M89\",
\"command_id\": \"01HFC11K08Z0EZ3MYVXM5M2M3R\",
\"metadata\": {
\"ip_address\": \"10.0.10.30\",
\"latency_ms\": 14
}
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/floor-bids"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"auction_id": "01HFAX4A6XES6SJT5MH2M2AM5H",
"user_id": "01HFBEQ2M9GH9T7M5JXX19P9JQ",
"amount": 525000,
"paddle_number": "301",
"clerk_id": "01HFC0ZAZFQ86PSNBRYPR5XS14",
"spotter_id": "01HFC10565BVC4V22NBTWR0M89",
"command_id": "01HFC11K08Z0EZ3MYVXM5M2M3R",
"metadata": {
"ip_address": "10.0.10.30",
"latency_ms": 14
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (202, Bid accepted):
{
"bid_id": "01HFC143HE2ZNGN67P08GW87C1",
"status": "accepted",
"idempotency_key": "floor_bid:01HFC11K08Z0EZ3MYVXM5M2M3R"
}
Example response (422, Deposit not satisfied):
{
"message": "The given data was invalid.",
"errors": {
"paddle_number": [
"Attendee must be checked in before bidding."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
bid_id
string
ULID queued for processing by Bid Ingress.
idempotency_key
string|null
Key reused for retries.
Live Auctions - Lot Control
List lots for an event.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-auctions/lots?event_id=01HFAK7VYB0KS3W0ZW7V4GN7K1" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-auctions/lots"
);
const params = {
"event_id": "01HFAK7VYB0KS3W0ZW7V4GN7K1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Lots retrieved):
[
{
"id": "01HFAX4YTS4X7N1HCYX0G7RB6W",
"auction_id": "01HFAX4A6XES6SJT5MH2M2AM5H",
"lot_sequence": 1,
"status": "standby",
"current_bid": null,
"live_auction_event_id": "01HFAK7VYB0KS3W0ZW7V4GN7K1"
}
]
Example response (400, Missing event):
{
"message": "event_id is required"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show lot details.
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, Lot found):
{
"id": "01HFAX4YTS4X7N1HCYX0G7RB6W",
"auction_id": "01HFAX4A6XES6SJT5MH2M2AM5H",
"lot_sequence": 1,
"status": "standby",
"current_bid": null,
"live_auction_event_id": "01HFAK7VYB0KS3W0ZW7V4GN7K1"
}
Example response (404, Unknown lot):
{
"message": "No query results for model [LiveLotState] 01HFAX4YTS4X7N1HCYX0G7RB6W"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Start a lot.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/start" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"01HFBC10XY9BPR7WP6W7G4G6CM\",
\"auction_id\": \"01HFAX4A6XES6SJT5MH2M2AM5H\",
\"absentee_bids\": [
{
\"user_id\": \"01HFBEQ2M9GH9T7M5JXX19P9JQ\",
\"amount\": 450000,
\"idempotency_key\": \"absentee-01HFBF4RE0S5M\"
}
],
\"metadata\": {
\"ip_address\": \"10.0.10.24\",
\"latency_ms\": 28
}
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/start"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "01HFBC10XY9BPR7WP6W7G4G6CM",
"auction_id": "01HFAX4A6XES6SJT5MH2M2AM5H",
"absentee_bids": [
{
"user_id": "01HFBEQ2M9GH9T7M5JXX19P9JQ",
"amount": 450000,
"idempotency_key": "absentee-01HFBF4RE0S5M"
}
],
"metadata": {
"ip_address": "10.0.10.24",
"latency_ms": 28
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Lot started):
{
"live_lot_state_id": "01HFAX4YTS4X7N1HCYX0G7RB6W",
"status": "selling",
"started_at": "2025-01-10T18:13:44.192000Z",
"injected_bid_ids": [
"01HFBG2VH9ZN1R4N38Z5Q1MWY4"
]
}
Example response (422, Invalid state):
{
"message": "Lot must be in 'standby' status to start. Current status: selling"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
live_lot_state_id
string
The lot that entered selling state.
status
string
Selling status after transition.
started_at
string
ISO8601 timestamp when the lot began.
injected_bid_ids
string[]
IDs for absentee bids queued during start.
Pause current lot.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/pause" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"01HFBCJ3V7JQ7H8QNM8DP1X8N9\"
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/pause"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "01HFBCJ3V7JQ7H8QNM8DP1X8N9"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Lot paused):
{
"live_lot_state_id": "01HFAX4YTS4X7N1HCYX0G7RB6W",
"status": "paused",
"paused_at": "2025-01-10T18:15:02.981000Z"
}
Example response (422, Lot not selling):
{
"message": "Lot must be in 'selling' status to pause. Current status: paused"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
paused_at
string
Timestamp captured when the pause command executed.
Resume paused lot.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/resume" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"01HFBDNEK3VY2NRXTPAKAZA7M5\"
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/resume"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "01HFBDNEK3VY2NRXTPAKAZA7M5"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Lot resumed):
{
"live_lot_state_id": "01HFAX4YTS4X7N1HCYX0G7RB6W",
"status": "selling",
"resumed_at": "2025-01-10T18:16:07.004000Z"
}
Example response (422, Lot not paused):
{
"message": "Lot must be in 'paused' status to resume. Current status: selling"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Hammer a lot.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/hammer" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"01HFBE78V50NXJ5V8VC1JJ99TZ\",
\"video_timecode\": \"00:42:19:12\",
\"metadata\": {
\"latency_ms\": 18,
\"user_agent\": \"auctioneer-app\\/2.1.0\"
}
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/hammer"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "01HFBE78V50NXJ5V8VC1JJ99TZ",
"video_timecode": "00:42:19:12",
"metadata": {
"latency_ms": 18,
"user_agent": "auctioneer-app\/2.1.0"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Hammer recorded):
{
"hammer_event_id": "01HFBGVPZFJ56NJC5X3GH51KBE",
"winner_id": "01HFBEQ2M9GH9T7M5JXX19P9JQ",
"hammer_price": 525000,
"hammered_at": "2025-01-10T18:18:44.781000Z"
}
Example response (422, No bids):
{
"message": "Cannot hammer lot with no bids"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
hammer_event_id
string
Immutable hammer event ULID.
hammer_price
integer
Hammered amount in cents.
Pass a lot (mark as unsold).
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/pass" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"01HFBEZ0FR6V8DVFM5FCMYQ3CE\"
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/pass"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "01HFBEZ0FR6V8DVFM5FCMYQ3CE"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Lot passed):
{
"live_lot_state_id": "01HFAX4YTS4X7N1HCYX0G7RB6W",
"status": "passed",
"passed_at": "2025-01-10T18:20:01.502000Z"
}
Example response (422, Lot not selling):
{
"message": "Lot must be in 'selling' status to pass. Current status: paused"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Jump/reorder a lot (change sequence).
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/jump" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"new_sequence\": 7,
\"command_id\": \"01HFBR0VVJKJED2J3T0B8PKK10\"
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/jump"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"new_sequence": 7,
"command_id": "01HFBR0VVJKJED2J3T0B8PKK10"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Sequence updated):
{
"live_lot_state_id": "01HFAX4YTS4X7N1HCYX0G7RB6W",
"lot_sequence": 7,
"old_sequence": 2,
"status": "standby"
}
Example response (422, Invalid input):
{
"message": "The given data was invalid.",
"errors": {
"new_sequence": [
"new_sequence must be between 1 and 25 for this event."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Undo the most recent reversible action for the lot.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/undo" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"command_id\": \"01HFBS0WR23H35RZ8VQ8AT1C0N\"
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/undo"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"command_id": "01HFBS0WR23H35RZ8VQ8AT1C0N"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Undo applied):
{
"live_lot_state_id": "01HFAX4YTS4X7N1HCYX0G7RB6W",
"undone_action_type": "lot.hammer",
"undo": {
"status": "selling",
"hammer_event_id": "01HFBGVPZFJ56NJC5X3GH51KBE",
"refund_initiated": true
}
}
Example response (422, Nothing to undo):
{
"message": "No undoable actions found for this lot"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify that a bidder's deposit meets the required amount for the lot/event.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/live-auctions/events/01HFAK7VYB0KS3W0ZW7V4GN7K1/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/verify-deposit" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"paddle_number\": \"301\",
\"user_id\": \"01HFBEQ2M9GH9T7M5JXX19P9JQ\",
\"required_amount\": 250
}"
const url = new URL(
"http://localhost:8000/api/live-auctions/events/01HFAK7VYB0KS3W0ZW7V4GN7K1/lots/01HFAX4YTS4X7N1HCYX0G7RB6W/verify-deposit"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"paddle_number": "301",
"user_id": "01HFBEQ2M9GH9T7M5JXX19P9JQ",
"required_amount": 250
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Deposit verified):
{
"verified": true,
"deposit_amount": 500,
"deposit_status": "held",
"paddle_number": "301"
}
Example response (404, Attendee not found):
{
"message": "Attendee not found for this event"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Notifications - Consents
Get notification consents for the authenticated user
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/notification-consents" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/notification-consents"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"consents": {
"email": true,
"sms": false,
"push": true
}
}
Example response (400, tenant missing):
{
"message": "Tenant context missing"
}
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Start SMS opt-in verification: send a code to the provided phone number.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/notification-consents/sms/opt-in" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"phone_e164\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/notification-consents/sms/opt-in"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"phone_e164": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify SMS opt-in code and mark phone verified + SMS opted-in.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/notification-consents/sms/verify" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"347081\"
}"
const url = new URL(
"http://localhost:8000/api/notification-consents/sms/verify"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "347081"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Start WhatsApp opt-in verification: send a code to the provided phone number (via SMS).
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/notification-consents/whatsapp/opt-in" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"phone_e164\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/notification-consents/whatsapp/opt-in"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"phone_e164": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify WhatsApp opt-in code and mark phone verified + WhatsApp opted-in.
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/notification-consents/whatsapp/verify" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"code\": \"347081\"
}"
const url = new URL(
"http://localhost:8000/api/notification-consents/whatsapp/verify"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "347081"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Notifications - Preferences
Get notification preferences for the authenticated user
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/notification-preferences" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/notification-preferences"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"preferences": {
"bidding_enabled": true,
"email_enabled": true
}
}
Example response (400, tenant missing):
{
"message": "Tenant context missing"
}
Example response (401, unauthenticated):
{
"message": "Unauthenticated"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
PUT api/notification-preferences
requires authentication
Example request:
curl --request PUT \
"http://localhost:8000/api/notification-preferences" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"bidding_enabled\": true,
\"messages_enabled\": false,
\"fulfillment_enabled\": false,
\"reminders_enabled\": false,
\"commerce_enabled\": true,
\"security_enabled\": false,
\"moderation_enabled\": false,
\"seller_money_enabled\": false,
\"admin_enabled\": false,
\"email_enabled\": false,
\"in_app_enabled\": true,
\"push_enabled\": true,
\"web_push_enabled\": false,
\"quiet_hours_enabled\": true,
\"quiet_hours_start\": \"47:08\",
\"quiet_hours_end\": \"47:08\",
\"quiet_hours_timezone\": \"Pacific\\/Kiritimati\",
\"locale\": \"cch_NG\",
\"timezone\": \"Africa\\/Harare\"
}"
const url = new URL(
"http://localhost:8000/api/notification-preferences"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"bidding_enabled": true,
"messages_enabled": false,
"fulfillment_enabled": false,
"reminders_enabled": false,
"commerce_enabled": true,
"security_enabled": false,
"moderation_enabled": false,
"seller_money_enabled": false,
"admin_enabled": false,
"email_enabled": false,
"in_app_enabled": true,
"push_enabled": true,
"web_push_enabled": false,
"quiet_hours_enabled": true,
"quiet_hours_start": "47:08",
"quiet_hours_end": "47:08",
"quiet_hours_timezone": "Pacific\/Kiritimati",
"locale": "cch_NG",
"timezone": "Africa\/Harare"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Notifications - Push Tokens
POST api/push-tokens
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/push-tokens" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"platform\": \"android\",
\"token\": \"ipzdszigdqrrkthq\"
}"
const url = new URL(
"http://localhost:8000/api/push-tokens"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"platform": "android",
"token": "ipzdszigdqrrkthq"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/push-tokens/{id}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/push-tokens/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/push-tokens/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Notifications - Templates (Admin)
List notification templates for the tenant
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/notification-templates?channel=email&locale=en" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/notification-templates"
);
const params = {
"channel": "email",
"locale": "en",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"templates": {
"data": [],
"meta": {}
}
}
Example response (400, tenant missing):
{
"message": "Tenant context missing"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create the first tenant override template (version 1).
requires authentication
If content is omitted, we clone from platform DB defaults (if present) or fall back to TemplateCatalog defaults.
Example request:
curl --request POST \
"http://localhost:8000/api/notification-templates" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"channel\": \"ipzdszigdqrrkthq\",
\"template_key\": \"pvviwahfxqnyifdn\",
\"locale\": \"ar_YE\",
\"activate\": true,
\"subject\": \"zclnhfpvmsnpkynl\",
\"body_text\": \"ab\",
\"body_html\": \"ab\",
\"title\": \"pzdszigdqrrkthqp\",
\"message\": \"ab\",
\"body\": \"ab\",
\"provider_template_id\": \"pzdszigdqrrkthqp\",
\"provider_template_language\": \"vviwahfxqnyifdnn\"
}"
const url = new URL(
"http://localhost:8000/api/notification-templates"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"channel": "ipzdszigdqrrkthq",
"template_key": "pvviwahfxqnyifdn",
"locale": "ar_YE",
"activate": true,
"subject": "zclnhfpvmsnpkynl",
"body_text": "ab",
"body_html": "ab",
"title": "pzdszigdqrrkthqp",
"message": "ab",
"body": "ab",
"provider_template_id": "pzdszigdqrrkthqp",
"provider_template_language": "vviwahfxqnyifdnn"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Preview a template render with provided vars.
requires authentication
Rejects unknown placeholders (not in allowlist) and rejects unknown vars keys.
Example request:
curl --request POST \
"http://localhost:8000/api/notification-templates/preview" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"channel\": \"ipzdszigdqrrkthq\",
\"template_key\": \"pvviwahfxqnyifdn\",
\"locale\": \"ar_YE\",
\"subject\": \"zclnhfpvmsnpkynl\",
\"body_text\": \"ab\",
\"title\": \"pzdszigdqrrkthqp\",
\"message\": \"ab\",
\"body\": \"ab\",
\"provider_template_id\": \"pzdszigdqrrkthqp\",
\"provider_template_language\": \"vviwahfxqnyifdnn\"
}"
const url = new URL(
"http://localhost:8000/api/notification-templates/preview"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"channel": "ipzdszigdqrrkthq",
"template_key": "pvviwahfxqnyifdn",
"locale": "ar_YE",
"subject": "zclnhfpvmsnpkynl",
"body_text": "ab",
"title": "pzdszigdqrrkthqp",
"message": "ab",
"body": "ab",
"provider_template_id": "pzdszigdqrrkthqp",
"provider_template_language": "vviwahfxqnyifdnn"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a notification template by ID
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/notification-templates/01JBQW8K7V2XZGHJK5MNPQRSTU" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/notification-templates/01JBQW8K7V2XZGHJK5MNPQRSTU"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"template": {
"id": "...",
"channel": "email",
"template_key": "order_shipped"
}
}
Example response (400, tenant missing):
{
"message": "Tenant context missing"
}
Example response (404, not found):
{
"message": "Template not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update content by creating a new version and optionally activating it.
requires authentication
For auditability, we do not mutate the prior version row.
Example request:
curl --request PUT \
"http://localhost:8000/api/notification-templates/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"is_active\": true,
\"subject\": \"ipzdszigdqrrkthq\",
\"body_text\": \"ab\",
\"body_html\": \"ab\",
\"title\": \"pzdszigdqrrkthqp\",
\"message\": \"ab\",
\"body\": \"ab\",
\"provider_template_id\": \"pzdszigdqrrkthqp\",
\"provider_template_language\": \"vviwahfxqnyifdnn\"
}"
const url = new URL(
"http://localhost:8000/api/notification-templates/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"is_active": true,
"subject": "ipzdszigdqrrkthq",
"body_text": "ab",
"body_html": "ab",
"title": "pzdszigdqrrkthqp",
"message": "ab",
"body": "ab",
"provider_template_id": "pzdszigdqrrkthqp",
"provider_template_language": "vviwahfxqnyifdnn"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Notifications - Web Push Subscriptions
POST api/web-push-subscriptions
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/web-push-subscriptions" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"endpoint\": \"ipzdszigdqrrkthq\",
\"p256dh\": \"pvviwahfxqnyifdn\",
\"auth\": \"nzclnhfpvmsnpkyn\"
}"
const url = new URL(
"http://localhost:8000/api/web-push-subscriptions"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"endpoint": "ipzdszigdqrrkthq",
"p256dh": "pvviwahfxqnyifdn",
"auth": "nzclnhfpvmsnpkyn"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
DELETE api/web-push-subscriptions/{id}
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/web-push-subscriptions/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/web-push-subscriptions/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Platform Signup
Self-serve workspace signup endpoints that run on Babylon platform hosts before a tenant exists.
Email verification is required before workspace details can be saved, and session-authenticated
steps use the X-Platform-Signup-Token header instead of tenant or user authentication.
Start platform signup
Create or refresh a self-serve signup session for a founding admin and send the verification email.
Example request:
curl --request POST \
"http://localhost:8000/api/platform/signup/start" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"founder_name\": \"Alex Founder\",
\"founder_email\": \"alex@example.com\",
\"password\": \"Secret123!\",
\"terms\": true,
\"utm_source\": \"homepage\",
\"utm_medium\": \"paid-social\",
\"utm_campaign\": \"q2-launch\",
\"utm_content\": \"hero-cta\",
\"referrer_url\": \"https:\\/\\/www.google.com\\/\",
\"password_confirmation\": \"Secret123!\"
}"
const url = new URL(
"http://localhost:8000/api/platform/signup/start"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"founder_name": "Alex Founder",
"founder_email": "alex@example.com",
"password": "Secret123!",
"terms": true,
"utm_source": "homepage",
"utm_medium": "paid-social",
"utm_campaign": "q2-launch",
"utm_content": "hero-cta",
"referrer_url": "https:\/\/www.google.com\/",
"password_confirmation": "Secret123!"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"session_id": "01JTAW0Y28F6VD9J9W7T7Z2Y5J",
"session_token": "plain-text-session-token",
"status": "email_pending",
"email_verification_required": true,
"expires_at": "2026-04-29T04:00:00+00:00"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Resend verification email
Refresh the verification token for an email-pending signup session and send a new email.
Example request:
curl --request POST \
"http://localhost:8000/api/platform/signup/verify-email/resend" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"session_id\": \"01JTAW0Y28F6VD9J9W7T7Z2Y5J\"
}"
const url = new URL(
"http://localhost:8000/api/platform/signup/verify-email/resend"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"session_id": "01JTAW0Y28F6VD9J9W7T7Z2Y5J"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (204, Verification resent):
Empty response
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"session_id": [
"This signup session is not waiting for email verification."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Confirm verification email
Confirm the email-verification token for a signup session and rotate the session token.
Example request:
curl --request POST \
"http://localhost:8000/api/platform/signup/verify-email/confirm" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"session_id\": \"01JTAW0Y28F6VD9J9W7T7Z2Y5J\",
\"token\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/platform/signup/verify-email/confirm"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"session_id": "01JTAW0Y28F6VD9J9W7T7Z2Y5J",
"token": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"session_id": "01JTAW0Y28F6VD9J9W7T7Z2Y5J",
"session_token": "rotated-session-token",
"status": "email_verified"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"token": [
"The verification link is invalid or has expired."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check workspace URL availability
Check whether a requested workspace slug is valid, already used by a tenant, or temporarily reserved.
Example request:
curl --request GET \
--get "http://localhost:8000/api/platform/signup/slug-availability?slug=acme-auctions" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/platform/signup/slug-availability"
);
const params = {
"slug": "acme-auctions",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"slug": "acme-auctions",
"available": true,
"reason": "available"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Save workspace details
Save marketplace details after email verification and reserve the requested workspace slug.
Send the session token in the X-Platform-Signup-Token header.
Example request:
curl --request PATCH \
"http://localhost:8000/api/platform/signup/ab" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"marketplace_name\": \"Acme Auction House\",
\"requested_slug\": \"acme-auctions\",
\"country_code\": \"GB\",
\"timezone\": \"Europe\\/London\",
\"currency\": \"GBP\",
\"use_case\": \"auctions\",
\"subscription_plan_id\": \"01JTAW3RWK6EN3BX3TBP1R9X2B\"
}"
const url = new URL(
"http://localhost:8000/api/platform/signup/ab"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"marketplace_name": "Acme Auction House",
"requested_slug": "acme-auctions",
"country_code": "GB",
"timezone": "Europe\/London",
"currency": "GBP",
"use_case": "auctions",
"subscription_plan_id": "01JTAW3RWK6EN3BX3TBP1R9X2B"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"session_id": "01JTAW0Y28F6VD9J9W7T7Z2Y5J",
"status": "details_complete",
"marketplace_name": "Acme Auction House",
"requested_slug": "acme-auctions",
"country_code": "GB",
"timezone": "Europe/London",
"currency": "GBP",
"use_case": "auctions",
"subscription_plan_id": "01JTAW3RWK6EN3BX3TBP1R9X2B"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Start tenant provisioning
Queue tenant provisioning for a verified signup session. Repeating the request after provisioning starts is safe.
Send the session token in the X-Platform-Signup-Token header.
Example request:
curl --request POST \
"http://localhost:8000/api/platform/signup/ab/provision" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/platform/signup/ab/provision"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (202):
{
"status": "provisioning"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"session": [
"Complete the required signup steps before provisioning."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Abandon signup session
Expire a tenantless signup session and release any held workspace slug so the founder can restart cleanly.
Send the session token in the X-Platform-Signup-Token header.
Example request:
curl --request POST \
"http://localhost:8000/api/platform/signup/ab/abandon" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/platform/signup/ab/abandon"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (204, Session abandoned):
Empty response
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"session": [
"This signup session can no longer be restarted automatically."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get provisioning status
Poll the current state of a self-serve signup session and receive admin/storefront URLs after provisioning.
Send the session token in the X-Platform-Signup-Token header.
Example request:
curl --request GET \
--get "http://localhost:8000/api/platform/signup/ab/status" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/platform/signup/ab/status"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"status": "provisioned",
"last_error_code": null,
"last_error_message": null,
"tenant": {
"id": "01JTAW6DMN8Q0R0C4FQ97HZF6P",
"name": "Acme Auction House",
"slug": "acme-auctions"
},
"urls": {
"admin_login_url": "https://admin.acme-auctions.babylon.host/admin/login?email=alex%40example.com",
"storefront_url": "https://acme-auctions.babylon.host/"
},
"poll_interval_ms": 2000
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Supply
Get supply scorecard
requires authentication
Returns a single data object including kpis, pipeline, work_queues, stage_performance, crm_workload, commission_forecast, and pipeline_target_gap. If start_date / end_date are omitted, the period defaults to approximately the last 30 days (see implementation).
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/scorecard?start_date=2026-03-01&end_date=2026-03-31" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"start_date\": \"2026-05-04T20:47:20\",
\"end_date\": \"2069-05-25\"
}"
const url = new URL(
"http://localhost:8000/api/supply/scorecard"
);
const params = {
"start_date": "2026-03-01",
"end_date": "2026-03-31",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"start_date": "2026-05-04T20:47:20",
"end_date": "2069-05-25"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, success):
{
"data": {
"tenant_id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"period_start": "2026-03-01T00:00:00+00:00",
"period_end": "2026-03-31T23:59:59+00:00",
"crm_workload": {
"open_next_actions_total": 0,
"open_next_actions_overdue": 0,
"open_next_actions_due_today": 0,
"completed_next_actions_this_week": 0
},
"commission_forecast": {
"items_count": 0,
"currency": "GBP"
},
"pipeline_target_gap": {
"target_configured": false,
"monthly_seller_commission_target_minor": null,
"base_forecast_seller_commission_minor": 0,
"gap_to_target_seller_commission_minor": null,
"percent_of_monthly_target": null,
"currency": "GBP"
}
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List condition reports
requires authentication
Paginated list for the current tenant, optionally filtered by status, consignment item, or intake shipment.
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/intake/condition-reports?limit=11&status=ab&consignment_item_id=ab&intake_shipment_id=ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"limit\": 16,
\"status\": \"completed\"
}"
const url = new URL(
"http://localhost:8000/api/supply/intake/condition-reports"
);
const params = {
"limit": "11",
"status": "ab",
"consignment_item_id": "ab",
"intake_shipment_id": "ab",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"limit": 16,
"status": "completed"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: f048ee72-d28e-4851-8a8b-5b5c14d64c8f
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a condition report
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/supply/intake/condition-reports" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"consignment_item_id\": \"ab\",
\"intake_shipment_id\": \"ab\",
\"media_ids\": [
\"ab\"
],
\"status\": \"ab\",
\"source_type\": \"pzdszigdqrrkthqp\",
\"source_ref\": \"vviwahfxqnyifdnn\",
\"external_owner_ref\": \"zclnhfpvmsnpkynl\",
\"provider_name\": \"nbgjdpzixzkhgmlx\",
\"summary\": \"ab\",
\"notes\": \"ab\",
\"grade\": \"ab\",
\"structured_fields\": [],
\"findings\": [],
\"attestation_type\": \"ab\",
\"attestation_ref\": \"ab\",
\"metadata\": []
}"
const url = new URL(
"http://localhost:8000/api/supply/intake/condition-reports"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"consignment_item_id": "ab",
"intake_shipment_id": "ab",
"media_ids": [
"ab"
],
"status": "ab",
"source_type": "pzdszigdqrrkthqp",
"source_ref": "vviwahfxqnyifdnn",
"external_owner_ref": "zclnhfpvmsnpkynl",
"provider_name": "nbgjdpzixzkhgmlx",
"summary": "ab",
"notes": "ab",
"grade": "ab",
"structured_fields": [],
"findings": [],
"attestation_type": "ab",
"attestation_ref": "ab",
"metadata": []
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, created):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "draft",
"notes": null,
"structured_fields": [],
"metadata": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a condition report
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/intake/condition-reports/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/intake/condition-reports/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: ecce41e3-5569-48c0-82c1-7bbf34eb3cde
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a condition report
requires authentication
When media_ids is present, the pivot is replaced with the given ordered set.
Example request:
curl --request PATCH \
"http://localhost:8000/api/supply/intake/condition-reports/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"media_ids\": [
\"ab\"
],
\"status\": \"attested\",
\"source_type\": \"pzdszigdqrrkthqp\",
\"source_ref\": \"vviwahfxqnyifdnn\",
\"external_owner_ref\": \"zclnhfpvmsnpkynl\",
\"provider_name\": \"nbgjdpzixzkhgmlx\",
\"summary\": \"fmavknkckbhgmqye\",
\"notes\": \"ab\",
\"grade\": \"aveihafwfciilryu\",
\"structured_fields\": [],
\"attestation_type\": \"bypsenryjduorkex\",
\"attestation_ref\": \"ffnsuubyteydjena\",
\"metadata\": []
}"
const url = new URL(
"http://localhost:8000/api/supply/intake/condition-reports/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"media_ids": [
"ab"
],
"status": "attested",
"source_type": "pzdszigdqrrkthqp",
"source_ref": "vviwahfxqnyifdnn",
"external_owner_ref": "zclnhfpvmsnpkynl",
"provider_name": "nbgjdpzixzkhgmlx",
"summary": "fmavknkckbhgmqye",
"notes": "ab",
"grade": "aveihafwfciilryu",
"structured_fields": [],
"attestation_type": "bypsenryjduorkex",
"attestation_ref": "ffnsuubyteydjena",
"metadata": []
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List next actions
requires authentication
Paginated list filtered by subject, status, owner, overdue, or due_today.
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/next-actions?subject_type=ab&status=ab&owner_user_id=ab&overdue=&due_today=&per_page=25" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"subject_type\": \"item\",
\"status\": \"cancelled\",
\"overdue\": false,
\"due_today\": true,
\"per_page\": 16
}"
const url = new URL(
"http://localhost:8000/api/supply/next-actions"
);
const params = {
"subject_type": "ab",
"status": "ab",
"owner_user_id": "ab",
"overdue": "0",
"due_today": "0",
"per_page": "25",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"subject_type": "item",
"status": "cancelled",
"overdue": false,
"due_today": true,
"per_page": 16
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 62854d60-3bc2-40cc-9efe-0f7a6ef69708
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a next action
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/supply/next-actions" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"subject_type\": \"ab\",
\"subject_id\": \"ab\",
\"action_type\": \"ab\",
\"owner_user_id\": \"ab\",
\"due_at\": \"ab\",
\"notes\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/supply/next-actions"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"subject_type": "ab",
"subject_id": "ab",
"action_type": "ab",
"owner_user_id": "ab",
"due_at": "ab",
"notes": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201, created):
{
"data": {
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"status": "open"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get a next action
requires authentication
Example request:
curl --request GET \
--get "http://localhost:8000/api/supply/next-actions/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/next-actions/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
x-request-id: 23840ebb-73cc-4e3c-bd96-78612ac2901b
{
"error": {
"code": "unknown_host",
"message": "Unknown host."
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update a next action
requires authentication
Example request:
curl --request PATCH \
"http://localhost:8000/api/supply/next-actions/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"action_type\": \"callback\",
\"due_at\": \"2026-05-04T20:47:20\",
\"notes\": \"ipzdszigdqrrkthq\",
\"status\": \"open\"
}"
const url = new URL(
"http://localhost:8000/api/supply/next-actions/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"action_type": "callback",
"due_at": "2026-05-04T20:47:20",
"notes": "ipzdszigdqrrkthq",
"status": "open"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Complete a next action
requires authentication
Marks the action completed (body fields optional for notes/metadata updates on complete).
Example request:
curl --request POST \
"http://localhost:8000/api/supply/next-actions/ab/complete" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"action_type\": \"other\",
\"due_at\": \"2026-05-04T20:47:20\",
\"notes\": \"ipzdszigdqrrkthq\",
\"status\": \"completed\"
}"
const url = new URL(
"http://localhost:8000/api/supply/next-actions/ab/complete"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"action_type": "other",
"due_at": "2026-05-04T20:47:20",
"notes": "ipzdszigdqrrkthq",
"status": "completed"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete a next action
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/supply/next-actions/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/supply/next-actions/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (204, deleted):
Empty response
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create listing draft from consignment item
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/supply/items/ab/listing-draft" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"title\": \"ab\",
\"description\": \"Est enim iusto corrupti sequi aut eum harum.\",
\"category_id\": \"ab\",
\"condition\": \"good\",
\"listing_type\": \"ab\",
\"starting_bid\": 29,
\"reserve_price\": 97,
\"buy_now_price\": 99,
\"fixed_price_amount\": 100,
\"quantity\": 70,
\"allow_offers\": true,
\"min_offer_percent\": 2,
\"auto_accept_percent\": 2,
\"estimate_low\": 52,
\"estimate_high\": 38,
\"bid_increment\": 95,
\"start_time\": \"2069-05-25\",
\"end_time\": \"2069-05-25\",
\"item_location\": \"dszigdqrrkthqpvv\",
\"shipping_cost\": 8,
\"is_local_pickup\": true,
\"is_international_shipping\": true,
\"currency\": \"wah\",
\"tax_status\": \"tax_exempt\",
\"custom_attributes\": [
\"ab\"
],
\"tags\": [
\"pzdszigdqrrkthqp\"
],
\"media_ids\": [
\"ab\"
],
\"price_display_mode\": \"minor_units\",
\"auctioneer_notes\": \"ab\"
}"
const url = new URL(
"http://localhost:8000/api/supply/items/ab/listing-draft"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "ab",
"description": "Est enim iusto corrupti sequi aut eum harum.",
"category_id": "ab",
"condition": "good",
"listing_type": "ab",
"starting_bid": 29,
"reserve_price": 97,
"buy_now_price": 99,
"fixed_price_amount": 100,
"quantity": 70,
"allow_offers": true,
"min_offer_percent": 2,
"auto_accept_percent": 2,
"estimate_low": 52,
"estimate_high": 38,
"bid_increment": 95,
"start_time": "2069-05-25",
"end_time": "2069-05-25",
"item_location": "dszigdqrrkthqpvv",
"shipping_cost": 8,
"is_local_pickup": true,
"is_international_shipping": true,
"currency": "wah",
"tax_status": "tax_exempt",
"custom_attributes": [
"ab"
],
"tags": [
"pzdszigdqrrkthqp"
],
"media_ids": [
"ab"
],
"price_display_mode": "minor_units",
"auctioneer_notes": "ab"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Watchlist
Get user's watchlist
requires authentication
Returns paginated list of listings in the user's watchlist.
Example request:
curl --request GET \
--get "http://localhost:8000/api/watchlist?page=1" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/watchlist"
);
const params = {
"page": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, success):
{
"data": [
{
"id": "01JBQW8K7V2XZGHJK5MNPQRSTU",
"title": "Vintage Camera",
"current_bid": 15000
}
],
"links": {},
"meta": {}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add listing to watchlist
requires authentication
Example request:
curl --request POST \
"http://localhost:8000/api/watchlist/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/watchlist/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (201, success):
{
"message": "Listing added to watchlist"
}
Example response (404, listing not found):
{
"message": "Listing not found"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Remove listing from watchlist
requires authentication
Example request:
curl --request DELETE \
"http://localhost:8000/api/watchlist/ab" \
--header "Authorization: Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8000/api/watchlist/ab"
);
const headers = {
"Authorization": "Bearer YOUR_API_KEY_OR_SANCTUM_TOKEN_HERE",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200, success):
{
"message": "Listing removed from watchlist"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.