Skip to content

Add a font file (or a collection) to the library, asserting its rights

POST
/v1/fonts
curl --request POST \
--url 'https://example.com/v1/fonts?options=example' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: font/ttf' \
--data binary
options
required
string

JSON: { rights: { browser, backend, embed }, confirm: true } — the rights the uploader asserts.

A TrueType or OpenType font, or a collection.

string format: binary

The answer.

Media typeapplication/json
Array<object>
object
id
required
string
source
required
string
file
required
string
rights
required
object
browser
required
boolean
backend
required
boolean
embed
required
boolean
redistribute
required
boolean
licence
required
object
file
string
sha256
required
string
format
required
string
face
required
object
family
required
string
weight
required
integer
style
required
string
label
required
string
coverage
required
Array<Array<integer>>
instanceOf
object
font
required
string
instance
required
string
confirmedBy
string
confirmedAt
string
capped
Array
usedBy
Array

Example generated

[
{
"id": "example",
"source": "example",
"file": "example",
"rights": {
"browser": true,
"backend": true,
"embed": true,
"redistribute": true
},
"licence": {
"file": "example"
},
"sha256": "example",
"format": "example",
"face": {
"family": "example",
"weight": 1,
"style": "example"
},
"label": "example",
"coverage": [
[
1
]
],
"instanceOf": {
"font": "example",
"instance": "example"
},
"confirmedBy": "example",
"confirmedAt": "example",
"capped": [
"example"
],
"usedBy": [
"example"
]
}
]

No key, or not a valid one.

Media typeapplication/json
object
code
required
string
Allowed values: field-unknown field-missing field-not-text glyph-missing font-missing text-overflow max-below-start min-above-start frame-id-duplicate anchor-target-missing anchor-cycle dependency-failed word-broken image-missing image-unsupported frame-size-invalid image-empty frame-off-page component-unknown component-part-outside spot-unused slug-characters-missing image-low-resolution frame-hidden mask-image-svg mask-image-low-resolution stroke-thin stroke-pattern-too-long image-profile-unreadable image-cmyk-profile paper-colours-unreachable paper-image-unreachable font-no-embed image-no-size image-format blobs-unknown blob-kind profile-missing font-rights request-too-large not-found bad-request internal-error busy render-timeout unauthorized scope-missing tenant-unavailable admin-unauthorized admin-disabled tenant-exists values-invalid value-type value-too-long value-characters value-empty value-range template-filename-taken template-invalid font-not-embeddable font-in-use render-too-slow resources-unknown layout-errors preflight-failed api-unreachable queue-full idempotency-conflict job-finished job-abandoned signing-off link-invalid link-expired batch-queue-full batch-too-large records-invalid records-unreadable batch-finished rate-limited combine-too-large image-invalid schema font-rejected blob-rejected layout-failed package-rejected resource-rejected tracking-ignored font-in-kit kit-exists kit-invalid kit-in-use kit-item-in-use kit-item-missing
message
required
string
requestId
string

Example

{
"code": "field-unknown"
}

The key lacks the scope, or its tenant is suspended or deleted.

Media typeapplication/json
object
code
required
string
Allowed values: field-unknown field-missing field-not-text glyph-missing font-missing text-overflow max-below-start min-above-start frame-id-duplicate anchor-target-missing anchor-cycle dependency-failed word-broken image-missing image-unsupported frame-size-invalid image-empty frame-off-page component-unknown component-part-outside spot-unused slug-characters-missing image-low-resolution frame-hidden mask-image-svg mask-image-low-resolution stroke-thin stroke-pattern-too-long image-profile-unreadable image-cmyk-profile paper-colours-unreachable paper-image-unreachable font-no-embed image-no-size image-format blobs-unknown blob-kind profile-missing font-rights request-too-large not-found bad-request internal-error busy render-timeout unauthorized scope-missing tenant-unavailable admin-unauthorized admin-disabled tenant-exists values-invalid value-type value-too-long value-characters value-empty value-range template-filename-taken template-invalid font-not-embeddable font-in-use render-too-slow resources-unknown layout-errors preflight-failed api-unreachable queue-full idempotency-conflict job-finished job-abandoned signing-off link-invalid link-expired batch-queue-full batch-too-large records-invalid records-unreadable batch-finished rate-limited combine-too-large image-invalid schema font-rejected blob-rejected layout-failed package-rejected resource-rejected tracking-ignored font-in-kit kit-exists kit-invalid kit-in-use kit-item-in-use kit-item-missing
message
required
string
requestId
string

Example

{
"code": "field-unknown"
}