Skip to main content
What you’ll learn
  • How to generate a Project PAT with the public-api scope
  • How to make an authenticated request with curl, Node.js, and Python
  • How to verify your setup before calling data endpoints
The TestDino Public API uses Project PATs (personal access tokens) for authentication. Every request sends the token as a Bearer header. This quickstart walks through generating a token, verifying it, and calling your first data endpoint.

Prerequisites

  • A TestDino account with at least one project (sign up)
  • Admin access on the project where you’ll generate the token

Steps

1

Generate a Project PAT

  • Open your project in TestDino
  • Go to Project Settings → API Keys tab
  • In Keys & Tokens, click + New → Access Token
  • Name it, select the public-api scope, set an expiration, and click Create Token
The tdp_ token is auto-copied — save it, shown only once.Full workflow: Generate API keys.
2

Get ProjectID

  • Open the project in the TestDino App
  • Copy the project_... segment from the URL
Eg: .../projects/project_69e1bb123.../test-runs
TipFor CI/CD or automation, export TESTDINO_API_TOKEN and TESTDINO_PROJECT_ID as env vars — keep the token as a secret.
3

Verify the token

Call /token-info to confirm the token is valid and scoped correctly:
curl "https://api.testdino.com/api/public/v1/$TESTDINO_PROJECT_ID/token-info" \
  -H "Authorization: Bearer $TESTDINO_API_TOKEN"
A 200 OK response with success: true confirms the setup is working.
4

Call a data endpoint

List the 5 most recent test runs:
curl "https://api.testdino.com/api/public/v1/$TESTDINO_PROJECT_ID/test-runs?limit=5" \
  -H "Authorization: Bearer $TESTDINO_API_TOKEN"

Troubleshooting

The token is missing, malformed, expired, or revoked. Check:
  • Header is Authorization: Bearer tdp_... (case-sensitive, single space)
  • The token starts with tdp_ (Project PAT, not a user token)
  • The token hasn’t been rotated or revoked in Project Settings
The token is valid but doesn’t belong to the projectId in the URL. Project PATs are scoped to one project — use the PAT that matches.
You’ve hit the 100 requests/minute per-token limit. Wait for the RateLimit-Reset timestamp in the response headers, or implement exponential backoff. See Rate limits.