Skip to navigation

API Access

View as Markdown

The QA.army API exposes documented Workspace, Project, Test, and Run operations under the same access rules as the app. Start with these public references:

Use the CLI guide for a terminal workflow that manages authentication without exposing bearer values. Use Coding Agents for a complete Test-authoring example.

Check the operation’s permissions

Authorization depends on both Workspace membership and credential capabilities. After its human claim is completed, a registered agent can discover authorized Workspaces and Projects, manage Test Groups, create and update saved Tests, and create, start, inspect, or cancel Runs. Workspace Owners can also read and update an existing connected GitHub deployment watch. These operations reuse the same claimed identity; they do not require a second API key.

The claim does not grant Test deletion, Test Account metadata or credentials, Live View, membership changes, billing, or integration consent. Provisional registration alone does not grant the claimed identity’s capabilities.

Supported user sessions and profile API keys permit additional operations. Test Account access and API-key management require a signed-in user session. Check the current OpenAPI security requirements for the operation before building an integration. Do not assume a successful login grants every capability.

Keep credentials in an approved credential store or secret manager. Never put them in Test text, URLs, source control, shared receipts, or agent prompts.

Preserve resource IDs and retry intent

Send an Idempotency-Key on mutations that require it. Reuse the same key and identical payload when retrying an uncertain response; use a new key for a deliberately new operation. A timeout does not establish whether a remote operation completed. Read the existing resource before requesting more work.

Test updates use the current version in If-Match. Reload and reconcile a version conflict instead of overwriting another editor’s work. List endpoints can return different collection and pagination shapes; use each operation’s schema and returned continuation fields rather than assuming the first response is a complete inventory.

Read the final result

Saving a Test does not run it. Creating a READY Run does not start it. A successful start request does not establish a passing Test. Follow the Run to its terminal status and preserve PASSED, FAILED, ERROR, or CANCELLED exactly. Access evidence through documented authorized operations; keep temporary evidence links private.

For access or validation errors, inspect the response’s code and title, fix the cause, and retry only when appropriate. See Results and Evidence for review guidance.