Sividocs

Upload Fonts

Upload custom fonts to the authenticated workspace. Before calling this endpoint, you must first upload the font file using the Get Presigned URL flow. This is a queue-based API — it returns a requestId that can be used to check the status and retrieve results using the get-request-status API.

Endpoint

POST font/create

Authentication

Include your Enterprise API credentials in the request headers:

sivi-api-key: YOUR_API_KEY

Prerequisite: Upload Font File via Presigned URL

Before calling this endpoint, you must upload the font file to S3 using the presigned URL flow:

  1. Call Get Presigned URL with { "type": "font", "extension": "ttf", "contentType": "font/ttf" }
  2. Upload your .ttf file to the returned uploadUrl via HTTP PUT
  3. Use the uploadUrl as the uploadedURL parameter in this endpoint

Request Body Example

{
  "uploadedURL": "https://media.hellosivi.com/user-data/w_abc123/fonts/MyCustomFont.ttf?X-Amz-Algorithm=..."
}

Multiple Fonts Example

{
  "uploadedURL": [
    "https://media.hellosivi.com/user-data/w_abc123/fonts/FontOne.ttf?X-Amz-Algorithm=...",
    "https://media.hellosivi.com/user-data/w_abc123/fonts/FontTwo.ttf?X-Amz-Algorithm=..."
  ]
}

Request Parameters

ParameterTypeRequiredDescription
uploadedURLString/ArrayYesPresigned URL(s) returned by Get Presigned URL after uploading the font file(s). Can be a single URL string or an array of URLs

Response

The API returns a requestId that can be used to check the status and retrieve results:

{
  "status": 200,
  "body": {
    "requestId": "sbhMkIZKCPp"
  }
}

Checking Request Status

Use the get-request-status API with the requestId to check the status and get the 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 uploadedURL format"
  }
}

Server Error (500 Internal Server Error)

{
  "status": 500,
  "body": {
    "message": "Server internal error"
  }
}

Usage Notes

  • You must call Get Presigned URL with type: "font" and extension: "ttf" first, upload the font file to the presigned URL, then pass that presigned URL as uploadedURL here
  • The font ID is automatically extracted from the URL filename
  • You can upload multiple fonts in a single request by providing an array of URLs
  • After upload completes, the fonts will be available via Get Fonts with source: "user"