# State Machines documentation Use the Markdown pages below for complete instructions. Never print credentials. Follow the user's requested scope; do not create or delete environments without that task requiring it. - [What is State Machines?](/get-started/overview.md): Disposable environments of replica apps for integration tests and agents. - [Make your first app request](/get-started/quickstart.md): Create a Salesforce environment, read its limits, and delete the environment with the TypeScript SDK. - [Resources and how they relate](/get-started/concepts.md): How organizations, workspaces, apps, actors, environments, and snapshots relate to one another. - [Run an environment in the dashboard](/get-started/dashboard.md): Select a workspace, create an environment, hand it to an agent, and inspect the result. - [Give an agent a disposable environment](/get-started/agents.md): Give an agent instructions, credentials, and a bounded create, connect, verify, and cleanup procedure. - [Create the apps your task needs](/environments/create.md): Choose apps, assign names, and configure a disposable environment. - [Pause, resume, and delete environments](/environments/lifecycle.md): Pause, resume, and delete an environment, and read its status, time limit, and lifecycle timestamps. - [Credentials and actors](/environments/credentials.md): Authenticate native app requests without sending your State Machines API key to the app. - [Workspaces, members, and API keys](/environments/access.md): Understand organization membership, workspace scope, and the permissions that separate management from app access. - [Requests and audit events](/environments/observability.md): Interpret recorded app traffic, body coverage, statistics, and audit events. - [Handle credentials and recorded data](/environments/security.md): Choose scoped credentials, protect agent handoffs, and account for copies of app data. - [Save prepared data in a snapshot](/snapshots/create.md): Save all apps in a running environment as reusable starting data. - [Start tests from the same snapshot](/snapshots/reuse.md): Create independent environments from saved data and manage the fixture lifecycle. - [Salesforce API reference](/apps/salesforce.md): Supported protocols, authentication, app settings, and compatibility boundaries for the Salesforce replica. - [Discover schema and work with records](/apps/salesforce-records.md): Inspect actor-visible objects and fields, create related records, and choose a composite request. - [Query records with SOQL](/apps/salesforce-query.md): Run SOQL queries, follow result pages, and inspect deleted records under the chosen actor. - [Import and query data with Bulk API 2.0](/apps/salesforce-bulk.md): Upload CSV fixtures, inspect row results, and retrieve paginated query exports. - [Salesforce known differences](/apps/known-differences.md): Compatibility boundaries and recorded gaps that affect assertions against the Salesforce replica. - [Upgrade from SDK 0.5 to 0.6](/sdk-api/upgrading.md): Install 0.6, rename the changed calls and error codes, and confirm one complete task. - [Keep test environments isolated](/sdk-api/testing.md): Own creation and deletion in one awaited helper and assert native app behavior. - [Recover interrupted management operations](/sdk-api/recovery.md): Use idempotency keys, explicit waits, and resource IDs when a call has an uncertain outcome. - [Read every page of a list](/sdk-api/pagination.md): Traverse management API lists with opaque cursors and consistent filters. - [Use the SDK in Cloudflare Workers](/sdk-api/workers.md): Pass credentials explicitly and give environment operations an owner that can await cleanup. - [Define an environment in YAML](/sdk-api/yaml.md): Parse a readable environment definition with the same create fields and validation errors. - [TypeScript SDK reference](/sdk-api/client.md): Constructor options, workspace scope, public operations, and environment helpers. - [SDK error reference](/sdk-api/errors.md): Public error classes, retry boundaries, cancellation, and management error codes. - [Management API reference](/sdk-api/management-api.md): HTTP authentication, lifecycle responses, idempotency, and the error format without the TypeScript SDK. - [Management endpoint reference](/sdk-api/endpoints.md): Routes, parameters, request schemas, and responses generated from the public API contract. - [Diagnose authentication and access errors](/troubleshooting/access.md): Separate a missing key, insufficient permissions, workspace scope, and app actor access. - [Diagnose environment startup failures](/troubleshooting/startup.md): Read the resource state and failure before retrying creation, resume, or a wait. - [Diagnose failed app requests](/troubleshooting/requests.md): Distinguish State Machines gateway failures, native app errors, and incomplete request records. - [Find missing or unexpected data](/troubleshooting/data.md): Check environment identity, snapshot selection, app names, actors, and write results.