Your First API Request
Prerequisites
Use an existing workspace and Project, a key with Project read access injected as TEAMMATELY_API_KEY, and curl. Copy the organization key and issued Project ID from Teammately; replace the placeholders below.
Configure the destination
export TEAMMATELY_ORGANIZATION='<organization-key>'
export TEAMMATELY_PROJECT='<issued-project-id>'
PROJECT_URL="https://api.teammately.ai/v1/organizations/${TEAMMATELY_ORGANIZATION}"
PROJECT_URL="${PROJECT_URL}/projects/${TEAMMATELY_PROJECT}"
export PROJECT_URL
Only nonsecret identifiers are configured here. Keep the API key out of URLs, source and shell history.
Send a read request
curl --fail-with-body \
--header "Authorization: Bearer ${TEAMMATELY_API_KEY}" \
"${PROJECT_URL}/cases?limit=1&offset=0"
The response has message and data.columns/data.rows. Empty rows can be a valid empty Project. Read a returned case_id through /cases/{caseId}; that detail response uses result.
Choose the next workflow
| Goal | Guide |
|---|---|
| Capture application behavior | Fieldloop or a language SDK |
| Import Cases | Case imports |
| Evaluate application outputs | External outputs |
| Execute a managed Harness | Managed execution |
Benchmark workflows also need the exact Benchmark and immutable Version:
export TEAMMATELY_BENCHMARK='<issued-benchmark-id>'
export TEAMMATELY_BENCHMARK_VERSION='<issued-benchmark-version-id>'
BENCHMARK_URL="${PROJECT_URL}/benchmarks/${TEAMMATELY_BENCHMARK}"
BENCHMARK_URL="${BENCHMARK_URL}/versions/${TEAMMATELY_BENCHMARK_VERSION}"
export BENCHMARK_URL
Success and common failures
This read changes no Case. Confirm the intended Project and parse its envelope. A Fieldloop-only key does not authorize a general Case read. For 401, inspect credential validity; for 403, inspect capability and restrictions; for 404, check resource scope.
