BRAINIAC.software API

License Renew

Read supported licensing requirements and calculate renewal plans and date-only deadline watches.

POSThttps://brainiac.software/api/v1/license/requirements$0.01 USDC

Read verified licence renewal requirements

Return source-linked rules only for supported Texas electrician and UK SIA licence types; unsupported jurisdictions remain explicitly unsupported.

Body

FieldRequiredNotes
jurisdictionYesstring
licenseTypeYesstring

Request exampleJSON

{
  "jurisdiction": "US-TX",
  "licenseType": "Journeyman Electrician"
}

Response exampleJSON

{
  "jurisdiction": "US-TX",
  "licenseType": "Journeyman Electrician",
  "coverage": "verified",
  "supported": true,
  "renewalCycle": "Annual",
  "ceHours": 4,
  "renewalFee": {
    "amount": 30,
    "currency": "USD"
  },
  "renewalWindowMonths": null,
  "checklist": [
    "Complete approved continuing education.",
    "Submit the TDLR renewal application."
  ],
  "sources": [
    {
      "url": "https://www.tdlr.texas.gov/electricians/renew/individuals/journeyman-electrician.htm",
      "retrievedAt": "2026-10-28"
    }
  ],
  "retrievedAt": "2026-10-28"
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/license/requirements" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "jurisdiction": "US-TX",
  "licenseType": "Journeyman Electrician"
}
JSON
POSThttps://brainiac.software/api/v1/license/renewal-plan$0.05 USDC

Build a sourced renewal plan

Calculate a renewal checklist and PDF from verified rules and caller-supplied expiry/CE data. Unsupported combinations remain unsupported.

Body

FieldRequiredNotes
jurisdictionYesstring
licenseTypeYesstring
expiresOnNostring; date
completedCeHoursYesnumber; Default: 0

Request exampleJSON

{
  "jurisdiction": "US-TX",
  "licenseType": "Journeyman Electrician",
  "expiresOn": "2027-01-31",
  "completedCeHours": 2
}

Response exampleJSON

{
  "status": "WARN",
  "supported": true,
  "jurisdiction": "US-TX",
  "licenseType": "Journeyman Electrician",
  "expiresOn": "2027-01-31",
  "daysUntilExpiry": 94,
  "startBy": null,
  "ceHoursRequired": 4,
  "ceHoursCompleted": 2,
  "ceHoursRemaining": 2,
  "renewalFee": {
    "amount": 30,
    "currency": "USD"
  },
  "checklist": [
    "Complete approved continuing education."
  ],
  "sources": [
    {
      "url": "https://www.tdlr.texas.gov/electricians/renew/individuals/journeyman-electrician.htm",
      "retrievedAt": "2026-10-28"
    }
  ],
  "retrievedAt": "2026-10-28",
  "pdfBase64": "<base64-encoded-pdf>"
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/license/renewal-plan" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "jurisdiction": "US-TX",
  "licenseType": "Journeyman Electrician",
  "expiresOn": "2027-01-31",
  "completedCeHours": 2
}
JSON
POSThttps://brainiac.software/api/v1/license/deadline-watch$0.01 USDC

Calculate licence reminder dates

Return reminder dates from a caller-supplied expiry date. This is data only; BRAINIAC.software does not send notifications.

Body

FieldRequiredNotes
expiresOnYesstring; date
remindDaysYesarray; Default: [90,30,7]; Array

Request exampleJSON

{
  "expiresOn": "2027-01-31",
  "remindDays": [
    90,
    30,
    7
  ]
}

Response exampleJSON

{
  "expiresOn": "2027-01-31",
  "reminders": [
    {
      "daysBefore": 90,
      "date": "2026-11-02"
    },
    {
      "daysBefore": 30,
      "date": "2027-01-01"
    }
  ],
  "delivery": "Reminder dates only; no notification is sent."
}

cURL

curl -i -X POST "https://brainiac.software/api/v1/license/deadline-watch" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "expiresOn": "2027-01-31",
  "remindDays": [
    90,
    30,
    7
  ]
}
JSON