---
title: "Give a date-only story its exact publish time"
method: PUT
path: "/v1/admin/updates/time"
tags: ["Admin"]
---

# Give a date-only story its exact publish time

`PUT /v1/admin/updates/time`

## Request

- Base URL: `http://api.technooptimist.io`
- URL: `http://api.technooptimist.io/v1/admin/updates/time`
- Auth: HTTP bearer

Sets the publisher's publish time (from the article page) on a story stored with only a date, by `id` or `externalKey`, so feeds say "1d 10h ago". The time must fall within 36 h of the story's date (409 otherwise); a story that already has a time is left as it is (`changed: false`).

## Headers

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

## Request body

- object
  - `id` string, uuid
  - `externalKey` string
  - `publishedAt` string, date-time, required

## Response `200`

Written (or already timed)

- object
  - `id` string, uuid, required
  - `changed` boolean, required

## Other responses

- `401`: Missing or invalid credentials
- `403`: Credential lacks the required scope
- `404`: Not found
- `409`: Conflict
- `422`: Validation failed

---

[API](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api.md) · [All operations](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api/llms.txt) · [OpenAPI document](https://skmtc.dev/technooptimist/apis/the-techno-optimist-api/revisions/b7bcde6a0f30?raw)
