Sandbox environment for API development

Before we commit to building our integration against the production API, we need to understand the availability and characteristics of any sandbox or test environment.

Specifically:

  1. Is there a dedicated sandbox environment with isolated data, or should we use a production account with test data?
  2. If a sandbox exists, does it mirror production API versions and behavior (e.g., rate limits, webhook delivery semantics)?
  3. Are there restrictions on data persistence or account longevity that would affect our CI/CD pipeline testing?
  4. Does the sandbox support the full OAuth flow, including refresh token rotation?

We are particularly concerned with the fidelity of webhook delivery and idempotency guarantees, as our integration depends on reliable event ordering for work order state transitions.

References to relevant documentation or RFC-style specifications would be appreciated.

Parents
  • Hey Omar — good questions, and yeah, this is one of those areas where the docs could be clearer.

    Short version: we don't have a separate sandbox environment with isolated infrastructure. What we recommend is creating a dedicated "test" account in production (e.g., yourcompany-sandbox) and using that for development. The API behavior is identical — same rate limits, same webhook semantics — but you're hitting production endpoints with non-production data.

    Some specifics on your points:

    • Rate limits: Same 100 req/min per token, including on test accounts. We don't have a "lax mode."
    • Webhook delivery: Identical to production. If you need to test failure/retry behavior, point your test endpoint at something that returns 500s intentionally.
    • Data persistence: No automatic cleanup. You're responsible for wiping or archiving test work orders if you care about clutter.
    • OAuth: Full flow supported, including refresh tokens. Test accounts can go through the same /oauth/token dance.

    For CI/CD, we've seen folks use environment-level isolation (separate FieldPulse account per branch) or just partition by naming convention within one account. YMMV on cost vs. hygiene there.

    One gotcha: webhook signatures use the same secret per app, so if you're running tests against a public tunnel like ngrok, rotate that secret afterward — it's easy to forget and leave a dev key in prod.

    Docs link: Using the FieldPulse API covers auth, and Setting Up Webhooks has the verification details.

    Let me know if you want to dig into the idempotency guarantees — that's a longer conversation.

Reply
  • Hey Omar — good questions, and yeah, this is one of those areas where the docs could be clearer.

    Short version: we don't have a separate sandbox environment with isolated infrastructure. What we recommend is creating a dedicated "test" account in production (e.g., yourcompany-sandbox) and using that for development. The API behavior is identical — same rate limits, same webhook semantics — but you're hitting production endpoints with non-production data.

    Some specifics on your points:

    • Rate limits: Same 100 req/min per token, including on test accounts. We don't have a "lax mode."
    • Webhook delivery: Identical to production. If you need to test failure/retry behavior, point your test endpoint at something that returns 500s intentionally.
    • Data persistence: No automatic cleanup. You're responsible for wiping or archiving test work orders if you care about clutter.
    • OAuth: Full flow supported, including refresh tokens. Test accounts can go through the same /oauth/token dance.

    For CI/CD, we've seen folks use environment-level isolation (separate FieldPulse account per branch) or just partition by naming convention within one account. YMMV on cost vs. hygiene there.

    One gotcha: webhook signatures use the same secret per app, so if you're running tests against a public tunnel like ngrok, rotate that secret afterward — it's easy to forget and leave a dev key in prod.

    Docs link: Using the FieldPulse API covers auth, and Setting Up Webhooks has the verification details.

    Let me know if you want to dig into the idempotency guarantees — that's a longer conversation.

Children
No Data