Documentation Index
Fetch the complete documentation index at: https://docs.sibipro.com/llms.txt
Use this file to discover all available pages before exploring further.
The SIBI public REST API exposes resources for Offers, Products, and Order Cancellation. You can use any HTTP client to make requests. The examples below use curl & fetch.
Endpoint
The REST API is available at: https://api.sibipro.com
Resources are exposed under the following base paths:
/offers — manage offers (see the Offers reference)
/products — look up product details (see the Products reference)
/orders — request order cancellation (see the Order Cancellation reference)
Authentication
The SIBI public API uses API keys to authenticate requests. You can create an API key in the SIBI developer dashboard. The API expects the key to be included in all requests in the Authorization header, prefixed by Bearer.
curl \
--request GET \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
https://api.sibipro.com/offers
# => {"data": [...]}
const response = await fetch('https://api.sibipro.com/offers', {
method: 'GET',
headers: { Authorization: `Bearer ${yourApiKey}` },
});
const offers = await response.json();
console.log(JSON.stringify(offers, null, 2));
Making a Request
REST endpoints follow standard HTTP conventions. Use GET to read a resource and POST to create or trigger an action. Request bodies are sent as JSON with Content-Type: application/json.
Reading a resource
curl \
--request GET \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
https://api.sibipro.com/products/<SKU>
const response = await fetch(`https://api.sibipro.com/products/${sku}`, {
method: 'GET',
headers: { Authorization: `Bearer ${yourApiKey}` },
});
const product = await response.json();
Sending data
curl \
--request POST \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{"reason": "Customer requested a cancellation"}' \
https://api.sibipro.com/orders/<ORDER_ID>/cancel
const response = await fetch(`https://api.sibipro.com/orders/${orderId}/cancel`, {
method: 'POST',
headers: {
Authorization: `Bearer ${yourApiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ reason: 'Customer requested a cancellation' }),
});
const result = await response.json();
Responses
Successful responses return JSON. For example, a cancellation request returns:
{
"cancellationStatus": "pending",
"cancellationReason": "Customer requested a cancellation",
"requestedAt": "2024-01-20T12:00:00Z"
}
Errors
Errors are returned with a standard HTTP status code (4xx for client errors, 5xx for server errors) and a JSON body describing the failure:
{
"code": "VALIDATION_ERROR",
"message": "Invalid input parameters",
"details": [{ "field": "reason", "error": "Required" }]
}
For full schema details and the complete list of endpoints, see the per-resource references in the navigation.