---
title: "POST /orgs/{org_id}/content/sign"
method: POST
path: "/orgs/{org_id}/content/sign"
tags: ["content"]
---

# POST /orgs/{org_id}/content/sign

`POST /orgs/{org_id}/content/sign`

Refresh a signed URL for stored content.

## Path parameters

- `org_id` string, required

## Request body

- SignContentRequest — Request to mint a fresh CDN URL for a stored content object.
  - `url` string, required — A content URL previously returned by the API (signed or unsigned), or a bare object key. The server resolves it back to a known object it owns, re-checks your access, and mints a fresh URL — useful when a cached signed URL has expired and you want a new one without re-fetching the whole parent resource.

## Response `200`

Freshly-signed content URL

- SignContentResponse — A freshly-minted CDN URL pair for a stored content object.
  - `signed_url` string, nullable — CloudFront signed URL for private content. Omitted when the object is public or signing is unavailable.
  - `url` string, required — Legacy unsigned CDN URL. Populated for backwards compatibility; prefer `signed_url` when present.

## Other responses

- `400` — Malformed request body
- `403` — Forbidden

## Changes

- **2026-07-03** `e1c81d0f4235` — 1 info
  - endpoint added
- **2026-03-16** `eb2c08128881` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/timbal-ai/apis/timbal-platform-api/changes/orgs/:org_id/content/sign/post.md)

---

[API](https://skmtc.dev/timbal-ai/apis/timbal-platform-api.md) · [All operations](https://skmtc.dev/timbal-ai/apis/timbal-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/timbal-ai/timbal-platform-api/revisions/dd7e398ce0d3/schema)
