curl --request GET \
--url 'https://api.bannerify.co/v1/templates/signedurl?apiKey='import requests
url = "https://api.bannerify.co/v1/templates/signedurl?apiKey="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.bannerify.co/v1/templates/signedurl?apiKey=', 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.bannerify.co/v1/templates/signedurl?apiKey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bannerify.co/v1/templates/signedurl?apiKey="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bannerify.co/v1/templates/signedurl?apiKey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bannerify.co/v1/templates/signedurl?apiKey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body"<string>"{
"error": {
"code": "BAD_REQUEST",
"docs": "https://bannerify.co/docs/api-reference/errors/code/BAD_REQUEST",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "UNAUTHORIZED",
"docs": "https://bannerify.co/docs/api-reference/errors/code/UNAUTHORIZED",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "FORBIDDEN",
"docs": "https://bannerify.co/docs/api-reference/errors/code/FORBIDDEN",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "NOT_FOUND",
"docs": "https://bannerify.co/docs/api-reference/errors/code/NOT_FOUND",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "CONFLICT",
"docs": "https://bannerify.co/docs/api-reference/errors/code/CONFLICT",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "TOO_MANY_REQUESTS",
"docs": "https://bannerify.co/docs/api-reference/errors/code/TOO_MANY_REQUESTS",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"docs": "https://bannerify.co/docs/api-reference/errors/code/INTERNAL_SERVER_ERROR",
"message": "<string>",
"requestId": "req:1234"
}
}Signed url
Generate a signed URL for a template
curl --request GET \
--url 'https://api.bannerify.co/v1/templates/signedurl?apiKey='import requests
url = "https://api.bannerify.co/v1/templates/signedurl?apiKey="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.bannerify.co/v1/templates/signedurl?apiKey=', 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.bannerify.co/v1/templates/signedurl?apiKey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bannerify.co/v1/templates/signedurl?apiKey="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bannerify.co/v1/templates/signedurl?apiKey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bannerify.co/v1/templates/signedurl?apiKey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body"<string>"{
"error": {
"code": "BAD_REQUEST",
"docs": "https://bannerify.co/docs/api-reference/errors/code/BAD_REQUEST",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "UNAUTHORIZED",
"docs": "https://bannerify.co/docs/api-reference/errors/code/UNAUTHORIZED",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "FORBIDDEN",
"docs": "https://bannerify.co/docs/api-reference/errors/code/FORBIDDEN",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "NOT_FOUND",
"docs": "https://bannerify.co/docs/api-reference/errors/code/NOT_FOUND",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "CONFLICT",
"docs": "https://bannerify.co/docs/api-reference/errors/code/CONFLICT",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "TOO_MANY_REQUESTS",
"docs": "https://bannerify.co/docs/api-reference/errors/code/TOO_MANY_REQUESTS",
"message": "<string>",
"requestId": "req:1234"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"docs": "https://bannerify.co/docs/api-reference/errors/code/INTERNAL_SERVER_ERROR",
"message": "<string>",
"requestId": "req:1234"
}
}Authorizations
Query Parameters
png, jpeg, webp By default, we cache the image in the CDN for 1 day to save your bandwidth, use this field to disable cache so you can get the latest image
"true"
Only for debug purpose, it draws bounding box for each layer
Optional custom S3 configuration. If provided, the generated file will be stored in your S3-compatible storage instead of the default Bannerify storage.
Show child attributes
Show child attributes
Your template id
"tpl_xxxxxxxxx"
MD5 hash of the API key
Sha256 hash of the API key (use this)
SHA256 hash of the query params, read more at https://bannerify.co/docs/api-reference/endpoint/signed-url
Template modifications as the API array format, an object shorthand, or a JSON string. Object values map to text by default, while nested objects keep fields such as src, qrcode, rows, or columns.
Show child attributes
Show child attributes
{
"headline": "Summer sale",
"photo": { "src": "https://example.com/photo.png" }
}
Generate thumbnail preview (low-quality, non-billable)
Response
A image file
The binary of image file