Admin

Create an update (story)

Idempotent when externalKey is given: replaying the same key returns the existing update with created: false (200) instead of 201. Emits update.created on the stream.

post/v1/admin/updates

Request

  • Base URL: http://api.technooptimist.io
  • URL: http://api.technooptimist.io/v1/admin/updates
  • Auth: HTTP bearer

Headers

x-routine-namestring

Name of the routine making the write; recorded as routine:<name> in the audit log.

Example:news-scan

Request body

companystring required
programstring
headlinestring required
bodystring
pointsstring[]
kind'test' | 'hardware' | 'software' | 'manufacturing' | 'regulatory' | 'funding' | 'hiring' | 'commercial' | 'research' | 'partnership' | 'people' | 'other' required
importance'major' | 'minor' required
rankinteger
sourceType'x' | 'blog' | 'filing' | 'press' | 'livestream' | 'paper' | 'job' | 'regulator' | 'interview' | 'other' required
sourceUrlstring uri
alsoFrontiersstring[]
verifiedboolean
externalKeystring

Response

Already existed (same externalKey)

idstring uuid required
createdboolean required

false when an update with the same externalKey already existed (idempotent replay).

Example response

{
  "update": {
    "occurredAt": "2025-07-30T12:00:00.000Z",
    "company": {
      "slug": "helion"
    },
    "program": {
      "slug": "helion",
      "frontier": "helion",
      "path": "/robotics/figure-03"
    },
    "frontiers": [
      "helion"
    ],
    "createdAt": "2025-07-30T12:00:00.000Z"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.