Create Integration Configuration
curl --request POST \
--url https://app.cardclan.io/api/integration/config \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"userId": "60f7b2b5b8f4a20015a4f5a3",
"workspaceId": "60f7b2b5b8f4a20015a4f5a4",
"cardId": "60f7b2b5b8f4a20015a4f5a5"
}
'import requests
url = "https://app.cardclan.io/api/integration/config"
payload = {
"userId": "60f7b2b5b8f4a20015a4f5a3",
"workspaceId": "60f7b2b5b8f4a20015a4f5a4",
"cardId": "60f7b2b5b8f4a20015a4f5a5"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
userId: '60f7b2b5b8f4a20015a4f5a3',
workspaceId: '60f7b2b5b8f4a20015a4f5a4',
cardId: '60f7b2b5b8f4a20015a4f5a5'
})
};
fetch('https://app.cardclan.io/api/integration/config', 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://app.cardclan.io/api/integration/config",
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([
'userId' => '60f7b2b5b8f4a20015a4f5a3',
'workspaceId' => '60f7b2b5b8f4a20015a4f5a4',
'cardId' => '60f7b2b5b8f4a20015a4f5a5'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://app.cardclan.io/api/integration/config"
payload := strings.NewReader("{\n \"userId\": \"60f7b2b5b8f4a20015a4f5a3\",\n \"workspaceId\": \"60f7b2b5b8f4a20015a4f5a4\",\n \"cardId\": \"60f7b2b5b8f4a20015a4f5a5\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://app.cardclan.io/api/integration/config")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"userId\": \"60f7b2b5b8f4a20015a4f5a3\",\n \"workspaceId\": \"60f7b2b5b8f4a20015a4f5a4\",\n \"cardId\": \"60f7b2b5b8f4a20015a4f5a5\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.cardclan.io/api/integration/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"userId\": \"60f7b2b5b8f4a20015a4f5a3\",\n \"workspaceId\": \"60f7b2b5b8f4a20015a4f5a4\",\n \"cardId\": \"60f7b2b5b8f4a20015a4f5a5\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"_id": "60f7b2b5b8f4a20015a4f5a7",
"userId": "60f7b2b5b8f4a20015a4f5a3",
"workspaceId": "60f7b2b5b8f4a20015a4f5a4",
"cardId": "60f7b2b5b8f4a20015a4f5a5",
"createdAt": "2023-07-20T10:30:00.000Z",
"updatedAt": "2023-07-20T10:30:00.000Z"
},
"message": "Integration configuration created"
}{
"error": "Bad Request",
"message": "Card ID is required",
"statusCode": 400,
"timestamp": "2024-01-15T10:30:00.000Z"
}Integration API
Create Integration Config
Creates a new integration configuration for a specific card workflow
POST
/
integration
/
config
Create Integration Configuration
curl --request POST \
--url https://app.cardclan.io/api/integration/config \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"userId": "60f7b2b5b8f4a20015a4f5a3",
"workspaceId": "60f7b2b5b8f4a20015a4f5a4",
"cardId": "60f7b2b5b8f4a20015a4f5a5"
}
'import requests
url = "https://app.cardclan.io/api/integration/config"
payload = {
"userId": "60f7b2b5b8f4a20015a4f5a3",
"workspaceId": "60f7b2b5b8f4a20015a4f5a4",
"cardId": "60f7b2b5b8f4a20015a4f5a5"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
userId: '60f7b2b5b8f4a20015a4f5a3',
workspaceId: '60f7b2b5b8f4a20015a4f5a4',
cardId: '60f7b2b5b8f4a20015a4f5a5'
})
};
fetch('https://app.cardclan.io/api/integration/config', 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://app.cardclan.io/api/integration/config",
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([
'userId' => '60f7b2b5b8f4a20015a4f5a3',
'workspaceId' => '60f7b2b5b8f4a20015a4f5a4',
'cardId' => '60f7b2b5b8f4a20015a4f5a5'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://app.cardclan.io/api/integration/config"
payload := strings.NewReader("{\n \"userId\": \"60f7b2b5b8f4a20015a4f5a3\",\n \"workspaceId\": \"60f7b2b5b8f4a20015a4f5a4\",\n \"cardId\": \"60f7b2b5b8f4a20015a4f5a5\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://app.cardclan.io/api/integration/config")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"userId\": \"60f7b2b5b8f4a20015a4f5a3\",\n \"workspaceId\": \"60f7b2b5b8f4a20015a4f5a4\",\n \"cardId\": \"60f7b2b5b8f4a20015a4f5a5\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.cardclan.io/api/integration/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"userId\": \"60f7b2b5b8f4a20015a4f5a3\",\n \"workspaceId\": \"60f7b2b5b8f4a20015a4f5a4\",\n \"cardId\": \"60f7b2b5b8f4a20015a4f5a5\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"_id": "60f7b2b5b8f4a20015a4f5a7",
"userId": "60f7b2b5b8f4a20015a4f5a3",
"workspaceId": "60f7b2b5b8f4a20015a4f5a4",
"cardId": "60f7b2b5b8f4a20015a4f5a5",
"createdAt": "2023-07-20T10:30:00.000Z",
"updatedAt": "2023-07-20T10:30:00.000Z"
},
"message": "Integration configuration created"
}{
"error": "Bad Request",
"message": "Card ID is required",
"statusCode": 400,
"timestamp": "2024-01-15T10:30:00.000Z"
}Creates a new integration configuration that links a specific card to workflow settings. This configuration is required before you can send cards through the Integration API and serves as a bridge between your automation workflows and CardClan cards.
What is an Integration Configuration?
An integration configuration is a record that:- Links a card to integration workflows
- Defines workflow settings for automation platforms
- Enables card sending through the Integration API
- Tracks integration usage and analytics
Request Parameters
string
required
Your CardClan user ID (obtained from authentication)
string
required
Workspace ID containing the card (from Get Workspaces endpoint)
string
required
ID of the card to configure for integration use
Response Details
object
The created integration configuration object
Show Configuration object properties
Show Configuration object properties
string
Unique integration configuration ID (use this as integrationId in other calls)
string
User ID associated with this configuration
string
Workspace ID containing the configured card
string
Card ID that’s been configured for integration use
string
Timestamp when the configuration was created
string
Timestamp when the configuration was last modified
string
Success message confirming the configuration was created
Workflow Integration Process
Response Example
{
"data": {
"_id": "60f7b2b5b8f4a20015a4f5a8",
"userId": "60f7b2b5b8f4a20015a4f5a3",
"workspaceId": "60f7b2b5b8f4a20015a4f5a4",
"cardId": "60f7b2b5b8f4a20015a4f5a5",
"createdAt": "2023-07-20T10:30:00.000Z",
"updatedAt": "2023-07-20T10:30:00.000Z"
},
"message": "Integration configuration created"
}
Authorizations
Enter your CardClan integration key
Body
application/json
Was this page helpful?