Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: SudoMock Fonts API
description: 'Product mockup API. Render PSD templates, turn product photos into reusable mockups, create still images and videos, personalize text with fonts, and manage asynchronous jobs and signed webhooks.
Every endpoint answers failures with the same envelope, so the status codes, the error_code values and the retry rule are documented once at https://sudomock.com/docs/errors rather than repeated per operation.'
version: 1.0.0
servers:
- url: https://api.sudomock.com
description: Production
tags:
- name: Fonts
description: Upload and manage the fonts available to text layers.
paths:
/api/v1/fonts:
get:
tags:
- Fonts
summary: Retrieve a list of fonts
description: 'List available fonts for text layers: the shared system catalog plus your own uploaded fonts. Supports search, category filtering, and pagination.'
operationId: list_fonts_api_v1_fonts_get
parameters:
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
description: Page number (1-based)
default: 1
description: Page number (1-based)
- name: per_page
in: query
required: false
schema:
type: integer
maximum: 100
minimum: 1
description: Results per page (1-100)
default: 50
description: Results per page (1-100)
- name: category
in: query
required: false
schema:
type: string
description: 'Filter by category: SANS_SERIF, SERIF, DISPLAY, HANDWRITING or MONOSPACE. Case does not matter and a hyphen works in place of the underscore, so ''sans-serif'' finds SANS_SERIF.'
description: 'Filter by category: SANS_SERIF, SERIF, DISPLAY, HANDWRITING or MONOSPACE. Case does not matter and a hyphen works in place of the underscore, so ''sans-serif'' finds SANS_SERIF.'
- name: search
in: query
required: false
schema:
type: string
description: Filter by family name (case-insensitive contains)
description: Filter by family name (case-insensitive contains)
- name: scope
in: query
required: false
schema:
type: string
pattern: ^(all|system|custom)$
description: 'Which fonts to return: ''all'' (system + yours), ''system'', or ''custom'' (yours only)'
default: all
description: 'Which fonts to return: ''all'' (system + yours), ''system'', or ''custom'' (yours only)'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/FontListResponse'
security:
- ApiKeyAuth: []
x-codeSamples:
- lang: Node.js
source: "const response = await fetch(\"https://api.sudomock.com/api/v1/fonts\", {\n method: \"GET\",\n headers: { \"x-api-key\": \"sm_your_api_key\" },\n});\n\nconst data = await response.json();\nconsole.log(data);"
- lang: PHP
source: "<?php\n\n$ch = curl_init(\"https://api.sudomock.com/api/v1/fonts\");\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"GET\");\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n \"x-api-key: sm_your_api_key\",\n]);\n\n$response = curl_exec($ch);\ncurl_close($ch);\n\necho $response;"
- lang: Python
source: "import requests\n\nresponse = requests.get(\n \"https://api.sudomock.com/api/v1/fonts\",\n headers={\"x-api-key\": \"sm_your_api_key\"},\n)\n\nresponse.raise_for_status()\nprint(response.json())"
- lang: Ruby
source: "require \"net/http\"\nrequire \"uri\"\n\nuri = URI(\"https://api.sudomock.com/api/v1/fonts\")\nrequest = Net::HTTP::Get.new(uri)\nrequest[\"x-api-key\"] = \"sm_your_api_key\"\n\nresponse = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|\n http.request(request)\nend\n\nputs response.body"
- lang: Go
source: "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc main() {\n\treq, err := http.NewRequest(\"GET\", \"https://api.sudomock.com/api/v1/fonts\", nil)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"x-api-key\", \"sm_your_api_key\")\n\n\tres, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer res.Body.Close()\n\n\tbody, _ := io.ReadAll(res.Body)\n\tfmt.Println(string(body))\n}"
- lang: Java
source: "import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\n\nHttpRequest request = HttpRequest.newBuilder()\n .uri(URI.create(\"https://api.sudomock.com/api/v1/fonts\"))\n .header(\"x-api-key\", \"sm_your_api_key\")\n .GET()\n .build();\n\nHttpResponse<String> response = HttpClient.newHttpClient()\n .send(request, HttpResponse.BodyHandlers.ofString());\n\nSystem.out.println(response.body());"
- lang: .NET
source: 'using System.Net.Http;
using System.Text;
var request = new HttpRequestMessage(HttpMethod.Get, "https://api.sudomock.com/api/v1/fonts");
request.Headers.Add("x-api-key", "sm_your_api_key");
var client = new HttpClient();
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());'
- lang: cURL
source: "curl -X GET \"https://api.sudomock.com/api/v1/fonts\" \\\n -H \"x-api-key: sm_your_api_key\""
post:
tags:
- Fonts
summary: Create a new font
description: Upload a custom TTF or OTF font (Pro plan and above). Send either a multipart 'file' or a JSON body with a public 'url'. The font is validated and security-checked before it is stored.
operationId: upload_font_api_v1_fonts_post
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/FontResponse'
x-mint:
metadata:
sidebarTitle: Upload custom font
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
- license_confirmed
properties:
file:
type: string
format: binary
license_confirmed:
type: boolean
application/json:
schema:
description: 'JSON body for POST /api/v1/fonts when uploading a font by URL. The
alternative is a multipart ''file'' upload. Send one or the other.'
example:
license_confirmed: true
url: https://example.com/fonts/MyBrand-Bold.ttf
properties:
url:
description: Public URL of a TTF or OTF font file to fetch
maxLength: 2048
minLength: 1
title: Url
type: string
license_confirmed:
default: false
description: Confirmation that you have the right to use and embed this font. Required.
title: License Confirmed
type: boolean
required:
- url
title: FontUploadRequest
type: object
security:
- ApiKeyAuth: []
x-codeSamples:
- lang: Node.js
source: "const response = await fetch(\"https://api.sudomock.com/api/v1/fonts\", {\n method: \"POST\",\n headers: {\n \"x-api-key\": \"sm_your_api_key\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n \"license_confirmed\": true,\n \"url\": \"https://example.com/fonts/MyBrand-Bold.ttf\"\n }),\n});\n\nconst data = await response.json();\nconsole.log(data);"
- lang: PHP
source: "<?php\n\n$payload = <<<'JSON'\n{\n \"license_confirmed\": true,\n \"url\": \"https://example.com/fonts/MyBrand-Bold.ttf\"\n}\nJSON;\n\n$ch = curl_init(\"https://api.sudomock.com/api/v1/fonts\");\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"POST\");\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n \"x-api-key: sm_your_api_key\",\n \"Content-Type: application/json\",\n]);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, $payload);\n\n$response = curl_exec($ch);\ncurl_close($ch);\n\necho $response;"
- lang: Python
source: "import requests\n\npayload = {'license_confirmed': True,\n 'url': 'https://example.com/fonts/MyBrand-Bold.ttf'}\n\nresponse = requests.post(\n \"https://api.sudomock.com/api/v1/fonts\",\n headers={\"x-api-key\": \"sm_your_api_key\"},\n json=payload,\n)\n\nresponse.raise_for_status()\nprint(response.json())"
- lang: Ruby
source: "require \"net/http\"\nrequire \"uri\"\n\nuri = URI(\"https://api.sudomock.com/api/v1/fonts\")\nrequest = Net::HTTP::Post.new(uri)\nrequest[\"x-api-key\"] = \"sm_your_api_key\"\nrequest[\"Content-Type\"] = \"application/json\"\n\nrequest.body = <<~JSON\n {\n \"license_confirmed\": true,\n \"url\": \"https://example.com/fonts/MyBrand-Bold.ttf\"\n }\nJSON\n\nresponse = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|\n http.request(request)\nend\n\nputs response.body"
- lang: Go
source: "package main\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc main() {\n\tpayload := []byte(`{\n \"license_confirmed\": true,\n \"url\": \"https://example.com/fonts/MyBrand-Bold.ttf\"\n}`)\n\n\treq, err := http.NewRequest(\"POST\", \"https://api.sudomock.com/api/v1/fonts\", bytes.NewBuffer(payload))\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"x-api-key\", \"sm_your_api_key\")\n\treq.Header.Set(\"Content-Type\", \"application/json\")\n\n\tres, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer res.Body.Close()\n\n\tbody, _ := io.ReadAll(res.Body)\n\tfmt.Println(string(body))\n}"
- lang: Java
source: "import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\n\nString payload = \"\"\"\n{\n \"license_confirmed\": true,\n \"url\": \"https://example.com/fonts/MyBrand-Bold.ttf\"\n}\n\"\"\";\n\nHttpRequest request = HttpRequest.newBuilder()\n .uri(URI.create(\"https://api.sudomock.com/api/v1/fonts\"))\n .header(\"x-api-key\", \"sm_your_api_key\")\n .header(\"Content-Type\", \"application/json\")\n .POST(HttpRequest.BodyPublishers.ofString(payload))\n .build();\n\nHttpResponse<String> response = HttpClient.newHttpClient()\n .send(request, HttpResponse.BodyHandlers.ofString());\n\nSystem.out.println(response.body());"
- lang: .NET
source: "using System.Net.Http;\nusing System.Text;\n\nvar payload = \"\"\"\n{\n \"license_confirmed\": true,\n \"url\": \"https://example.com/fonts/MyBrand-Bold.ttf\"\n}\n\"\"\";\n\nvar request = new HttpRequestMessage(HttpMethod.Post, \"https://api.sudomock.com/api/v1/fonts\");\nrequest.Headers.Add(\"x-api-key\", \"sm_your_api_key\");\nrequest.Content = new StringContent(payload, Encoding.UTF8, \"application/json\");\n\nvar client = new HttpClient();\nvar response = await client.SendAsync(request);\n\nConsole.WriteLine(await response.Content.ReadAsStringAsync());"
- lang: cURL
source: "curl -X POST \"https://api.sudomock.com/api/v1/fonts\" \\\n -H \"x-api-key: sm_your_api_key\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"license_confirmed\": true,\n \"url\": \"https://example.com/fonts/MyBrand-Bold.ttf\"\n }'"
/api/v1/fonts/{uuid}:
get:
tags:
- Fonts
summary: Retrieve a single font
description: 'Fetch a single font by id: a system font, or one of your own uploads.'
operationId: get_font_api_v1_fonts__uuid__get
parameters:
- name: uuid
in: path
required: true
schema:
type: string
description: Font id
description: Font id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/FontResponse'
x-mint:
metadata:
sidebarTitle: Get font
security:
- ApiKeyAuth: []
x-codeSamples:
- lang: Node.js
source: "const response = await fetch(\"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\", {\n method: \"GET\",\n headers: { \"x-api-key\": \"sm_your_api_key\" },\n});\n\nconst data = await response.json();\nconsole.log(data);"
- lang: PHP
source: "<?php\n\n$ch = curl_init(\"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\");\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"GET\");\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n \"x-api-key: sm_your_api_key\",\n]);\n\n$response = curl_exec($ch);\ncurl_close($ch);\n\necho $response;"
- lang: Python
source: "import requests\n\nresponse = requests.get(\n \"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n headers={\"x-api-key\": \"sm_your_api_key\"},\n)\n\nresponse.raise_for_status()\nprint(response.json())"
- lang: Ruby
source: "require \"net/http\"\nrequire \"uri\"\n\nuri = URI(\"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\")\nrequest = Net::HTTP::Get.new(uri)\nrequest[\"x-api-key\"] = \"sm_your_api_key\"\n\nresponse = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|\n http.request(request)\nend\n\nputs response.body"
- lang: Go
source: "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc main() {\n\treq, err := http.NewRequest(\"GET\", \"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\", nil)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"x-api-key\", \"sm_your_api_key\")\n\n\tres, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer res.Body.Close()\n\n\tbody, _ := io.ReadAll(res.Body)\n\tfmt.Println(string(body))\n}"
- lang: Java
source: "import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\n\nHttpRequest request = HttpRequest.newBuilder()\n .uri(URI.create(\"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\"))\n .header(\"x-api-key\", \"sm_your_api_key\")\n .GET()\n .build();\n\nHttpResponse<String> response = HttpClient.newHttpClient()\n .send(request, HttpResponse.BodyHandlers.ofString());\n\nSystem.out.println(response.body());"
- lang: .NET
source: 'using System.Net.Http;
using System.Text;
var request = new HttpRequestMessage(HttpMethod.Get, "https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6");
request.Headers.Add("x-api-key", "sm_your_api_key");
var client = new HttpClient();
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());'
- lang: cURL
source: "curl -X GET \"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\" \\\n -H \"x-api-key: sm_your_api_key\""
delete:
tags:
- Fonts
summary: Remove an existing font
description: Delete one of your own uploaded fonts. System fonts cannot be deleted.
operationId: delete_font_api_v1_fonts__uuid__delete
parameters:
- name: uuid
in: path
required: true
schema:
type: string
description: Font id
description: Font id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/FontDeleteResponse'
x-mint:
metadata:
sidebarTitle: Delete custom font
security:
- ApiKeyAuth: []
x-codeSamples:
- lang: Node.js
source: "const response = await fetch(\"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\", {\n method: \"DELETE\",\n headers: { \"x-api-key\": \"sm_your_api_key\" },\n});\n\nconst data = await response.json();\nconsole.log(data);"
- lang: PHP
source: "<?php\n\n$ch = curl_init(\"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\");\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"DELETE\");\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n \"x-api-key: sm_your_api_key\",\n]);\n\n$response = curl_exec($ch);\ncurl_close($ch);\n\necho $response;"
- lang: Python
source: "import requests\n\nresponse = requests.delete(\n \"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n headers={\"x-api-key\": \"sm_your_api_key\"},\n)\n\nresponse.raise_for_status()\nprint(response.json())"
- lang: Ruby
source: "require \"net/http\"\nrequire \"uri\"\n\nuri = URI(\"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\")\nrequest = Net::HTTP::Delete.new(uri)\nrequest[\"x-api-key\"] = \"sm_your_api_key\"\n\nresponse = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|\n http.request(request)\nend\n\nputs response.body"
- lang: Go
source: "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc main() {\n\treq, err := http.NewRequest(\"DELETE\", \"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\", nil)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\treq.Header.Set(\"x-api-key\", \"sm_your_api_key\")\n\n\tres, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tdefer res.Body.Close()\n\n\tbody, _ := io.ReadAll(res.Body)\n\tfmt.Println(string(body))\n}"
- lang: Java
source: "import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\n\nHttpRequest request = HttpRequest.newBuilder()\n .uri(URI.create(\"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\"))\n .header(\"x-api-key\", \"sm_your_api_key\")\n .DELETE()\n .build();\n\nHttpResponse<String> response = HttpClient.newHttpClient()\n .send(request, HttpResponse.BodyHandlers.ofString());\n\nSystem.out.println(response.body());"
- lang: .NET
source: 'using System.Net.Http;
using System.Text;
var request = new HttpRequestMessage(HttpMethod.Delete, "https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6");
request.Headers.Add("x-api-key", "sm_your_api_key");
var client = new HttpClient();
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());'
- lang: cURL
source: "curl -X DELETE \"https://api.sudomock.com/api/v1/fonts/3fa85f64-5717-4562-b3fc-2c963f66afa6\" \\\n -H \"x-api-key: sm_your_api_key\""
components:
schemas:
FontPagination:
properties:
page:
type: integer
description: Current page (1-based)
per_page:
type: integer
description: Results per page
total:
type: integer
description: Total fonts matching the query
type: object
required:
- page
- per_page
- total
title: FontPagination
description: Pagination envelope for the font list.
FontListResponse:
properties:
success:
type: boolean
description: Always true on a successful response.
default: true
data:
items:
$ref: '#/components/schemas/FontResponse'
type: array
description: The fonts on this page.
pagination:
$ref: '#/components/schemas/FontPagination'
description: Page number, page size and total matching fonts.
type: object
required:
- data
- pagination
title: FontListResponse
description: List response wrapper for GET /api/v1/fonts.
example:
data:
- category: SANS_SERIF
created_at: '2026-07-13T00:00:00+00:00'
family: Open Sans
file_url: https://cdn.sudomock.com/mockup-assets/fonts/web/9f1c2d3e-4a5b-6c7d-8e9f-0a1b2c3d4e5f.woff2
is_premium: false
is_system: true
license: OFL
postscript_name: OpenSans-Regular
subfamily: Regular
uuid: 9f1c2d3e-4a5b-6c7d-8e9f-0a1b2c3d4e5f
preview_url: null
- category: SERIF
created_at: '2026-07-13T00:00:00+00:00'
family: Playfair Display
file_url: https://cdn.sudomock.com/mockup-assets/fonts/web/4b8e6a71-2c05-4f93-ae17-6d3c9b204e58.woff2
is_premium: false
is_system: true
license: OFL
postscript_name: PlayfairDisplay-Bold
subfamily: Bold
uuid: 4b8e6a71-2c05-4f93-ae17-6d3c9b204e58
preview_url: null
pagination:
page: 1
per_page: 50
total: 2
success: true
FontDeleteResponse:
properties:
success:
type: boolean
description: Always true on a successful response.
default: true
type: object
title: FontDeleteResponse
description: Confirmation that one of your uploaded fonts was removed.
example:
success: true
FontResponse:
properties:
uuid:
type: string
description: Font id
examples:
- 7f3a2b1c-9d4e-4a6f-b8c2-1e5d7a0c3f94
family:
type: string
description: Font family name, e.g. 'Open Sans'
examples:
- Open Sans
subfamily:
anyOf:
- type: string
- type: 'null'
description: Style within the family, e.g. 'Bold Italic'
examples:
- Regular
postscript_name:
type: string
description: PostScript name, the stable key used to reference this font when rendering text layers
examples:
- OpenSans-Regular
category:
anyOf:
- type: string
- type: 'null'
description: Catalog category, e.g. 'SANS_SERIF', 'SERIF', 'DISPLAY'
examples:
- SANS_SERIF
license:
anyOf:
- type: string
- type: 'null'
description: License identifier (system fonts)
examples:
- OFL
is_premium:
type: boolean
description: Whether this is a premium catalog font
default: false
is_system:
type: boolean
description: True for the shared system catalog, False for a font you uploaded
examples:
- true
preview_url:
anyOf:
- type: string
- type: 'null'
description: Legacy rendered preview image, when available; new catalog entries no longer include one (use file_url for live previews)
file_url:
anyOf:
- type: string
- type: 'null'
description: 'URL of the web-optimized WOFF2 file for live @font-face preview: a public CDN URL for system fonts, a short-lived link for your own uploads. Null for premium fonts; the original TTF/OTF source is never exposed.'
examples:
- https://cdn.sudomock.com/mockup-assets/fonts/web/7f3a2b1c-9d4e-4a6f-b8c2-1e5d7a0c3f94.woff2
created_at:
anyOf:
- type: string
- type: 'null'
description: When the font was added
examples:
- '2026-07-13T09:14:22+00:00'
type: object
required:
- uuid
- family
- postscript_name
- is_system
title: FontResponse
description: 'A single font in the catalog: a shared system font, or one of the
caller''s own uploaded fonts.'
example:
category: SANS_SERIF
created_at: '2026-07-13T00:00:00+00:00'
family: Open Sans
file_url: https://cdn.sudomock.com/mockup-assets/fonts/web/9f1c2d3e-4a5b-6c7d-8e9f-0a1b2c3d4e5f.woff2
is_premium: false
is_system: true
license: OFL
postscript_name: OpenSans-Regular
subfamily: Regular
uuid: 9f1c2d3e-4a5b-6c7d-8e9f-0a1b2c3d4e5f
preview_url: null
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: API key with sm_ prefix. Get your key at https://sudomock.com/dashboard/api-keys