---
title: "Register a system custom font (staff only)."
method: POST
path: "/internal_api/system_fonts/upload"
tags: ["custom_font"]
---

# Register a system custom font (staff only).

`POST /internal_api/system_fonts/upload`

## Request

- Base URL: `https://api.bluente.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.bluente.com/internal_api/system_fonts/upload`
- Auth: none declared
- TypeScript: <https://skmtc.dev/bluente/apis/bluente-api/docs/internal_api/system_fonts/upload/post.ts> (a function with typed inputs; its response is checked against the schema)

Upload a zip of one font family as a Bluente system font, applied to every customer below their own fonts.

## Request body `application/x-www-form-urlencoded`

- object
  - `file` string, binary, required: zip of font files
  - `languages` string, required: comma-separated declared language codes, e.g. en,fr
  - `uploaded_by` string, required: staff user uuid (licensing audit trail)
  - `family_name` string: register under this family name instead of the font's own
  - `match_names` string: comma-separated original font names this family stands in for on the native PDF route, e.g. Calibri,Calibri Light

## Response `200`

OK

- object
  - `code` integer: 0=success，only parse data when code=0
  - `data` object: real data
    - `family_name` string
    - `glyph_warnings` string[]
    - `languages_covered` string[]
    - `match_names` string[]: MatchNames is set on a system upload only (staff route).
    - `skipped_files` InternalCustomfontSkippedFile[]
      - `name` string
      - `reason` string
    - `styles_found` string[]
    - `styles_synthesized` string[]
    - `uuid` string
  - `message` string: tip message

## Changes

- **2026-10-28** `429a9223fc3e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bluente/apis/bluente-api/changes/internal_api/system_fonts/upload/post.md)

---

[API](https://skmtc.dev/bluente/apis/bluente-api.md) - [All operations](https://skmtc.dev/bluente/apis/bluente-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bluente/apis/bluente-api/revisions/429a9223fc3e?raw)
