curl --request POST \
--url https://core-api.getaptly.com/api/board/{boardId} \
--header 'Content-Type: application/json' \
--header 'x-token: <api-key>' \
--data '
{
"name": "John Smith",
"abc123": "[email protected]",
"ghi789": 1500,
"jkl012": {
"_id": "aBcD1234eFgH5678i"
},
"mno345": [
{
"_id": "kLmN9012oPqR3456s"
}
]
}
'import requests
url = "https://core-api.getaptly.com/api/board/{boardId}"
payload = {
"name": "John Smith",
"abc123": "[email protected]",
"ghi789": 1500,
"jkl012": { "_id": "aBcD1234eFgH5678i" },
"mno345": [{ "_id": "kLmN9012oPqR3456s" }]
}
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: 'John Smith',
abc123: '[email protected]',
ghi789: 1500,
jkl012: {_id: 'aBcD1234eFgH5678i'},
mno345: [{_id: 'kLmN9012oPqR3456s'}]
})
};
fetch('https://core-api.getaptly.com/api/board/{boardId}', 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/board/{boardId}",
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' => 'John Smith',
'abc123' => '[email protected]',
'ghi789' => 1500,
'jkl012' => [
'_id' => 'aBcD1234eFgH5678i'
],
'mno345' => [
[
'_id' => 'kLmN9012oPqR3456s'
]
]
]),
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/board/{boardId}"
payload := strings.NewReader("{\n \"name\": \"John Smith\",\n \"abc123\": \"[email protected]\",\n \"ghi789\": 1500,\n \"jkl012\": {\n \"_id\": \"aBcD1234eFgH5678i\"\n },\n \"mno345\": [\n {\n \"_id\": \"kLmN9012oPqR3456s\"\n }\n ]\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/board/{boardId}")
.header("x-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"John Smith\",\n \"abc123\": \"[email protected]\",\n \"ghi789\": 1500,\n \"jkl012\": {\n \"_id\": \"aBcD1234eFgH5678i\"\n },\n \"mno345\": [\n {\n \"_id\": \"kLmN9012oPqR3456s\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://core-api.getaptly.com/api/board/{boardId}")
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\": \"John Smith\",\n \"abc123\": \"[email protected]\",\n \"ghi789\": 1500,\n \"jkl012\": {\n \"_id\": \"aBcD1234eFgH5678i\"\n },\n \"mno345\": [\n {\n \"_id\": \"kLmN9012oPqR3456s\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"_id": "<string>"
}
}Create or update a card
Creates a new card on the board. Use field UUIDs (from the schema endpoint) as keys in the request body.
To update an existing card, include its _id in the request body. The card must belong to this board.
Fields not provided in the body are left unchanged on update.
Contact fields take person ids from the Contacts API: a person field takes
{ "_id": "<personId>" } (or null to clear it), and a persons field takes an
array of them ([] clears it). Each id must be an existing contact in the board’s
company. The stored value is expanded to { _id, name, duogram }, where name is
the contact’s full name and duogram its initials; any other keys sent are ignored.
Card-link fields (location, unit, relatedAptlets) always take an array of
{ "_id": "<cardId>" } ([] clears the field). Each id must be a live
(non-archived) card in the board’s company that matches every part of the
field’s filter that is set: the card must be on one of the boards in
filter.aptletUuids, and its board’s type must be in filter.aptletTypes.
location and unit fields with no aptletUuids take cards from the built-in
location and unit boards. Values are stored as { _id, name, duogram }.
curl --request POST \
--url https://core-api.getaptly.com/api/board/{boardId} \
--header 'Content-Type: application/json' \
--header 'x-token: <api-key>' \
--data '
{
"name": "John Smith",
"abc123": "[email protected]",
"ghi789": 1500,
"jkl012": {
"_id": "aBcD1234eFgH5678i"
},
"mno345": [
{
"_id": "kLmN9012oPqR3456s"
}
]
}
'import requests
url = "https://core-api.getaptly.com/api/board/{boardId}"
payload = {
"name": "John Smith",
"abc123": "[email protected]",
"ghi789": 1500,
"jkl012": { "_id": "aBcD1234eFgH5678i" },
"mno345": [{ "_id": "kLmN9012oPqR3456s" }]
}
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: 'John Smith',
abc123: '[email protected]',
ghi789: 1500,
jkl012: {_id: 'aBcD1234eFgH5678i'},
mno345: [{_id: 'kLmN9012oPqR3456s'}]
})
};
fetch('https://core-api.getaptly.com/api/board/{boardId}', 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/board/{boardId}",
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' => 'John Smith',
'abc123' => '[email protected]',
'ghi789' => 1500,
'jkl012' => [
'_id' => 'aBcD1234eFgH5678i'
],
'mno345' => [
[
'_id' => 'kLmN9012oPqR3456s'
]
]
]),
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/board/{boardId}"
payload := strings.NewReader("{\n \"name\": \"John Smith\",\n \"abc123\": \"[email protected]\",\n \"ghi789\": 1500,\n \"jkl012\": {\n \"_id\": \"aBcD1234eFgH5678i\"\n },\n \"mno345\": [\n {\n \"_id\": \"kLmN9012oPqR3456s\"\n }\n ]\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/board/{boardId}")
.header("x-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"John Smith\",\n \"abc123\": \"[email protected]\",\n \"ghi789\": 1500,\n \"jkl012\": {\n \"_id\": \"aBcD1234eFgH5678i\"\n },\n \"mno345\": [\n {\n \"_id\": \"kLmN9012oPqR3456s\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://core-api.getaptly.com/api/board/{boardId}")
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\": \"John Smith\",\n \"abc123\": \"[email protected]\",\n \"ghi789\": 1500,\n \"jkl012\": {\n \"_id\": \"aBcD1234eFgH5678i\"\n },\n \"mno345\": [\n {\n \"_id\": \"kLmN9012oPqR3456s\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"_id": "<string>"
}
}Authorizations
Path Parameters
Body
Response
Card created.
Show child attributes
Show child attributes