Add Media
curl --request POST \
--url https://api.birdeye.com/resources/v1/business/{businessNumber}/upload/media \
--header 'Content-Type: application/json' \
--data '
{
"media": [
{
"url": "https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2",
"mediaCategory": "TEAMS",
"description": "Image of the team",
"mediaFormat": "PHOTO"
},
{
"url": "https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4",
"mediaCategory": "ADDITIONAL",
"description": "Introductory video",
"mediaFormat": "VIDEO"
}
]
}
'import requests
url = "https://api.birdeye.com/resources/v1/business/{businessNumber}/upload/media"
payload = { "media": [
{
"url": "https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2",
"mediaCategory": "TEAMS",
"description": "Image of the team",
"mediaFormat": "PHOTO"
},
{
"url": "https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4",
"mediaCategory": "ADDITIONAL",
"description": "Introductory video",
"mediaFormat": "VIDEO"
}
] }
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({
media: [
{
url: 'https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2',
mediaCategory: 'TEAMS',
description: 'Image of the team',
mediaFormat: 'PHOTO'
},
{
url: 'https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4',
mediaCategory: 'ADDITIONAL',
description: 'Introductory video',
mediaFormat: 'VIDEO'
}
]
})
};
fetch('https://api.birdeye.com/resources/v1/business/{businessNumber}/upload/media', 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/{businessNumber}/upload/media",
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([
'media' => [
[
'url' => 'https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2',
'mediaCategory' => 'TEAMS',
'description' => 'Image of the team',
'mediaFormat' => 'PHOTO'
],
[
'url' => 'https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4',
'mediaCategory' => 'ADDITIONAL',
'description' => 'Introductory video',
'mediaFormat' => 'VIDEO'
]
]
]),
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/{businessNumber}/upload/media"
payload := strings.NewReader("{\n \"media\": [\n {\n \"url\": \"https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\n \"mediaCategory\": \"TEAMS\",\n \"description\": \"Image of the team\",\n \"mediaFormat\": \"PHOTO\"\n },\n {\n \"url\": \"https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4\",\n \"mediaCategory\": \"ADDITIONAL\",\n \"description\": \"Introductory video\",\n \"mediaFormat\": \"VIDEO\"\n }\n ]\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/{businessNumber}/upload/media")
.header("Content-Type", "application/json")
.body("{\n \"media\": [\n {\n \"url\": \"https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\n \"mediaCategory\": \"TEAMS\",\n \"description\": \"Image of the team\",\n \"mediaFormat\": \"PHOTO\"\n },\n {\n \"url\": \"https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4\",\n \"mediaCategory\": \"ADDITIONAL\",\n \"description\": \"Introductory video\",\n \"mediaFormat\": \"VIDEO\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/business/{businessNumber}/upload/media")
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 \"media\": [\n {\n \"url\": \"https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\n \"mediaCategory\": \"TEAMS\",\n \"description\": \"Image of the team\",\n \"mediaFormat\": \"PHOTO\"\n },\n {\n \"url\": \"https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4\",\n \"mediaCategory\": \"ADDITIONAL\",\n \"description\": \"Introductory video\",\n \"mediaFormat\": \"VIDEO\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"media": [
{
"mediaId": "987654321123",
"url": "https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2",
"mediaCategory": "TEAMS",
"description": "Image of the team",
"mediaFormat": "PHOTO"
},
{
"mediaId": "7654321123",
"url": "https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4",
"mediaCategory": "ADDITIONAL",
"description": "Introductory video",
"mediaFormat": "VIDEO"
}
]
}{
"code": 2174,
"message": "Unsupported media format"
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 89,
"message": "Rate limit exceeded"
}Business Media
Add Media
API to upload the Business Media.
POST
/
v1
/
business
/
{businessNumber}
/
upload
/
media
Add Media
curl --request POST \
--url https://api.birdeye.com/resources/v1/business/{businessNumber}/upload/media \
--header 'Content-Type: application/json' \
--data '
{
"media": [
{
"url": "https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2",
"mediaCategory": "TEAMS",
"description": "Image of the team",
"mediaFormat": "PHOTO"
},
{
"url": "https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4",
"mediaCategory": "ADDITIONAL",
"description": "Introductory video",
"mediaFormat": "VIDEO"
}
]
}
'import requests
url = "https://api.birdeye.com/resources/v1/business/{businessNumber}/upload/media"
payload = { "media": [
{
"url": "https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2",
"mediaCategory": "TEAMS",
"description": "Image of the team",
"mediaFormat": "PHOTO"
},
{
"url": "https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4",
"mediaCategory": "ADDITIONAL",
"description": "Introductory video",
"mediaFormat": "VIDEO"
}
] }
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({
media: [
{
url: 'https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2',
mediaCategory: 'TEAMS',
description: 'Image of the team',
mediaFormat: 'PHOTO'
},
{
url: 'https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4',
mediaCategory: 'ADDITIONAL',
description: 'Introductory video',
mediaFormat: 'VIDEO'
}
]
})
};
fetch('https://api.birdeye.com/resources/v1/business/{businessNumber}/upload/media', 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/{businessNumber}/upload/media",
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([
'media' => [
[
'url' => 'https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2',
'mediaCategory' => 'TEAMS',
'description' => 'Image of the team',
'mediaFormat' => 'PHOTO'
],
[
'url' => 'https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4',
'mediaCategory' => 'ADDITIONAL',
'description' => 'Introductory video',
'mediaFormat' => 'VIDEO'
]
]
]),
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/{businessNumber}/upload/media"
payload := strings.NewReader("{\n \"media\": [\n {\n \"url\": \"https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\n \"mediaCategory\": \"TEAMS\",\n \"description\": \"Image of the team\",\n \"mediaFormat\": \"PHOTO\"\n },\n {\n \"url\": \"https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4\",\n \"mediaCategory\": \"ADDITIONAL\",\n \"description\": \"Introductory video\",\n \"mediaFormat\": \"VIDEO\"\n }\n ]\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/{businessNumber}/upload/media")
.header("Content-Type", "application/json")
.body("{\n \"media\": [\n {\n \"url\": \"https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\n \"mediaCategory\": \"TEAMS\",\n \"description\": \"Image of the team\",\n \"mediaFormat\": \"PHOTO\"\n },\n {\n \"url\": \"https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4\",\n \"mediaCategory\": \"ADDITIONAL\",\n \"description\": \"Introductory video\",\n \"mediaFormat\": \"VIDEO\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/business/{businessNumber}/upload/media")
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 \"media\": [\n {\n \"url\": \"https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2\",\n \"mediaCategory\": \"TEAMS\",\n \"description\": \"Image of the team\",\n \"mediaFormat\": \"PHOTO\"\n },\n {\n \"url\": \"https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4\",\n \"mediaCategory\": \"ADDITIONAL\",\n \"description\": \"Introductory video\",\n \"mediaFormat\": \"VIDEO\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"media": [
{
"mediaId": "987654321123",
"url": "https://images.pexels.com/photos/12128533/pexels-photo-12128533.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2",
"mediaCategory": "TEAMS",
"description": "Image of the team",
"mediaFormat": "PHOTO"
},
{
"mediaId": "7654321123",
"url": "https://videos.pexels.com/video/123123/pexelsvideo-12323.mp4",
"mediaCategory": "ADDITIONAL",
"description": "Introductory video",
"mediaFormat": "VIDEO"
}
]
}{
"code": 2174,
"message": "Unsupported media format"
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 89,
"message": "Rate limit exceeded"
}Headers
e.g. application/json
e.g. [Required] Partner specific API key provided by Birdeye for data exchange.
Media type of the JSON request body.
Path Parameters
Location Number, in case of SMB it will be Business Number.
Body
application/json
List of media items to be uploaded.
Show child attributes
Show child attributes
Response
OK
List of media items.
Show child attributes
Show child attributes
⌘I