Skip to main content

Get Fonts

Retrieve a list of available fonts, with optional filtering by classification, name, and source.

Endpoint

POST font/get

Authentication

Include your Enterprise API credentials in the request headers:

sivi-api-key: YOUR_API_KEY

Request Body Example

{
"classification": ["sans-serif", "serif"],
"name": "Roboto",
"source": "system",
"limit": 20,
"cursor": null
}

Request Parameters

ParameterTypeRequiredDescription
classificationArrayNoFilter by font classification. Allowed values: serif, sans-serif, display, handwriting, monospace
nameStringNoFilter fonts by name (partial match)
sourceStringNoFilter by font source. Allowed values: system, user
limitNumberNoNumber of items to return (1-100)
cursorStringNoCursor for pagination
abstractUserIdStringNoUnique identifier for the user (Enterprise/Super API only)

Response

Success Response (200 OK)

{
"status": 200,
"body": {
"data": [
{
"id": "f_abc123",
"name": "Roboto",
"classification": "sans-serif"
}
],
"meta": {
"cursor": "691443e27209a0eab5771a1b"
}
}
}

Response Body Parameters

ParameterTypeDescription
dataArrayList of font objects
data[].idStringFont identifier
data[].nameStringFont name
data[].classificationStringFont classification
meta.cursorStringCursor for fetching the next page of results

Error Responses

Authentication Error (401 Unauthorized)

{
"status": 401,
"body": {
"message": "Failed to authenticate request. Please add sivi-api-key header in request"
}
}

Invalid Input (422 Unprocessable Entity)

{
"status": 422,
"body": {
"message": "Invalid input"
}
}

Server Error (500 Internal Server Error)

{
"status": 500,
"body": {
"message": "Failed to fetch fonts."
}
}

Usage Notes

  • Use classification to filter fonts by type (e.g., sans-serif for clean modern fonts, handwriting for script-style fonts)
  • The source parameter distinguishes between built-in system fonts and user-uploaded custom fonts
  • source: "system" returns Google Fonts available in Sivi (free, enabled fonts)
  • source: "user" returns fonts uploaded by the authenticated user
  • Results are paginated; use the returned cursor value in subsequent requests to fetch more results