API Overview
The Better Data SCM API provides programmatic access to forecasting, inventory, transfers, alerts, and catalog management. All APIs are tenant-scoped and require authentication.Base URL
All API requests should be made to:API Groups
The API is organized into logical groups:Forecasting API
Forecast scenarios, events, accuracy metrics, and channel projections
Inventory API
Inventory levels, analytics, channel-location ATP, and cycle counts
Transfers API
Transfer recommendations, approval, and execution
Alerts API
Alert configuration, history, and triggering
Catalog API
Products, categories, attributes, and taxonomies
Authentication
All API requests require authentication. See Authentication for details. Quick Start:- Obtain an API key from Admin → Integrations → API Keys
- Include the API key in the
Authorizationheader: - Ensure your API key has the required permissions for the endpoints you’re using
Request Format
Headers
All requests must include:Request Body
POST and PUT requests should include a JSON body:Response Format
Success Response
Successful responses return a JSON body with the requested data:Error Response
Error responses include an error message and details:HTTP Status Codes
200 OK: Request successful201 Created: Resource created successfully400 Bad Request: Invalid request parameters401 Unauthorized: Authentication required or invalid403 Forbidden: Insufficient permissions404 Not Found: Resource not found409 Conflict: Resource conflict (e.g., duplicate)500 Internal Server Error: Server error
Rate Limits
API requests are rate-limited to prevent abuse. See Rate Limits for details. Default Limits:- 100 requests per minute per API key
- 1000 requests per hour per API key
X-RateLimit-Limit: Maximum requests allowedX-RateLimit-Remaining: Remaining requests in current windowX-RateLimit-Reset: Time when rate limit resets
Pagination
List endpoints support pagination: Query Parameters:page: Page number (default: 1)limit: Items per page (default: 20, max: 100)
Filtering and Sorting
Many list endpoints support filtering and sorting: Filtering:- Use query parameters to filter results
- Example:
?status=ACTIVE&locationId=loc_123
- Use
sortByandsortOrderquery parameters - Example:
?sortBy=createdAt&sortOrder=desc
Common Errors
See Common Errors for detailed error handling guidance. Common Error Codes:UNAUTHORIZED: Authentication requiredFORBIDDEN: Insufficient permissionsVALIDATION_ERROR: Invalid request parametersNOT_FOUND: Resource not foundCONFLICT: Resource conflict
Beta Endpoints
Some endpoints are marked as Beta and may change without notice. Beta endpoints are indicated with a warning callout in their documentation.Getting Started
- Get an API Key: Create an API key in Admin → Integrations → API Keys
- Read Authentication Guide: See Authentication
- Explore API Groups: Browse the API groups above
- Try Example Requests: Each API group includes example requests
API Versioning
The API is currently at version 1.0. Future versions will be indicated in the URL path (e.g.,/api/v2/...).
Support
For API support:- Email: support@betterdata.co
- Documentation: This documentation site
- Issues: Report issues through your organization’s support channel