Skip to main content
POST
Create an organization seal

Authorizations

Authorization
string
header
required

API key for authentication. Use your API key directly without any prefix (e.g., 'your-api-key'). Bearer prefix is optional but not required.

Body

application/json

Request body to create an organization seal.

name
string
required

Internal name for the seal

Maximum string length: 120
display_name
string
required

Display name rendered on the seal image

Maximum string length: 200
kind
enum<string>
required

How the seal image was created

Available options:
uploaded,
typed,
drawn
scope
enum<string>
required

Scope of the seal. Company-scope requires a protected API key.

Available options:
company,
workspace
statement
object
required

Attestation statement affirming authority to apply the seal.

signatory_title
string | null

Signatory title rendered on the seal image

Maximum string length: 200
workspace_id
string<uuid>

Required when scope is 'workspace'

image
string

Base64-encoded PNG data URI (data:image/png;base64,...). Required for 'uploaded' and 'drawn' kinds.

typed
object

Typed seal parameters. Required for 'typed' kind.

is_default
boolean
default:false

Set as default seal for this scope

Response

Seal created successfully

Organization seal metadata (image and statement internals are stripped from list/get responses).

id
string<uuid>
lineage_id
string<uuid>

Shared across versions of the same seal

version
integer
Required range: x >= 1
companies_id
string<uuid>
companies_workspaces_id
string<uuid> | null

Null for company-scope seals

name
string
Maximum string length: 120
display_name
string
Maximum string length: 200
signatory_title
string | null
Maximum string length: 200
kind
enum<string>
Available options:
uploaded,
typed,
drawn
is_default
enum<integer>

1 if this is the default seal for its scope

Available options:
0,
1
statement_language
string
statement_version
integer
Required range: x >= 1
signatory_name
string
Maximum string length: 200
signatory_title_attested
string | null
Maximum string length: 200
attested_at
string<date-time>
revoked_on
string<date-time> | null
created_at
string<date-time>
deleted
enum<integer>
Available options:
0,
1