Forms
Create Form
Create Form.
POST
/
forms
/
create
Create form
curl --request POST \
--url https://api.octaviatech.app/cms/forms/create \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": {
"en": "Contact Us",
"es": "Contáctanos"
},
"slug": "contact-us",
"description": {
"en": "Public contact form",
"es": "Formulario público"
},
"submitButtonText": {
"en": "Send",
"es": "Enviar"
},
"sections": [
{
"title": {
"en": "Basic info",
"es": "Datos básicos"
},
"fields": [
{
"name": "fullName",
"type": "text",
"label": {
"en": "Full Name",
"es": "Nombre completo"
},
"required": true
},
{
"name": "email",
"type": "email",
"label": {
"en": "Email",
"es": "Correo"
},
"required": true
},
{
"name": "message",
"type": "textarea",
"label": {
"en": "Message",
"es": "Mensaje"
},
"required": true
}
]
}
],
"isActive": true
}
'import requests
url = "https://api.octaviatech.app/cms/forms/create"
payload = {
"title": {
"en": "Contact Us",
"es": "Contáctanos"
},
"slug": "contact-us",
"description": {
"en": "Public contact form",
"es": "Formulario público"
},
"submitButtonText": {
"en": "Send",
"es": "Enviar"
},
"sections": [
{
"title": {
"en": "Basic info",
"es": "Datos básicos"
},
"fields": [
{
"name": "fullName",
"type": "text",
"label": {
"en": "Full Name",
"es": "Nombre completo"
},
"required": True
},
{
"name": "email",
"type": "email",
"label": {
"en": "Email",
"es": "Correo"
},
"required": True
},
{
"name": "message",
"type": "textarea",
"label": {
"en": "Message",
"es": "Mensaje"
},
"required": True
}
]
}
],
"isActive": True
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: {en: 'Contact Us', es: 'Contáctanos'},
slug: 'contact-us',
description: {en: 'Public contact form', es: 'Formulario público'},
submitButtonText: {en: 'Send', es: 'Enviar'},
sections: [
{
title: {en: 'Basic info', es: 'Datos básicos'},
fields: [
{
name: 'fullName',
type: 'text',
label: {en: 'Full Name', es: 'Nombre completo'},
required: true
},
{
name: 'email',
type: 'email',
label: {en: 'Email', es: 'Correo'},
required: true
},
{
name: 'message',
type: 'textarea',
label: {en: 'Message', es: 'Mensaje'},
required: true
}
]
}
],
isActive: true
})
};
fetch('https://api.octaviatech.app/cms/forms/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.octaviatech.app/cms/forms/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => [
'en' => 'Contact Us',
'es' => 'Contáctanos'
],
'slug' => 'contact-us',
'description' => [
'en' => 'Public contact form',
'es' => 'Formulario público'
],
'submitButtonText' => [
'en' => 'Send',
'es' => 'Enviar'
],
'sections' => [
[
'title' => [
'en' => 'Basic info',
'es' => 'Datos básicos'
],
'fields' => [
[
'name' => 'fullName',
'type' => 'text',
'label' => [
'en' => 'Full Name',
'es' => 'Nombre completo'
],
'required' => true
],
[
'name' => 'email',
'type' => 'email',
'label' => [
'en' => 'Email',
'es' => 'Correo'
],
'required' => true
],
[
'name' => 'message',
'type' => 'textarea',
'label' => [
'en' => 'Message',
'es' => 'Mensaje'
],
'required' => true
]
]
]
],
'isActive' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.octaviatech.app/cms/forms/create"
payload := strings.NewReader("{\n \"title\": {\n \"en\": \"Contact Us\",\n \"es\": \"Contáctanos\"\n },\n \"slug\": \"contact-us\",\n \"description\": {\n \"en\": \"Public contact form\",\n \"es\": \"Formulario público\"\n },\n \"submitButtonText\": {\n \"en\": \"Send\",\n \"es\": \"Enviar\"\n },\n \"sections\": [\n {\n \"title\": {\n \"en\": \"Basic info\",\n \"es\": \"Datos básicos\"\n },\n \"fields\": [\n {\n \"name\": \"fullName\",\n \"type\": \"text\",\n \"label\": {\n \"en\": \"Full Name\",\n \"es\": \"Nombre completo\"\n },\n \"required\": true\n },\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": {\n \"en\": \"Email\",\n \"es\": \"Correo\"\n },\n \"required\": true\n },\n {\n \"name\": \"message\",\n \"type\": \"textarea\",\n \"label\": {\n \"en\": \"Message\",\n \"es\": \"Mensaje\"\n },\n \"required\": true\n }\n ]\n }\n ],\n \"isActive\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.octaviatech.app/cms/forms/create")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": {\n \"en\": \"Contact Us\",\n \"es\": \"Contáctanos\"\n },\n \"slug\": \"contact-us\",\n \"description\": {\n \"en\": \"Public contact form\",\n \"es\": \"Formulario público\"\n },\n \"submitButtonText\": {\n \"en\": \"Send\",\n \"es\": \"Enviar\"\n },\n \"sections\": [\n {\n \"title\": {\n \"en\": \"Basic info\",\n \"es\": \"Datos básicos\"\n },\n \"fields\": [\n {\n \"name\": \"fullName\",\n \"type\": \"text\",\n \"label\": {\n \"en\": \"Full Name\",\n \"es\": \"Nombre completo\"\n },\n \"required\": true\n },\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": {\n \"en\": \"Email\",\n \"es\": \"Correo\"\n },\n \"required\": true\n },\n {\n \"name\": \"message\",\n \"type\": \"textarea\",\n \"label\": {\n \"en\": \"Message\",\n \"es\": \"Mensaje\"\n },\n \"required\": true\n }\n ]\n }\n ],\n \"isActive\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.octaviatech.app/cms/forms/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": {\n \"en\": \"Contact Us\",\n \"es\": \"Contáctanos\"\n },\n \"slug\": \"contact-us\",\n \"description\": {\n \"en\": \"Public contact form\",\n \"es\": \"Formulario público\"\n },\n \"submitButtonText\": {\n \"en\": \"Send\",\n \"es\": \"Enviar\"\n },\n \"sections\": [\n {\n \"title\": {\n \"en\": \"Basic info\",\n \"es\": \"Datos básicos\"\n },\n \"fields\": [\n {\n \"name\": \"fullName\",\n \"type\": \"text\",\n \"label\": {\n \"en\": \"Full Name\",\n \"es\": \"Nombre completo\"\n },\n \"required\": true\n },\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": {\n \"en\": \"Email\",\n \"es\": \"Correo\"\n },\n \"required\": true\n },\n {\n \"name\": \"message\",\n \"type\": \"textarea\",\n \"label\": {\n \"en\": \"Message\",\n \"es\": \"Mensaje\"\n },\n \"required\": true\n }\n ]\n }\n ],\n \"isActive\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"statusCode": 201,
"message": "Created",
"data": {
"id": "{{objectId}}",
"slug": "contact-us"
}
}{
"success": false,
"statusCode": 409,
"message": "Slug already exists",
"data": null
}Authorizations
Body
application/json
Multilingual title (Map-like)
Show child attributes
Show child attributes
URL-friendly unique identifier (unique per tenant)
Show child attributes
Show child attributes
Multilingual description
Show child attributes
Show child attributes
Multilingual submit button text
Show child attributes
Show child attributes
Whether the form is enabled (default true)
Response
Created
Was this page helpful?
⌘I
Create form
curl --request POST \
--url https://api.octaviatech.app/cms/forms/create \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": {
"en": "Contact Us",
"es": "Contáctanos"
},
"slug": "contact-us",
"description": {
"en": "Public contact form",
"es": "Formulario público"
},
"submitButtonText": {
"en": "Send",
"es": "Enviar"
},
"sections": [
{
"title": {
"en": "Basic info",
"es": "Datos básicos"
},
"fields": [
{
"name": "fullName",
"type": "text",
"label": {
"en": "Full Name",
"es": "Nombre completo"
},
"required": true
},
{
"name": "email",
"type": "email",
"label": {
"en": "Email",
"es": "Correo"
},
"required": true
},
{
"name": "message",
"type": "textarea",
"label": {
"en": "Message",
"es": "Mensaje"
},
"required": true
}
]
}
],
"isActive": true
}
'import requests
url = "https://api.octaviatech.app/cms/forms/create"
payload = {
"title": {
"en": "Contact Us",
"es": "Contáctanos"
},
"slug": "contact-us",
"description": {
"en": "Public contact form",
"es": "Formulario público"
},
"submitButtonText": {
"en": "Send",
"es": "Enviar"
},
"sections": [
{
"title": {
"en": "Basic info",
"es": "Datos básicos"
},
"fields": [
{
"name": "fullName",
"type": "text",
"label": {
"en": "Full Name",
"es": "Nombre completo"
},
"required": True
},
{
"name": "email",
"type": "email",
"label": {
"en": "Email",
"es": "Correo"
},
"required": True
},
{
"name": "message",
"type": "textarea",
"label": {
"en": "Message",
"es": "Mensaje"
},
"required": True
}
]
}
],
"isActive": True
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: {en: 'Contact Us', es: 'Contáctanos'},
slug: 'contact-us',
description: {en: 'Public contact form', es: 'Formulario público'},
submitButtonText: {en: 'Send', es: 'Enviar'},
sections: [
{
title: {en: 'Basic info', es: 'Datos básicos'},
fields: [
{
name: 'fullName',
type: 'text',
label: {en: 'Full Name', es: 'Nombre completo'},
required: true
},
{
name: 'email',
type: 'email',
label: {en: 'Email', es: 'Correo'},
required: true
},
{
name: 'message',
type: 'textarea',
label: {en: 'Message', es: 'Mensaje'},
required: true
}
]
}
],
isActive: true
})
};
fetch('https://api.octaviatech.app/cms/forms/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.octaviatech.app/cms/forms/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'title' => [
'en' => 'Contact Us',
'es' => 'Contáctanos'
],
'slug' => 'contact-us',
'description' => [
'en' => 'Public contact form',
'es' => 'Formulario público'
],
'submitButtonText' => [
'en' => 'Send',
'es' => 'Enviar'
],
'sections' => [
[
'title' => [
'en' => 'Basic info',
'es' => 'Datos básicos'
],
'fields' => [
[
'name' => 'fullName',
'type' => 'text',
'label' => [
'en' => 'Full Name',
'es' => 'Nombre completo'
],
'required' => true
],
[
'name' => 'email',
'type' => 'email',
'label' => [
'en' => 'Email',
'es' => 'Correo'
],
'required' => true
],
[
'name' => 'message',
'type' => 'textarea',
'label' => [
'en' => 'Message',
'es' => 'Mensaje'
],
'required' => true
]
]
]
],
'isActive' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.octaviatech.app/cms/forms/create"
payload := strings.NewReader("{\n \"title\": {\n \"en\": \"Contact Us\",\n \"es\": \"Contáctanos\"\n },\n \"slug\": \"contact-us\",\n \"description\": {\n \"en\": \"Public contact form\",\n \"es\": \"Formulario público\"\n },\n \"submitButtonText\": {\n \"en\": \"Send\",\n \"es\": \"Enviar\"\n },\n \"sections\": [\n {\n \"title\": {\n \"en\": \"Basic info\",\n \"es\": \"Datos básicos\"\n },\n \"fields\": [\n {\n \"name\": \"fullName\",\n \"type\": \"text\",\n \"label\": {\n \"en\": \"Full Name\",\n \"es\": \"Nombre completo\"\n },\n \"required\": true\n },\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": {\n \"en\": \"Email\",\n \"es\": \"Correo\"\n },\n \"required\": true\n },\n {\n \"name\": \"message\",\n \"type\": \"textarea\",\n \"label\": {\n \"en\": \"Message\",\n \"es\": \"Mensaje\"\n },\n \"required\": true\n }\n ]\n }\n ],\n \"isActive\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.octaviatech.app/cms/forms/create")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": {\n \"en\": \"Contact Us\",\n \"es\": \"Contáctanos\"\n },\n \"slug\": \"contact-us\",\n \"description\": {\n \"en\": \"Public contact form\",\n \"es\": \"Formulario público\"\n },\n \"submitButtonText\": {\n \"en\": \"Send\",\n \"es\": \"Enviar\"\n },\n \"sections\": [\n {\n \"title\": {\n \"en\": \"Basic info\",\n \"es\": \"Datos básicos\"\n },\n \"fields\": [\n {\n \"name\": \"fullName\",\n \"type\": \"text\",\n \"label\": {\n \"en\": \"Full Name\",\n \"es\": \"Nombre completo\"\n },\n \"required\": true\n },\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": {\n \"en\": \"Email\",\n \"es\": \"Correo\"\n },\n \"required\": true\n },\n {\n \"name\": \"message\",\n \"type\": \"textarea\",\n \"label\": {\n \"en\": \"Message\",\n \"es\": \"Mensaje\"\n },\n \"required\": true\n }\n ]\n }\n ],\n \"isActive\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.octaviatech.app/cms/forms/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": {\n \"en\": \"Contact Us\",\n \"es\": \"Contáctanos\"\n },\n \"slug\": \"contact-us\",\n \"description\": {\n \"en\": \"Public contact form\",\n \"es\": \"Formulario público\"\n },\n \"submitButtonText\": {\n \"en\": \"Send\",\n \"es\": \"Enviar\"\n },\n \"sections\": [\n {\n \"title\": {\n \"en\": \"Basic info\",\n \"es\": \"Datos básicos\"\n },\n \"fields\": [\n {\n \"name\": \"fullName\",\n \"type\": \"text\",\n \"label\": {\n \"en\": \"Full Name\",\n \"es\": \"Nombre completo\"\n },\n \"required\": true\n },\n {\n \"name\": \"email\",\n \"type\": \"email\",\n \"label\": {\n \"en\": \"Email\",\n \"es\": \"Correo\"\n },\n \"required\": true\n },\n {\n \"name\": \"message\",\n \"type\": \"textarea\",\n \"label\": {\n \"en\": \"Message\",\n \"es\": \"Mensaje\"\n },\n \"required\": true\n }\n ]\n }\n ],\n \"isActive\": true\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"statusCode": 201,
"message": "Created",
"data": {
"id": "{{objectId}}",
"slug": "contact-us"
}
}{
"success": false,
"statusCode": 409,
"message": "Slug already exists",
"data": null
}
