For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportDeel Home
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
  • Resources
    • Blog
    • Community
    • API spec
  • Get Started
    • Introduction
    • Quickstart
    • Sandbox
  • Essentials
    • Authentication
    • API versioning
    • OAuth 2.0
    • Rate Limits
    • Idempotency
    • Best Practices
  • Webhooks
    • Introduction
    • Quickstart
    • No Code
    • Events
    • Simulations
  • Partners
    • Introduction
    • Getting Started
    • Publishing to App Store
LogoLogo
SupportDeel Home
On this page
  • What is the Sandbox?
  • Sandbox vs Production
  • Pre-populated Sample Data
  • Sample Workers
  • Test Credentials
  • How Sandbox Differs from Production
  • Payments & Invoicing
  • Contract Signing
  • Webhooks
  • Background Checks & Verifications
  • Email Notifications
  • Testing Common Scenarios
  • Resetting Sandbox Data
  • Frequently Asked Questions
  • Next Steps
Get Started

Sandbox

Was this page helpful?
Previous

Authentication

Next
Built with

What is the Sandbox?

The Deel API Sandbox is a completely isolated testing environment that mirrors production functionality without affecting real data, triggering actual payments, or creating legal contracts. It’s pre-populated with sample data so you can start testing immediately.

  • Safe Testing: Test without real money, contracts, or legal implications.
  • Pre-populated Data: Use sample contracts, workers, and organizations right away.
  • Full API Access: Experiment with all production endpoints in a safe environment.
  • Isolated Environment: Keep test data and actions completely separate from production.

Sandbox vs Production

FeatureSandboxProduction
Base URLhttps://api-sandbox.demo.deel.com/rest/v2https://api.letsdeel.com/rest/v2
DataPre-populated sample dataReal business data
PaymentsSimulated (no real money moves)Real payments processed
ContractsTest contracts (not legally binding)Legal contracts created
Rate LimitsSame as productionSame as production
AuthenticationSeparate API keysSeparate API keys

Sandbox and Production use different API keys. Never use production keys in sandbox or vice versa.

Pre-populated Sample Data

Your sandbox comes with ready-to-use data for testing:

Sample Workers

The sandbox includes pre-created workers across different contract types:

Sample Employees (EOR)
  • John Smith - Full-time employee in United States

    • Contract ID: eor_123456
    • Status: Active
    • Salary: $85,000/year
  • Maria Garcia - Full-time employee in Spain

    • Contract ID: eor_789012
    • Status: Active
    • Salary: €45,000/year
  • Wei Chen - Full-time employee in Singapore

    • Contract ID: eor_345678
    • Status: Onboarding
    • Salary: SGD 72,000/year
Sample Contractors (IC)
  • Sarah Johnson - Hourly contractor in Canada

    • Contract ID: ic_111222
    • Status: Active
    • Rate: $95/hour
  • Ahmed Hassan - Fixed-price contractor in UAE

    • Contract ID: ic_333444
    • Status: Active
    • Project Rate: $5,000/milestone
  • Lisa Park - Pay-as-you-go contractor in South Korea

    • Contract ID: ic_555666
    • Status: Active
    • Rate: ₩120,000/hour
Sample Organizations
  • Acme Corporation (Main Org)

    • Org ID: org_main_001
    • Legal Entity: Acme Inc. (Delaware, USA)
    • 15 active workers
  • Acme EMEA (Child Org)

    • Org ID: org_emea_001
    • Parent: Acme Corporation
    • 8 active workers

Test Credentials

Use these test workers to simulate different scenarios:

1// Test user credentials for webhook testing
2{
3 "worker_id": "test_worker_001",
4 "email": "test.worker@deel-sandbox.com",
5 "status": "active"
6}
7
8// Test organization admin
9{
10 "admin_id": "test_admin_001",
11 "email": "admin@deel-sandbox.com",
12 "organization": "org_main_001"
13}

How Sandbox Differs from Production

Payments & Invoicing

  • Sandbox: All payments are simulated. Invoice status changes to “paid” without actual fund transfers
  • Production: Real money is transferred; payment failures are real

Contract Signing

  • Sandbox: E-signatures are simulated; documents are generated but not legally binding
  • Production: Real DocuSign/SignNow integration; legally binding contracts

Webhooks

  • Sandbox: Webhooks fire normally; test webhook events in isolated environment
  • Production: Webhooks trigger real business logic

Background Checks & Verifications

  • Sandbox: Always return success/approved status after 30 seconds
  • Production: Real third-party checks (Veriff, Sterling, etc.)

Email Notifications

  • Sandbox: Emails are not sent to workers; check via API only
  • Production: Real emails sent to workers and admins

Testing Common Scenarios

$# Create a new contractor agreement in sandbox
$curl -X POST "https://api-sandbox.demo.deel.com/rest/v2/contracts" \
> -H "Authorization: Bearer YOUR_SANDBOX_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "client_id": "org_main_001",
> "worker_email": "new.contractor@example.com",
> "job_title": "Backend Developer",
> "scope": "Software Development",
> "rate": 100,
> "rate_type": "hourly"
> }'

Resetting Sandbox Data

You can reset your sandbox environment to start fresh:

  1. Go to Developer Center → API Sandbox
  2. Click Reset Sandbox Data
  3. Confirm the reset

Resetting will delete all test data you’ve created and restore the original pre-populated sample data.

Frequently Asked Questions

Can I create unlimited test contracts in sandbox?

Yes! There are no limits on the number of test contracts, workers, or organizations you can create in sandbox. However, rate limits still apply to prevent abuse.

Do sandbox contracts expire?

No. Sandbox contracts remain active indefinitely unless you manually terminate them or reset your sandbox environment.

Can I test international payments in sandbox?

Yes. You can create contracts in any supported country and test multi-currency payments. All conversions use real exchange rates but no actual money moves.

How do I test webhook failures?

Use the webhook testing endpoint to simulate different webhook scenarios including failures, retries, and timeouts. See Webhook Simulation for details.

Can multiple developers share one sandbox?

Each sandbox is tied to one set of credentials. For team testing, either share the sandbox credentials securely or create multiple sandboxes (one per developer).

Does sandbox data persist?

Yes, your sandbox data persists until you manually reset it. Changes you make remain between sessions.

Next Steps

Authentication

Learn how to authenticate sandbox API requests

Webhooks

Learn more about webhooks

Sample Apps

Clone pre-built apps configured for sandbox

API Reference

Explore all available endpoints