Batch create custom fonts

Register 1–25 custom fonts in a single request and get a presigned S3 URL for each one. This collapses the registration step for a whole font family (for example, Regular, Bold, Italic, and Bold Italic) into one rate-limited request. Registration is batched, but the binary uploads are not: the response contains one `upload` object per registered font, and you must POST each font binary to its own presigned S3 URL exactly as you would for [Create custom font](#operation/create-custom-font). The Webflow API server never receives the raw font bytes. The response is `200 OK` for a valid request body. Per-font results are reported in the `created` and `failed` arrays. If the site's font limit is reached partway through the batch, the fonts that still fit are registered and returned in `created`, while the rest appear in `failed` with `name: "FontLimitReached"` — valid fonts are never discarded because a later font in the same batch could not be registered. Each presigned URL expires approximately 15 minutes after issuance, so upload the binaries promptly. Required scope | `sites:write`

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

site_idstringRequiredformat: "objectid"
Unique identifier for a Site

Request

Request body for bulk-registering custom fonts

itemslist of objectsRequired

The custom fonts to register. Each item uses the same shape as the single-font create request.

Response

Request was successful. Check the created and failed arrays for per-item results.

createdlist of objects
Successfully registered fonts, each with its own presigned S3 upload details.
failedlist of objects
Requested fonts that could not be registered. Valid fonts elsewhere in the batch are still registered.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error