Skip to main content

3PLGuys Public API

Streamline your logistics and inventory management with our robust API solution.

The 3PLGuys Public API provides developers with seamless access to our warehouse management system, inventory tracking, and shipment services. Our RESTful endpoints make it easy to integrate your applications with our logistics infrastructure.

Inventory

Real-time stock levels and warehouse management

Shipments

FBA, SPD, and LTL shipping integrations

Webhooks

Real-time events and status updates

API Documentation Illustration
// Example API Request
fetch('https://api.3plguys.com/inventory/status', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'Content-Type': 'application/json'
  }
})
.then(response => response.json())
.then(data => console.log(data));
              

What You Can Build

Warehouse Management

Inventory Management

Track stock levels, manage products, and automate inventory operations.

Shipping Operations

Shipping Operations

Create shipping labels, track deliveries, and manage carrier integrations.

Customer Portal

Customer Portal

Build branded tracking interfaces and order management systems.

Authentication

JWT Authentication

The 3PLGuys API uses JWT (JSON Web Token) authentication. All API requests must include an Authorization header with a valid token.

Header Format

Authorization: Bearer <your-token>

Example Request

curl -X GET \
  https://api.3plguys.com/inventory/products \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
  -H 'Content-Type: application/json'

Obtaining an API Token

To get a JWT token, make a POST request to the authentication endpoint with your API credentials:

Authentication Endpoint

POST https://api.3plguys.com/auth/token

Request Body

{
  "client_id": "your_client_id",
  "client_secret": "your_client_secret"
}

Response

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600
}

Token Expiration

JWT tokens expire after 1 hour (3600 seconds). You'll need to request a new token when your current one expires.

Authentication Flow Diagram

Authentication Flow

  1. Client requests an access token using client credentials
  2. API validates credentials and returns a JWT token
  3. Client includes the token in subsequent API requests
  4. API verifies the token signature and expiration
  5. If valid, the API processes the request
  6. If invalid or expired, the API returns a 401 error
API Security

Security Best Practices

Always keep your client credentials secure and never expose them in client-side 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

The 3PLGuys API is documented using the OpenAPI Specification (formerly Swagger). Our API documentation is available in both JSON and YAML formats, and can be viewed using the Swagger UI or any OpenAPI-compatible tool.

OpenAPI Specification Files

3PLGuys API - OpenAPI 3.0 JSON
Download
3PLGuys API - OpenAPI 3.0 YAML
Download

Using Swagger UI

Swagger UI provides an interactive documentation interface for exploring and testing our API endpoints. You can use our hosted Swagger UI or import our OpenAPI specifications into your own tools.

Open Swagger UI

Alternative Tools

Our OpenAPI specifications can be imported into various API development tools:

  • Postman (Import as Collection)
  • Insomnia
  • Stoplight Studio
  • ReDoc
  • OpenAPI Generator (for client SDK generation)
Swagger UI Interface

Swagger UI Interface

Interactive API documentation

Example OpenAPI Specification

{
  "openapi": "3.0.0",
  "info": {
    "title": "3PLGuys API",
    "description": "API for inventory, shipment, and warehouse management",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.3plguys.com",
      "description": "Production"
    },
    {
      "url": "https://sandbox.3plguys.com",
      "description": "Sandbox"
    }
  ],
  "paths": {
    "/inventory/products": {
      "get": {
        "summary": "List products",
        "description": "Returns a paginated list of products",
        "responses": {
          "200": {
            "description": "A list of products",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Product"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
              
Developer documentation

Swagger-Generated SDKs

You can generate client libraries in various languages using our OpenAPI specification. This simplifies integration with our API.

API Reference

API Categories

Resources

Rate Limits

API requests are limited to 100 per minute per API key.

API Documentation

Inventory API

The Inventory API allows you to manage products, track inventory levels, and retrieve stock information across warehouses.

Products

Manage your product catalog and retrieve product information.

Inventory

Track stock levels and manage inventory across warehouses.

API Interface

Real-time Inventory Management

Our inventory API provides real-time updates across all warehouse locations, ensuring you always have accurate stock information for your operations.

View Example Implementation

Code Examples

# Get inventory levels
curl -X GET \
  https://api.3plguys.com/inventory/levels \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json'

# Create a shipment
curl -X POST \
  https://api.3plguys.com/shipments/create \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "recipient": {
      "name": "John Doe",
      "address1": "123 Main St",
      "city": "Anytown",
      "state": "CA",
      "zip": "90210",
      "country": "US"
    },
    "items": [
      {
        "product_id": "prod_12345",
        "quantity": 2
      }
    ],
    "shipping_method": "ground"
  }'

Changelog

Version History

Changelog documentation

Stay Updated

Subscribe to release notifications

Stay on the Latest Version

We recommend always using the most recent version for best performance and security.

Version 2.0.0

Latest

Released on July 15, 2023

Breaking Changes

Breaking Changes

  • Changed authentication method from API keys to JWT tokens
  • Updated inventory model structure with new required fields
  • Removed deprecated endpoints in shipping module

New Features

  • Added support for webhook event subscriptions
  • Implemented real-time inventory tracking capabilities
  • Added advanced search and filtering for all resources
  • New bulk operations for products and shipments

Improvements

  • Improved rate limiting with better error messages
  • Enhanced error handling and validation
  • Optimized performance for large dataset queries

Bug Fixes

  • Fixed pagination issues in listing endpoints
  • Resolved timezone inconsistencies in shipment tracking
  • Fixed validation errors in address formatting

Version 1.9.0

Released on May 2, 2023

New Features

  • Added support for multi-warehouse inventory management
  • Implemented new reporting endpoints for analytics

Improvements

  • Enhanced API response times for inventory queries
  • Added more detailed documentation for webhook events

Bug Fixes

  • Fixed inconsistent timestamps in shipping events
  • Resolved issues with product image URLs in responses

Version 1.8.0

Released on March 11, 2023

New Features

  • Added batch processing for shipment creation
  • Implemented enhanced tracking capabilities for international shipments

Improvements

  • Expanded rate shopping features across more carriers
  • Improved error messages for validation failures

Known Issues & Limitations

This page documents current limitations and known issues with the 3PLGuys Public API. Understanding these constraints will help you build more reliable integrations and avoid common pitfalls.

Authentication Error Screen

Rate Limits

Our API implements rate limiting to ensure fair usage and system stability. Exceeding these limits will result in 429 Too Many Requests responses.

Endpoint Category Rate Limit Window
Authentication 10 requests per minute
Inventory Queries 300 requests per minute
Shipment Creation 60 requests per minute
Webhook Management 30 requests per minute

Rate limit headers are included in all API responses:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1623435789

Best Practices

  • Implement exponential backoff for retries
  • Cache frequently accessed data
  • Use batch endpoints when available
Computer brain visualization

Payload Size

API requests and responses have size limits to ensure optimal performance. Exceeding these limits will result in 413 Payload Too Large errors.

Request Body 10 MB
Response Body 25 MB

For batch operations (e.g., inventory updates), we recommend:

  • Maximum 1,000 items per batch request
  • Breaking larger datasets into multiple requests
  • Using pagination for large data retrieval

Example: Handling Large Responses

When working with potentially large responses, always use pagination parameters:

GET /v1/inventory?limit=100&page=2
                                

Response Headers:

X-Pagination-Total: 1250
X-Pagination-Pages: 13
X-Pagination-Current: 2
X-Pagination-Limit: 100

Data Processing

Processing Delays

Some operations involve asynchronous processing. This means your request may return a 202 Accepted status while processing occurs in the background.

1

Bulk Inventory Updates

May take up to 5 minutes for large batches

2

FBA Shipment Creation

Typically processes within 2-3 minutes

3

Report Generation

Up to 10 minutes for comprehensive reports

Tracking Status

For asynchronous operations, you'll receive a task ID to check the status:

GET /v1/tasks/2b1c43d8-e762-4b96-9e61-e8fad6d31072
Pending
Processing
Completed
Failed

Important Note

Data synchronization between our system and external marketplaces (Amazon, Shopify, etc.) may take up to 30 minutes. Plan your integration accordingly and do not rely on immediate cross-platform consistency.

Backward Compatibility

Warning sign

We strive to maintain backward compatibility, but occasionally need to make breaking changes. Our versioning policy is as follows:

X

Major Version (X.y.z)

Breaking changes with 6-month migration period

Y

Minor Version (x.Y.z)

New features, backward compatible

Z

Patch Version (x.y.Z)

Bug fixes, no breaking changes

Current Deprecation Notices:
  • /v1/inventory/legacy-search will be removed on August 31, 2023. Use /v1/inventory/search instead.
  • The format parameter in shipment endpoints will be required starting October 15, 2023.

API Version Headers

You can pin your requests to a specific API version using the X-API-Version header:

GET /v1/inventory
X-API-Version: 2023-04-15

We recommend updating your integration regularly to use the latest available version.

Scheduled Maintenance

Maintenance Windows

We perform scheduled maintenance during low-traffic periods. During these windows, the API may experience brief periods of downtime or degraded performance.

Production API Sundays, 2:00-4:00 AM UTC
Sandbox API Wednesdays, 2:00-5:00 AM UTC

Maintenance Notifications

We provide advance notice of scheduled maintenance through multiple channels:

  • Email notifications (3 days prior)
  • Status page updates
  • API response headers (24 hours prior)
View Status Page
Team discussion

Need Technical Support?

If you encounter issues or have questions regarding API limitations, our technical support team is available to help.

Found a bug or issue?

Help us improve by reporting issues or requesting features

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
Report on GitHub
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

Recently Implemented Features

Batch Inventory Updates

Added in v1.3.0 — Allows for updating multiple inventory items in a single API call

Webhook Event Subscriptions

Added in v1.2.0 — Subscribe to specific event types rather than all webhooks

Support Ticket API

Added in v1.1.0 — Create and manage support tickets programmatically

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)

support@3plguys.com

Developer Community

Connect with other developers integrating with our API

community.3plguys.com

Premium Support

Available with Enterprise plans, includes dedicated support engineer

Learn more
Green beetle

Support Hours

Our support team is available during the following hours:

Standard Support

  • Monday - Friday 9:00 AM - 6:00 PM ET
  • Saturday 10:00 AM - 2:00 PM ET
  • Sunday Closed

Enterprise Support

  • Monday - Friday 24 hours
  • Saturday - Sunday 9:00 AM - 6:00 PM ET
  • Emergency Support 24/7

We value your feedback

Help us improve our documentation and API experience

Contact & Support

We're here to help you succeed with the 3PLGuys API. Choose the support option that best fits your needs, or check our documentation for answers to common questions.

Vintage telephone on wall

Email Support

Our technical support team is here to assist with API integration, troubleshooting, and answering your questions.

API Support

For questions related to API usage, bugs, or technical issues

support@3plguys.com

Account Support

For questions about your account, billing, or API access

accounts@3plguys.com

What to include in your email

  • Your company name and API client ID
  • Detailed description of your issue or question
  • Environment (Production/Sandbox)
  • Relevant API endpoints and request details
  • Screenshots or error messages if applicable

Contact Form

Mail icon

Community Support

Connect with other developers integrating with the 3PLGuys API. Share knowledge, ask questions, and learn from the experiences of others in our community.

Developer Forum

Ask questions and share insights with other API users

Visit Developer Forum

Discord Community

Chat in real-time with developers and support engineers

Join Discord Server

Community Guidelines

  • Be respectful and constructive in your communications
  • Do not share sensitive or private information publicly
  • Search for existing answers before posting new questions
  • Format code snippets properly for better readability
Contact

GitHub Repository

Check out our open-source tools, client libraries, and examples to help with your integration.

View on GitHub

Support Hours

Our support team is available during the following hours. For urgent issues outside these hours, Enterprise customers have access to 24/7 emergency support.

Standard Support Hours

Monday - Friday 9:00 AM - 6:00 PM ET
Saturday 10:00 AM - 2:00 PM ET
Sunday Closed
Current average response time: < 4 hours
Black laptop computer

Holiday Schedule

Our support team observes the following holidays, during which support hours may be limited or unavailable.

Q1

  • • New Year's Day (January 1)
  • • Martin Luther King Jr. Day
  • • Presidents' Day

Q2

  • • Memorial Day
  • • Juneteenth

Q3 & Q4

  • • Independence Day (July 4)
  • • Labor Day
  • • Thanksgiving Day
  • • Day after Thanksgiving
  • • Christmas Eve & Day
  • • New Year's Eve

Support Plans

Standard

Included with all API accounts

Free
  • Email support during business hours
  • Community forum access
  • Documentation & knowledge base
  • 48-hour response time
POPULAR

Premium

For growing businesses

$499/month
  • Everything in Standard
  • Priority email support
  • 8-hour response time
  • Phone support during business hours
  • Integration assistance

Enterprise

For high-volume customers

Custom
  • Everything in Premium
  • Dedicated support engineer
  • 24/7 emergency support
  • 1-hour response time for critical issues
  • Custom SLAs available
Plant on desk

Need custom support options?

Contact our sales team to discuss tailored support solutions for your business

Email Sales