Create themes

Makes a theme in the caller's org: a name, four colours (#rrggbb), a font family and an https background image, each optional but the name.

POST /v1/form/themes

Addresshttps://api.hanzo.ai/v1/form/themes
MethodPOST
Operationcreate_form_theme
AuthAuthorization: Bearer $HANZO_API_KEY

Makes a theme in the caller's org: a name, four colours (#rrggbb), a font family and an https background image, each optional but the name. An org admin only.

Request

11 fields, body application/json (required).

FieldInTypeRequiredDescription
backgroundbodystring—Background is an https address of an image drawn behind the form.
colorsbodyform.Colors—
colors.answerbodystring—
colors.backgroundbodystring—
colors.buttonbodystring—
colors.questionbodystring—
createdbodystring—Created is when the theme was made, RFC 3339.
fontbodystring—Font is the font family the form is set in: letters, digits, spaces and dashes, at most 64.
idbodystring—ID is the theme's id.
namebodystring—Name is the theme's name in its org.
updatedbodystring—Updated is when it last changed, RFC 3339.

Response

StatusBodyMeaning
201form.Themecreated
defaultproblem-detailsrefused

201 body — 11 fields.

FieldInTypeAlwaysDescription
backgroundbodystring—Background is an https address of an image drawn behind the form.
colorsbodyform.Colors—
colors.answerbodystring—
colors.backgroundbodystring—
colors.buttonbodystring—
colors.questionbodystring—
createdbodystring—Created is when the theme was made, RFC 3339.
fontbodystring—Font is the font family the form is set in: letters, digits, spaces and dashes, at most 64.
idbodystring—ID is the theme's id.
namebodystring—Name is the theme's name in its org.
updatedbodystring—Updated is when it last changed, RFC 3339.

Failure carries the platform error shape — see Errors.

Examples

hanzo form themes create
import { Configuration, FormApi } from 'hanzoai';

const api = new FormApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.createFormTheme({ background: "<background>", colors: {"answer":"<answer>","background":"<background>","button":"<button>","question":"<question>"} });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import FormApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = FormApi(client).create_form_theme(background="<background>", colors={"answer":"<answer>","background":"<background>","button":"<button>","question":"<question>"})
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.FormAPI.CreateFormTheme(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, form_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = form_api::create_form_theme(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.FormApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new FormApi(client).createFormTheme();

The method above is the one at the current release of the document. [email protected] (npm) and [email protected] (PyPI) were generated from an earlier release, where this operation carried a different id, so it spells the method differently — regenerating the clients is what makes the two agree. SDKs →

curl -X POST https://api.hanzo.ai/v1/form/themes \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "background": "<background>",
       "colors": {
         "answer": "<answer>",
         "background": "<background>",
         "button": "<button>",
         "question": "<question>"
       }
     }'

Tool form, op create_form_theme — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "form",
         "arguments": {
           "op": "create_form_theme",
           "input": {
             "background": "<background>",
             "colors": {
               "answer": "<answer>",
               "background": "<background>",
               "button": "<button>",
               "question": "<question>"
             }
           }
         }
       }
     }'

Form API · All Hanzo APIs · Interactive reference

Was this page useful?
Broken link or missing step? Drop it in #docs on Discord or open a PR.