curl --request POST \
--url https://core-api.getaptly.com/api/web-forms/{formId} \
--header 'Content-Type: application/json' \
--header 'x-token: <api-key>' \
--data '
{
"name": "<string>",
"title": "<string>",
"contactFirstName": "<string>",
"contactLastName": "<string>",
"contactFullName": "<string>",
"contactEmail": "[email protected]",
"contactPhone": "<string>"
}
'import requests
url = "https://core-api.getaptly.com/api/web-forms/{formId}"
payload = {
"name": "<string>",
"title": "<string>",
"contactFirstName": "<string>",
"contactLastName": "<string>",
"contactFullName": "<string>",
"contactEmail": "[email protected]",
"contactPhone": "<string>"
}
headers = {
"x-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
title: '<string>',
contactFirstName: '<string>',
contactLastName: '<string>',
contactFullName: '<string>',
contactEmail: '[email protected]',
contactPhone: '<string>'
})
};
fetch('https://core-api.getaptly.com/api/web-forms/{formId}', 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://core-api.getaptly.com/api/web-forms/{formId}",
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([
'name' => '<string>',
'title' => '<string>',
'contactFirstName' => '<string>',
'contactLastName' => '<string>',
'contactFullName' => '<string>',
'contactEmail' => '[email protected]',
'contactPhone' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-token: <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://core-api.getaptly.com/api/web-forms/{formId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"contactFirstName\": \"<string>\",\n \"contactLastName\": \"<string>\",\n \"contactFullName\": \"<string>\",\n \"contactEmail\": \"[email protected]\",\n \"contactPhone\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-token", "<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://core-api.getaptly.com/api/web-forms/{formId}")
.header("x-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"contactFirstName\": \"<string>\",\n \"contactLastName\": \"<string>\",\n \"contactFullName\": \"<string>\",\n \"contactEmail\": \"[email protected]\",\n \"contactPhone\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://core-api.getaptly.com/api/web-forms/{formId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"contactFirstName\": \"<string>\",\n \"contactLastName\": \"<string>\",\n \"contactFullName\": \"<string>\",\n \"contactEmail\": \"[email protected]\",\n \"contactPhone\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"_id": "<string>",
"action": "created"
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Submit a web form
Submits data to an Aptly Web Form. The request must use the API key issued for this exact form and that key must have insert access to the form’s board.
Submitted board-field values are keyed by field UUID. Depending on the form’s configuration, the submission creates a card or updates a card whose configured match fields have the same values. Unknown properties are ignored. Contact shortcut properties can link the card to an existing contact or create a new contact when the form and board allow it.
curl --request POST \
--url https://core-api.getaptly.com/api/web-forms/{formId} \
--header 'Content-Type: application/json' \
--header 'x-token: <api-key>' \
--data '
{
"name": "<string>",
"title": "<string>",
"contactFirstName": "<string>",
"contactLastName": "<string>",
"contactFullName": "<string>",
"contactEmail": "[email protected]",
"contactPhone": "<string>"
}
'import requests
url = "https://core-api.getaptly.com/api/web-forms/{formId}"
payload = {
"name": "<string>",
"title": "<string>",
"contactFirstName": "<string>",
"contactLastName": "<string>",
"contactFullName": "<string>",
"contactEmail": "[email protected]",
"contactPhone": "<string>"
}
headers = {
"x-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
title: '<string>',
contactFirstName: '<string>',
contactLastName: '<string>',
contactFullName: '<string>',
contactEmail: '[email protected]',
contactPhone: '<string>'
})
};
fetch('https://core-api.getaptly.com/api/web-forms/{formId}', 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://core-api.getaptly.com/api/web-forms/{formId}",
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([
'name' => '<string>',
'title' => '<string>',
'contactFirstName' => '<string>',
'contactLastName' => '<string>',
'contactFullName' => '<string>',
'contactEmail' => '[email protected]',
'contactPhone' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-token: <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://core-api.getaptly.com/api/web-forms/{formId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"contactFirstName\": \"<string>\",\n \"contactLastName\": \"<string>\",\n \"contactFullName\": \"<string>\",\n \"contactEmail\": \"[email protected]\",\n \"contactPhone\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-token", "<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://core-api.getaptly.com/api/web-forms/{formId}")
.header("x-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"contactFirstName\": \"<string>\",\n \"contactLastName\": \"<string>\",\n \"contactFullName\": \"<string>\",\n \"contactEmail\": \"[email protected]\",\n \"contactPhone\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://core-api.getaptly.com/api/web-forms/{formId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"title\": \"<string>\",\n \"contactFirstName\": \"<string>\",\n \"contactLastName\": \"<string>\",\n \"contactFullName\": \"<string>\",\n \"contactEmail\": \"[email protected]\",\n \"contactPhone\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"_id": "<string>",
"action": "created"
}
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
Path Parameters
Web Form ID.
Body
Card name. Takes precedence over title.
Card name when name is omitted.
Contact first name used by automatic contact linking.
Contact last name used by automatic contact linking.
Contact full name used by automatic contact linking.
Contact email used for lookup or creation.
Contact phone number used for lookup or creation.
Board field value keyed by the field UUID configured on the form's board.
Response
Submission accepted and its card created or updated.
Show child attributes
Show child attributes