---
title: "Return a signed /v1/og URL for the given card parameters (optional exp: Unix seconds), safe to publish in og:image"
method: POST
path: "/v1/og/sign"
---

# Return a signed /v1/og URL for the given card parameters (optional exp: Unix seconds), safe to publish in og:image

`POST /v1/og/sign`

## Request

- Base URL: `https://shotkiln.com`
- URL: `https://shotkiln.com/v1/og/sign`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

## Request body

- object
  - `title` string, required
  - `subtitle` string
  - `template` 'default' | 'gradient' | 'split'
  - `theme` 'light' | 'dark'
  - `accent` string
  - `site` string
  - `cache_ttl` integer
  - `exp` integer

## Response `200`

{ url, kid, watermark }

## Other responses

- `400`: Invalid parameter or blocked URL (code: invalid_parameter, invalid_url, url_blocked, blocked_url)
- `401`: Invalid or revoked API key

## Changes

- **2026-10-20** `8123a05b6719`: 2 info
  - the endpoint scheme security `ApiKeyHeader` was added to the API
  - the endpoint scheme security `Bearer` was added to the API

[Operation history](https://skmtc.dev/shotkiln/apis/shotkiln-api/changes/v1/og/sign/post.md)

---

[API](https://skmtc.dev/shotkiln/apis/shotkiln-api.md) · [All operations](https://skmtc.dev/shotkiln/apis/shotkiln-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shotkiln/apis/shotkiln-api/revisions/8123a05b6719?raw)
