Skip to main content

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.

Inventory

Query stock by product or carton, filtered by date or warehouse.

OAuth2

Secure access with authorization code and refresh token flow.

Schema-first

Validated OpenAPI 3.0 specification with response typing.

API Example
// 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 Apps

Inventory Dashboards

Pull carton/product stock breakdowns and visualize real-time inventory state.

Shipping Automation

Fulfillment Systems

Build FBA-ready interfaces or automate outbound shipment generation.

Custom Portals

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..."
Authentication Flow Diagram

OAuth Flow Summary

  1. User is redirected to login page with app details
  2. User approves access for the app
  3. API redirects user back with authorization code
  4. Client exchanges code for access and refresh tokens
  5. Tokens are included in `Authorization` headers
  6. API validates tokens and grants access to resources
API Security

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
Rate limits apply

Sandbox

For development and testing purposes.

https://sandbox.3plguys.com
Mock data available

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
API Environment Diagram

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 Map

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.

OpenAPI Specification Files

OpenAPI 3.0 – JSON
Download
OpenAPI 3.0 – YAML
Download

Interactive Swagger UI

You can browse and test endpoints live via the Swagger UI hosted at:

Open Swagger UI

Use with Other Tools

Import the spec into tools like:

  • Postman (Import OpenAPI URL)
  • Insomnia
  • Stoplight Studio
  • ReDoc
  • Swagger Codegen / OpenAPI Generator

GitHub Resources

Swagger UI

Swagger UI Interface

Test endpoints directly in the browser

API Reference

API Categories

Resources

Rate Limits

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.

POST
/oauth/token

Obtain an access token using client credentials

GET
/oauth/authorize

Begin OAuth2 authorization flow

Authentication

Secure API Access

All requests to protected endpoints require a valid bearer token. Use the OAuth2 token endpoints to authenticate and maintain session continuity.

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
GitHub issues interface

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
Shapes and patterns

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.

Support Channels

Email Support

Response within 24 hours (business days)

info@3plguys.com

Github Issues

Connect with other developers integrating with our API

Github Page

Premium Support

If you require premium support and dedicated engineer please contact us.

Learn more
Green beetle