3PLGuys API
3PLGuys Public API
A powerful, RESTful API for accessing real-time logistics, inventory, and warehouse operations.
Built on OAuth2 and OpenAPI 3.0, the 3PLGuys API enables developers to securely integrate with warehouse inventory, shipping workflows, and carton-level product breakdowns. Ideal for building portals, automating logistics, or syncing with ERP platforms.
Query stock by product or carton, filtered by date or warehouse.
Secure access with authorization code and refresh token flow.
Validated OpenAPI 3.0 specification with response typing.
// Get warehouse data fetch('https://api.3plguys.com/v0/warehouses?take=5', { method: 'GET', headers: { 'Authorization': 'Bearer YOUR_TOKEN' } }) .then(res => res.json()) .then(console.log);
What You Can Build
Inventory Dashboards
Pull carton/product stock breakdowns and visualize real-time inventory state.
Fulfillment Systems
Build FBA-ready interfaces or automate outbound shipment generation.
Custom Client Portals
Expose selected API endpoints in your branded portal using OAuth2 user scopes.
Authentication
OAuth 2.0 Authorization Code Flow
To access the 3PLGuys Public API, applications must use OAuth2 to obtain a bearer token via the authorization code flow. Users are redirected to the 3PLGuys login page to grant permission to third-party apps.
Step 1: Authorize
GET https://account.3plguys.com/auth/app-authorize ?response_type=code &client_id=your_client_id &redirect_uri=https://yourapp.com/callback &scope=inventory shipments &state=xyz
Step 2: Exchange Code for Token
POST https://api.3plguys.com/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=authorization_code &code=abc123 &client_id=your_client_id &client_secret=your_client_secret &redirect_uri=https://yourapp.com/callback
Response
{ "access_token": "eyJhbGciOi...", "token_type": "Bearer", "expires_in": 3600, "refresh_token": "def456", "scope": "inventory shipments" }
Step 3: Refresh Token
POST https://api.3plguys.com/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=refresh_token &refresh_token=def456 &client_id=your_client_id &client_secret=your_client_secret
Token Usage
Include the Authorization
header with all requests:
Header Format
Authorization: Bearer <access_token>
Example API Request
curl -X GET https://api.3plguys.com/v0/inventory/products/breakdown -H "Authorization: Bearer eyJhbGciOi..."
OAuth Flow Summary
- User is redirected to login page with app details
- User approves access for the app
- API redirects user back with authorization code
- Client exchanges code for access and refresh tokens
- Tokens are included in `Authorization` headers
- API validates tokens and grants access to resources
Security Best Practices
Keep your client credentials secure and never expose tokens in frontend code.
Environments
The 3PLGuys API is available in two environments to support your development workflow. Use the sandbox environment for testing and development, and the production environment for live integrations.
Production
For live applications with real data.
https://api.3plguys.com
Sandbox
For development and testing purposes.
https://sandbox.3plguys.com
Environment Variables
We recommend using environment variables to manage your API endpoints and credentials based on your application environment.
Example Configuration
// .env.development API_URL=https://sandbox.3plguys.com API_CLIENT_ID=your_sandbox_client_id API_CLIENT_SECRET=your_sandbox_client_secret // .env.production API_URL=https://api.3plguys.com API_CLIENT_ID=your_production_client_id API_CLIENT_SECRET=your_production_client_secret
Environment Differences
| Feature | Sandbox | Production |
|---|---|---|
| Data | Mock data | Real data |
| Rate Limits | 1000 requests/hour | Varies by plan |
| Webhooks | Test events available | Real-time events |
| Authentication | Separate credentials | Production credentials |
| Data Reset | Weekly | Never |
Environment Selection
Always use the sandbox environment for initial development and testing. Switch to production only when your integration is fully tested and ready for production traffic.
Swagger / OpenAPI
The 3PLGuys API is documented using the OpenAPI 3.0 Specification. You can access the API docs via Swagger UI or download the spec in JSON or YAML format. These definitions can be used with any OpenAPI-compatible tool.
Interactive Swagger UI
You can browse and test endpoints live via the Swagger UI hosted at:
Open Swagger UIUse with Other Tools
Import the spec into tools like:
- Postman (Import OpenAPI URL)
- Insomnia
- Stoplight Studio
- ReDoc
- Swagger Codegen / OpenAPI Generator
GitHub Resources
- GitHub Organization – github.com/3plguys
- Public API Repository – github.com/3plguys/api
- Changelog, issues, spec updates, and documentation are all maintained there.
Swagger UI Interface
Test endpoints directly in the browser
API Reference
API Categories
Resources
API requests are limited to 100 per minute per API key.
API Documentation
Authentication API
The Authentication API allows clients to securely obtain and refresh access tokens using OAuth2 flows, enabling protected access to all API endpoints.
OAuth2
Standard OAuth2 authentication with client credentials grant type.
Access Tokens
Short-lived tokens for API access.
Refresh Tokens
Optional tokens for long-term access refresh.
/oauth/token
Obtain an access token using client credentials
/oauth/authorize
Begin OAuth2 authorization flow
Secure API Access
All requests to protected endpoints require a valid bearer token. Use the OAuth2 token endpoints to authenticate and maintain session continuity.
Support
Report a Bug or Request a Feature
Our API is constantly evolving based on your feedback. If you encounter an issue or have an idea for improvement, please let us know through our GitHub issue tracker.
Report a Bug
If you've encountered an issue with the 3PLGuys API, please report it through our GitHub issue tracker. Providing detailed information helps us resolve issues faster.
When reporting a bug, please include:
- API endpoint URL that's causing the issue
- Request method (GET, POST, PUT, DELETE)
- Request headers and body (remove sensitive data)
- Response status code and body
- Environment (Production or Sandbox)
- Steps to reproduce the issue
Common Issues
Authentication Errors
Check token expiration and ensure you're using the correct token format in the Authorization header.
Rate Limiting
Implement proper backoff strategies and monitor the rate limit headers in API responses.
Validation Errors
Review input parameters against the API reference and check response body for detailed error messages.
Webhook Delivery
Ensure your webhook endpoint is publicly accessible and responds with a 200 status code.
Request a Feature
Have an idea to improve our API? We'd love to hear it! Submit feature requests through our GitHub issues tracker to help us prioritize future development.
When requesting a feature, please include:
- Clear description of the feature
- Use case and business value
- Proposed API endpoint structure (if applicable)
- Expected input/output examples
- Any alternatives you've considered
Contact Support
Need additional help? Our technical support team is available to assist with integration challenges, account issues, or general questions about the 3PLGuys API.