v1.0API Reference

Strike-Age Developer API

This reference documents the actual endpoints currently exposed by the application. For third-party integrations, use the two public endpoints under /api/public/strike-age.

Base URL: https://strikeage.tukilabs.com

API Keys & Authentication

Both POST /calculate and GET /[candidateId] require a valid x-api-key. Missing or invalid keys return 401.

x-api-key: sa_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

For integrations, send x-api-key on every request. API keys are rate-limited per key.

GET snapshot security: with an API key, use the candidate's public publicId only (internal database ids are not accepted).

Docs demo key

For quick exploration, a low-rate demo key is prefilled in the Try It Console. It rotates daily and is restricted to sample data.

POST/api/public/strike-age/calculate

Calculate strike-adjusted employability age from date inputs.

Include one or more education records in the request body. The API uses the earliest admission date and latest graduation date. Legacy flat date fields are still accepted.

Request Body

{
  "dob": "2000-04-12",
  "education": [
    {
      "university": "Kenyatta University",
      "course": "Computer Science",
      "admissionDate": "2017-11-20",
      "graduationDate": "2021-10-15"
    },
    {
      "university": "Kenyatta University",
      "course": "MSc Data Science",
      "admissionDate": "2021-11-15",
      "graduationDate": "2023-10-15"
    }
  ]
}

cURL Example

curl -X POST "https://strikeage.tukilabs.com/api/public/strike-age/calculate" \
  -H "content-type: application/json" \
  -H "x-api-key: sa_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{"dob":"2000-04-12","education":[{"university":"Kenyatta University","course":"Computer Science","admissionDate":"2017-11-20","graduationDate":"2021-10-15"},{"university":"Kenyatta University","course":"MSc Data Science","admissionDate":"2021-11-15","graduationDate":"2023-10-15"}]}'

Response 200

{
  "actualAge": 26,
  "employabilityAge": 23,
  "strikeYears": 2.8,
  "strikeMonths": 10,
  "totalStrikeDays": 1021,
  "badgeEligible": true
}
GET/api/public/strike-age/[candidateId]

Retrieve a verification snapshot. API key requests must pass publicId as [candidateId].

Path Param

candidateId: string

cURL Example

curl "https://strikeage.tukilabs.com/api/public/strike-age/STRK6A" \
  -H "x-api-key: sa_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Response 200

{
  "candidateId": "STRK6A",
  "actualAge": 26,
  "employabilityAge": 23,
  "strikeYears": 2.8,
  "education": [
    {
      "university": "Kenyatta University",
      "course": "Computer Science",
      "admissionDate": "2017-11-20",
      "graduationDate": "2023-10-15"
    }
  ]
}

Errors & Rate Limits

400 Invalid payload
401 Invalid / missing auth
404 Candidate/key not found
429 Rate limit exceeded (returns limit and usage)