TechDash Customer API

Customer API for integrations (Zapier, Make, custom scripts). Authenticate with a Bearer token; use team_id as a query or body parameter for team-scoped endpoints.

Authentication: Send your API token in the Authorization header as Bearer {token}. Create tokens from Account → API tokens (team owners only). You cannot use the API without a valid token.

Team-scoped endpoints: Endpoints that list or modify team resources (websites, checks, alerts, team users) require team_id. Send it as a query parameter (e.g. ?team_id=2001) or in the request body for POST/PATCH. You must be a member of that team.

Request format: All requests and responses are JSON. Send Content-Type: application/json and Accept: application/json.

API requests are rate limited. If you exceed the limit you will receive 429 Too Many Requests. Respect the Retry-After header when present.

Non-2xx responses use a consistent JSON shape: message (string) and optionally errors (object for validation). Common codes: 401 Unauthenticated, 403 Forbidden, 404 Not found, 422 Validation failed, 429 Rate limited.

  1. Create a token in Account → API tokens. 2. Call GET /api/me with Authorization: Bearer YOUR_TOKEN. 3. Call GET /api/team?team_id=YOUR_TEAM_ID. 4. Call GET /api/websites?team_id=YOUR_TEAM_ID.

Profile

GET https://techdash.com/api/me

Get current user

Get current user.

Response fields

FieldTypeDescription
idinteger
namestring
created_atstring
updated_atstring

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "id": 1,
    "name": "Jane Doe",
    "created_at": "2024-01-15T10:00:00.000000Z",
    "updated_at": "2024-01-15T10:00:00.000000Z"
}

Code snippets

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/me"
GET https://techdash.com/api/team

Get team profile

Get team profile.

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Response fields

FieldTypeDescription
idinteger
namestring
created_atstring
updated_atstring
member_countinteger

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "id": 1,
    "name": "Acme Team",
    "created_at": "2024-01-15T10:00:00.000000Z",
    "updated_at": "2024-01-15T10:00:00.000000Z",
    "member_count": 3
}

Code snippets

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/team?team_id=1"

Websites

GET https://techdash.com/api/websites

List websites

List websites.

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Body parameters

NameTypeRequiredDescription
namestringNostring
brand_keywordsstringNostring
uptime_expect_stringstringNostring
use_dedicated_proxystringNostring

Response fields

FieldTypeDescription
dataarray

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "data": [
        {
            "id": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
            "name": "Example Website",
            "url": "https://example.com",
            "hostname": "example.com",
            "is_active": true,
            "created_at": "2024-01-15T10:00:00.000000Z",
            "updated_at": "2024-01-15T10:00:00.000000Z"
        }
    ]
}

Code snippets

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/websites?team_id=1"
GET https://techdash.com/api/websites/{website}

Show one website

Show one website.

URL parameters

NameTypeDescription
websitestringURL parameter

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Body parameters

NameTypeRequiredDescription
namestringNostring
brand_keywordsstringNostring
uptime_expect_stringstringNostring
use_dedicated_proxystringNostring

Response fields

FieldTypeDescription
idstring
namestring
urlstring
hostnamestring
descriptionmixed
is_activeboolean
uptime_expect_stringmixed
created_atstring
updated_atstring

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "id": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
    "name": "Example Website",
    "url": "https://example.com",
    "hostname": "example.com",
    "description": null,
    "is_active": true,
    "uptime_expect_string": null,
    "created_at": "2024-01-15T10:00:00.000000Z",
    "updated_at": "2024-01-15T10:00:00.000000Z"
}

Code snippets

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/websites/{website}?team_id=1"
PUT PATCH https://techdash.com/api/websites/{website}

Update website

Update website.

URL parameters

NameTypeDescription
websitestringURL parameter

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Body parameters

NameTypeRequiredDescription
namestringNostring
brand_keywordsstringNostring
uptime_expect_stringstringNostring
use_dedicated_proxystringNostring

Response fields

FieldTypeDescription
idstring
namestring
urlstring
hostnamestring
descriptionmixed
is_activeboolean
uptime_expect_stringmixed
created_atstring
updated_atstring

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "id": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
    "name": "Example Website",
    "url": "https://example.com",
    "hostname": "example.com",
    "description": null,
    "is_active": true,
    "uptime_expect_string": null,
    "created_at": "2024-01-15T10:00:00.000000Z",
    "updated_at": "2024-01-15T10:00:00.000000Z"
}

Code snippets

curl -X PUT \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{\"name\":null,\"brand_keywords\":null,\"uptime_expect_string\":null,\"use_dedicated_proxy\":null}' \
  "https://techdash.com/api/websites/{website}?team_id=1"

Teams

GET https://techdash.com/api/teams/{team}/users

List team users

List team users.

URL parameters

NameTypeDescription
teamstringURL parameter

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Body parameters

NameTypeRequiredDescription
emailstringNostring

Response fields

FieldTypeDescription
dataarray

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "data": [
        {
            "id": 1,
            "name": "Jane Doe",
            "created_at": "2024-01-15T10:00:00.000000Z",
            "updated_at": "2024-01-15T10:00:00.000000Z"
        }
    ]
}

Code snippets

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/teams/{team}/users?team_id=1"
POST https://techdash.com/api/teams/{team}/users

Invite user to team

Invite user to team.

URL parameters

NameTypeDescription
teamstringURL parameter

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Body parameters

NameTypeRequiredDescription
emailstringNostring

Response fields

FieldTypeDescription
messagestring

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "message": "Invitation sent to [email protected]."
}

Code snippets

curl -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{\"email\":null}' \
  "https://techdash.com/api/teams/{team}/users?team_id=1"
DELETE https://techdash.com/api/teams/{team}/users/{user}

Remove user from team

Remove user from team.

URL parameters

NameTypeDescription
teamstringURL parameter
userstringURL parameter

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Response fields

FieldTypeDescription
idmixedResource ID
messagestringHuman-readable message

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Code snippets

curl -X DELETE \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/teams/{team}/users/{user}?team_id=1"

Checks

GET https://techdash.com/api/websites/{website}/checks

List website checks

List website checks.

URL parameters

NameTypeDescription
websitestringURL parameter

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Response fields

FieldTypeDescription
dataarray

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "data": []
}

Code snippets

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/websites/{website}/checks?team_id=1"
POST https://techdash.com/api/websites/{website}/checks/{check}/enable

Enable check for website

Enable check for website.

URL parameters

NameTypeDescription
websitestringURL parameter
checkstringURL parameter

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Response fields

FieldTypeDescription
dataarray

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "data": []
}

Code snippets

curl -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/websites/{website}/checks/{check}/enable?team_id=1"
POST https://techdash.com/api/websites/{website}/checks/{check}/disable

Disable check for website

Disable check for website.

URL parameters

NameTypeDescription
websitestringURL parameter
checkstringURL parameter

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Response fields

FieldTypeDescription
dataarray

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "data": []
}

Code snippets

curl -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/websites/{website}/checks/{check}/disable?team_id=1"

Alerts

GET https://techdash.com/api/websites/{website}/alerts

List website alerts

List website alerts.

URL parameters

NameTypeDescription
websitestringURL parameter

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Response fields

FieldTypeDescription
dataarray

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "data": []
}

Code snippets

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/websites/{website}/alerts?team_id=1"
GET https://techdash.com/api/websites/{website}/alert-logs

List alert logs

List alert logs.

URL parameters

NameTypeDescription
websitestringURL parameter

Query parameters

NameTypeRequiredDescription
team_idintegerYesTeam ID (required for team-scoped endpoints). Use a team you belong to.

Response fields

FieldTypeDescription
dataarray

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "data": []
}

Code snippets

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/websites/{website}/alert-logs?team_id=1"

API

GET https://techdash.com/api/tokens

List API tokens

List API tokens.

Body parameters

NameTypeRequiredDescription
namestringNostring
team_idstringNostring

Response fields

FieldTypeDescription
dataarray

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "data": [
        {
            "id": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
            "name": "My token",
            "created_at": "2024-01-15T10:00:00.000000Z",
            "last_used_at": "2024-01-16T12:00:00.000000Z"
        }
    ]
}

Code snippets

curl -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/tokens"
POST https://techdash.com/api/tokens

Create API token

Create API token.

Body parameters

NameTypeRequiredDescription
namestringNostring
team_idstringNostring

Response fields

FieldTypeDescription
messagestring
tokenstring
idstring

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Example response

{
    "message": "Token created. Store the token securely; it will not be shown again.",
    "token": "1|abc123example",
    "id": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
}

Code snippets

curl -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{\"name\":null,\"team_id\":null}' \
  "https://techdash.com/api/tokens"
DELETE https://techdash.com/api/tokens/{token}

Revoke API token

Revoke API token.

URL parameters

NameTypeDescription
tokenstringURL parameter

Response fields

FieldTypeDescription
idmixedResource ID
messagestringHuman-readable message

Possible errors

  • 401 Unauthenticated (missing or invalid token)
  • 403 Forbidden (no access to resource)
  • 404 Not found
  • 422 Validation failed
  • 429 Rate limited

Code snippets

curl -X DELETE \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  "https://techdash.com/api/tokens/{token}"