curl --request POST \
--url https://api.birdeye.com/resources/v1/business/public/card \
--header 'Content-Type: application/json' \
--data '
{
"clickURL": "",
"description": "custom card test",
"imagePosition": 1,
"imageURL": "https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png",
"isPinOnTop": 1,
"isVisible": 0,
"title": "AKJ test"
}
'import requests
url = "https://api.birdeye.com/resources/v1/business/public/card"
payload = {
"clickURL": "",
"description": "custom card test",
"imagePosition": 1,
"imageURL": "https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png",
"isPinOnTop": 1,
"isVisible": 0,
"title": "AKJ test"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
clickURL: '',
description: 'custom card test',
imagePosition: 1,
imageURL: 'https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png',
isPinOnTop: 1,
isVisible: 0,
title: 'AKJ test'
})
};
fetch('https://api.birdeye.com/resources/v1/business/public/card', 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.birdeye.com/resources/v1/business/public/card",
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([
'clickURL' => '',
'description' => 'custom card test',
'imagePosition' => 1,
'imageURL' => 'https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png',
'isPinOnTop' => 1,
'isVisible' => 0,
'title' => 'AKJ test'
]),
CURLOPT_HTTPHEADER => [
"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://api.birdeye.com/resources/v1/business/public/card"
payload := strings.NewReader("{\n \"clickURL\": \"\",\n \"description\": \"custom card test\",\n \"imagePosition\": 1,\n \"imageURL\": \"https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png\",\n \"isPinOnTop\": 1,\n \"isVisible\": 0,\n \"title\": \"AKJ test\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.birdeye.com/resources/v1/business/public/card")
.header("Content-Type", "application/json")
.body("{\n \"clickURL\": \"\",\n \"description\": \"custom card test\",\n \"imagePosition\": 1,\n \"imageURL\": \"https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png\",\n \"isPinOnTop\": 1,\n \"isVisible\": 0,\n \"title\": \"AKJ test\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/business/public/card")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"clickURL\": \"\",\n \"description\": \"custom card test\",\n \"imagePosition\": 1,\n \"imageURL\": \"https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png\",\n \"isPinOnTop\": 1,\n \"isVisible\": 0,\n \"title\": \"AKJ test\"\n}"
response = http.request(request)
puts response.read_body{
"cardId": 92426,
"title": "AKJ test",
"description": "custom card test",
"imageURL": "https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png",
"imagePosition": "1",
"isVisible": 0,
"isPinOnTop": 1,
"clickURL": ""
}{
"code": 1161,
"message": "Invalid API key"
}{
"code": 89,
"message": "Rate limit exceeded"
}Create Custom card
Create Custom card API creates a custom card for a business profile.
curl --request POST \
--url https://api.birdeye.com/resources/v1/business/public/card \
--header 'Content-Type: application/json' \
--data '
{
"clickURL": "",
"description": "custom card test",
"imagePosition": 1,
"imageURL": "https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png",
"isPinOnTop": 1,
"isVisible": 0,
"title": "AKJ test"
}
'import requests
url = "https://api.birdeye.com/resources/v1/business/public/card"
payload = {
"clickURL": "",
"description": "custom card test",
"imagePosition": 1,
"imageURL": "https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png",
"isPinOnTop": 1,
"isVisible": 0,
"title": "AKJ test"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
clickURL: '',
description: 'custom card test',
imagePosition: 1,
imageURL: 'https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png',
isPinOnTop: 1,
isVisible: 0,
title: 'AKJ test'
})
};
fetch('https://api.birdeye.com/resources/v1/business/public/card', 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.birdeye.com/resources/v1/business/public/card",
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([
'clickURL' => '',
'description' => 'custom card test',
'imagePosition' => 1,
'imageURL' => 'https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png',
'isPinOnTop' => 1,
'isVisible' => 0,
'title' => 'AKJ test'
]),
CURLOPT_HTTPHEADER => [
"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://api.birdeye.com/resources/v1/business/public/card"
payload := strings.NewReader("{\n \"clickURL\": \"\",\n \"description\": \"custom card test\",\n \"imagePosition\": 1,\n \"imageURL\": \"https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png\",\n \"isPinOnTop\": 1,\n \"isVisible\": 0,\n \"title\": \"AKJ test\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.birdeye.com/resources/v1/business/public/card")
.header("Content-Type", "application/json")
.body("{\n \"clickURL\": \"\",\n \"description\": \"custom card test\",\n \"imagePosition\": 1,\n \"imageURL\": \"https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png\",\n \"isPinOnTop\": 1,\n \"isVisible\": 0,\n \"title\": \"AKJ test\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/business/public/card")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"clickURL\": \"\",\n \"description\": \"custom card test\",\n \"imagePosition\": 1,\n \"imageURL\": \"https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png\",\n \"isPinOnTop\": 1,\n \"isVisible\": 0,\n \"title\": \"AKJ test\"\n}"
response = http.request(request)
puts response.read_body{
"cardId": 92426,
"title": "AKJ test",
"description": "custom card test",
"imageURL": "https://d1py4eyp5hehj0.cloudfront.net/upload/1670003/1759138378356/image12.png",
"imagePosition": "1",
"isVisible": 0,
"isPinOnTop": 1,
"clickURL": ""
}{
"code": 1161,
"message": "Invalid API key"
}{
"code": 89,
"message": "Rate limit exceeded"
}Headers
e.g. application/json
e.g. [Required] Partner specific API key provided by Birdeye for data exchange.
e.g. [Required] Long Business Number.
Media type of the JSON request body.
Body
Title shown on the custom card.
Description/content shown on the custom card.
Public image URL displayed on the card.
Position of the image on the card.
Visibility status of card on the microsite.
Pin status of card on the microsite.
Redirect URL for card click action.
Response
OK
Id of the created custom card.
Title shown on the custom card.
Description/content shown on the custom card.
Public image URL displayed on the card.
Image position value.
Visibility status of card on the microsite.
Pin status of card on the microsite.
Redirect URL for card click action. Empty when no redirect is configured.