400
invalid_requestThe request did not satisfy the documented contract.
Beladed Marketing API
Create Campaign through the reviewed Beladed Marketing contract.
/api/marketing/campaign/createcurl --request POST 'https://api.beladed.dev/api/marketing/campaign/create' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-Beladed-API-Key: BELADED_SECRET_KEY' \
--data '{
"workspaceId": "id_demo_001",
"title": "Summer Sale Campaign",
"description": "Automated social media campaign for summer sale",
"tags": [
"summer",
"sale"
],
"objective": "conversion",
"category": "ecommerce",
"subCategory": "seasonal",
"automationSettings": {
"autoPost": true,
"autoReply": false,
"autoEmail": "developer@example.invalid",
"autoSms": false,
"scheduledPosts": [
{
"platform": "instagram",
"time": "09:00",
"content": "Summer sale starts now!"
}
]
},
"targetAudience": {
"demographics": {
"age": "18-35",
"location": "US"
},
"interests": [
"fashion",
"shopping"
],
"behaviors": [
"online_shopper"
]
},
"schedule": {
"startDate": "2024-06-01",
"endDate": "2024-08-31",
"timezone": "UTC",
"frequency": "daily"
},
"budget": 1000
}'const response = await fetch("https://api.beladed.dev/api/marketing/campaign/create", {
method: "POST",
headers: {
"Accept": "application/json",
"Content-Type": "application/json",
"X-Beladed-API-Key": "BELADED_SECRET_KEY"
},
body: JSON.stringify({
"workspaceId": "id_demo_001",
"title": "Summer Sale Campaign",
"description": "Automated social media campaign for summer sale",
"tags": [
"summer",
"sale"
],
"objective": "conversion",
"category": "ecommerce",
"subCategory": "seasonal",
"automationSettings": {
"autoPost": true,
"autoReply": false,
"autoEmail": "developer@example.invalid",
"autoSms": false,
"scheduledPosts": [
{
"platform": "instagram",
"time": "09:00",
"content": "Summer sale starts now!"
}
]
},
"targetAudience": {
"demographics": {
"age": "18-35",
"location": "US"
},
"interests": [
"fashion",
"shopping"
],
"behaviors": [
"online_shopper"
]
},
"schedule": {
"startDate": "2024-06-01",
"endDate": "2024-08-31",
"timezone": "UTC",
"frequency": "daily"
},
"budget": 1000
})
});
if (!response.ok) throw new Error(`Beladed request failed: ${response.status}`);
const responseText = await response.text();
const data = responseText ? JSON.parse(responseText) : null;import json
import requests
response = requests.request(
"POST",
"https://api.beladed.dev/api/marketing/campaign/create",
headers={"Accept":"application/json","Content-Type":"application/json","X-Beladed-API-Key":"BELADED_SECRET_KEY"},
json=json.loads("{\n \"workspaceId\": \"id_demo_001\",\n \"title\": \"Summer Sale Campaign\",\n \"description\": \"Automated social media campaign for summer sale\",\n \"tags\": [\n \"summer\",\n \"sale\"\n ],\n \"objective\": \"conversion\",\n \"category\": \"ecommerce\",\n \"subCategory\": \"seasonal\",\n \"automationSettings\": {\n \"autoPost\": true,\n \"autoReply\": false,\n \"autoEmail\": \"developer@example.invalid\",\n \"autoSms\": false,\n \"scheduledPosts\": [\n {\n \"platform\": \"instagram\",\n \"time\": \"09:00\",\n \"content\": \"Summer sale starts now!\"\n }\n ]\n },\n \"targetAudience\": {\n \"demographics\": {\n \"age\": \"18-35\",\n \"location\": \"US\"\n },\n \"interests\": [\n \"fashion\",\n \"shopping\"\n ],\n \"behaviors\": [\n \"online_shopper\"\n ]\n },\n \"schedule\": {\n \"startDate\": \"2024-06-01\",\n \"endDate\": \"2024-08-31\",\n \"timezone\": \"UTC\",\n \"frequency\": \"daily\"\n },\n \"budget\": 1000\n}"),
timeout=30,
)
response.raise_for_status()
data = response.json()<?php
$client = curl_init('https://api.beladed.dev/api/marketing/campaign/create');
curl_setopt_array($client, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Accept: application/json', 'Content-Type: application/json', 'X-Beladed-API-Key: BELADED_SECRET_KEY'],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => '{
"workspaceId": "id_demo_001",
"title": "Summer Sale Campaign",
"description": "Automated social media campaign for summer sale",
"tags": [
"summer",
"sale"
],
"objective": "conversion",
"category": "ecommerce",
"subCategory": "seasonal",
"automationSettings": {
"autoPost": true,
"autoReply": false,
"autoEmail": "developer@example.invalid",
"autoSms": false,
"scheduledPosts": [
{
"platform": "instagram",
"time": "09:00",
"content": "Summer sale starts now!"
}
]
},
"targetAudience": {
"demographics": {
"age": "18-35",
"location": "US"
},
"interests": [
"fashion",
"shopping"
],
"behaviors": [
"online_shopper"
]
},
"schedule": {
"startDate": "2024-06-01",
"endDate": "2024-08-31",
"timezone": "UTC",
"frequency": "daily"
},
"budget": 1000
}',
]);
$response = curl_exec($client);
if ($response === false) throw new RuntimeException(curl_error($client));
curl_close($client);
$data = $response === "" ? null : json_decode($response, true, 512, JSON_THROW_ON_ERROR);require "net/http"
require "json"
uri = URI('https://api.beladed.dev/api/marketing/campaign/create')
request = Net::HTTP::Post.new(uri)
request['Accept'] = 'application/json'
request['Content-Type'] = 'application/json'
request['X-Beladed-API-Key'] = 'BELADED_SECRET_KEY'
request.body = '{
"workspaceId": "id_demo_001",
"title": "Summer Sale Campaign",
"description": "Automated social media campaign for summer sale",
"tags": [
"summer",
"sale"
],
"objective": "conversion",
"category": "ecommerce",
"subCategory": "seasonal",
"automationSettings": {
"autoPost": true,
"autoReply": false,
"autoEmail": "developer@example.invalid",
"autoSms": false,
"scheduledPosts": [
{
"platform": "instagram",
"time": "09:00",
"content": "Summer sale starts now!"
}
]
},
"targetAudience": {
"demographics": {
"age": "18-35",
"location": "US"
},
"interests": [
"fashion",
"shopping"
],
"behaviors": [
"online_shopper"
]
},
"schedule": {
"startDate": "2024-06-01",
"endDate": "2024-08-31",
"timezone": "UTC",
"frequency": "daily"
},
"budget": 1000
}'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }
raise "Beladed request failed: #{response.code}" unless response.is_a?(Net::HTTPSuccess)
data = response.body.empty? ? nil : JSON.parse(response.body)public class BeladedExample {
public static void main(String[] args) throws Exception {
var request = java.net.http.HttpRequest.newBuilder()
.uri(java.net.URI.create("https://api.beladed.dev/api/marketing/campaign/create"))
.header("Accept", "application/json")
.header("Content-Type", "application/json")
.header("X-Beladed-API-Key", "BELADED_SECRET_KEY")
.method("POST", java.net.http.HttpRequest.BodyPublishers.ofString("{\n \"workspaceId\": \"id_demo_001\",\n \"title\": \"Summer Sale Campaign\",\n \"description\": \"Automated social media campaign for summer sale\",\n \"tags\": [\n \"summer\",\n \"sale\"\n ],\n \"objective\": \"conversion\",\n \"category\": \"ecommerce\",\n \"subCategory\": \"seasonal\",\n \"automationSettings\": {\n \"autoPost\": true,\n \"autoReply\": false,\n \"autoEmail\": \"developer@example.invalid\",\n \"autoSms\": false,\n \"scheduledPosts\": [\n {\n \"platform\": \"instagram\",\n \"time\": \"09:00\",\n \"content\": \"Summer sale starts now!\"\n }\n ]\n },\n \"targetAudience\": {\n \"demographics\": {\n \"age\": \"18-35\",\n \"location\": \"US\"\n },\n \"interests\": [\n \"fashion\",\n \"shopping\"\n ],\n \"behaviors\": [\n \"online_shopper\"\n ]\n },\n \"schedule\": {\n \"startDate\": \"2024-06-01\",\n \"endDate\": \"2024-08-31\",\n \"timezone\": \"UTC\",\n \"frequency\": \"daily\"\n },\n \"budget\": 1000\n}"))
.build();
var response = java.net.http.HttpClient.newHttpClient().send(request, java.net.http.HttpResponse.BodyHandlers.ofString());
if (response.statusCode() >= 400) throw new IllegalStateException("Beladed request failed: " + response.statusCode());
var responseJson = response.body();
System.out.println(responseJson);
}
}package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
)
func callBeladed() (any, error) {
body := []byte("{\n \"workspaceId\": \"id_demo_001\",\n \"title\": \"Summer Sale Campaign\",\n \"description\": \"Automated social media campaign for summer sale\",\n \"tags\": [\n \"summer\",\n \"sale\"\n ],\n \"objective\": \"conversion\",\n \"category\": \"ecommerce\",\n \"subCategory\": \"seasonal\",\n \"automationSettings\": {\n \"autoPost\": true,\n \"autoReply\": false,\n \"autoEmail\": \"developer@example.invalid\",\n \"autoSms\": false,\n \"scheduledPosts\": [\n {\n \"platform\": \"instagram\",\n \"time\": \"09:00\",\n \"content\": \"Summer sale starts now!\"\n }\n ]\n },\n \"targetAudience\": {\n \"demographics\": {\n \"age\": \"18-35\",\n \"location\": \"US\"\n },\n \"interests\": [\n \"fashion\",\n \"shopping\"\n ],\n \"behaviors\": [\n \"online_shopper\"\n ]\n },\n \"schedule\": {\n \"startDate\": \"2024-06-01\",\n \"endDate\": \"2024-08-31\",\n \"timezone\": \"UTC\",\n \"frequency\": \"daily\"\n },\n \"budget\": 1000\n}")
request, err := http.NewRequest("POST", "https://api.beladed.dev/api/marketing/campaign/create", bytes.NewReader(body))
if err != nil { return nil, err }
request.Header.Set("Accept", "application/json")
request.Header.Set("Content-Type", "application/json")
request.Header.Set("X-Beladed-API-Key", "BELADED_SECRET_KEY")
response, err := http.DefaultClient.Do(request)
if err != nil { return nil, err }
defer response.Body.Close()
if response.StatusCode >= 400 { return nil, fmt.Errorf("Beladed request failed: %s", response.Status) }
var data any
if err := json.NewDecoder(response.Body).Decode(&data); err != nil && err != io.EOF { return nil, err }
return data, nil
}
func main() {
data, err := callBeladed()
if err != nil { panic(err) }
fmt.Printf("%#v\n", data)
}using System.Net.Http;
using var client = new HttpClient();
using var request = new HttpRequestMessage(new HttpMethod("POST"), "https://api.beladed.dev/api/marketing/campaign/create");
request.Headers.TryAddWithoutValidation("Accept", "application/json");
request.Headers.TryAddWithoutValidation("Content-Type", "application/json");
request.Headers.TryAddWithoutValidation("X-Beladed-API-Key", "BELADED_SECRET_KEY");
request.Content = new StringContent("{\n \"workspaceId\": \"id_demo_001\",\n \"title\": \"Summer Sale Campaign\",\n \"description\": \"Automated social media campaign for summer sale\",\n \"tags\": [\n \"summer\",\n \"sale\"\n ],\n \"objective\": \"conversion\",\n \"category\": \"ecommerce\",\n \"subCategory\": \"seasonal\",\n \"automationSettings\": {\n \"autoPost\": true,\n \"autoReply\": false,\n \"autoEmail\": \"developer@example.invalid\",\n \"autoSms\": false,\n \"scheduledPosts\": [\n {\n \"platform\": \"instagram\",\n \"time\": \"09:00\",\n \"content\": \"Summer sale starts now!\"\n }\n ]\n },\n \"targetAudience\": {\n \"demographics\": {\n \"age\": \"18-35\",\n \"location\": \"US\"\n },\n \"interests\": [\n \"fashion\",\n \"shopping\"\n ],\n \"behaviors\": [\n \"online_shopper\"\n ]\n },\n \"schedule\": {\n \"startDate\": \"2024-06-01\",\n \"endDate\": \"2024-08-31\",\n \"timezone\": \"UTC\",\n \"frequency\": \"daily\"\n },\n \"budget\": 1000\n}", System.Text.Encoding.UTF8, "application/json");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var responseBody = await response.Content.ReadAsStringAsync();
using var data = System.Text.Json.JsonDocument.Parse(string.IsNullOrWhiteSpace(responseBody) ? "null" : responseBody);import Foundation
var request = URLRequest(url: URL(string: "https://api.beladed.dev/api/marketing/campaign/create")!)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Accept")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("BELADED_SECRET_KEY", forHTTPHeaderField: "X-Beladed-API-Key")
request.httpBody = "{\n \"workspaceId\": \"id_demo_001\",\n \"title\": \"Summer Sale Campaign\",\n \"description\": \"Automated social media campaign for summer sale\",\n \"tags\": [\n \"summer\",\n \"sale\"\n ],\n \"objective\": \"conversion\",\n \"category\": \"ecommerce\",\n \"subCategory\": \"seasonal\",\n \"automationSettings\": {\n \"autoPost\": true,\n \"autoReply\": false,\n \"autoEmail\": \"developer@example.invalid\",\n \"autoSms\": false,\n \"scheduledPosts\": [\n {\n \"platform\": \"instagram\",\n \"time\": \"09:00\",\n \"content\": \"Summer sale starts now!\"\n }\n ]\n },\n \"targetAudience\": {\n \"demographics\": {\n \"age\": \"18-35\",\n \"location\": \"US\"\n },\n \"interests\": [\n \"fashion\",\n \"shopping\"\n ],\n \"behaviors\": [\n \"online_shopper\"\n ]\n },\n \"schedule\": {\n \"startDate\": \"2024-06-01\",\n \"endDate\": \"2024-08-31\",\n \"timezone\": \"UTC\",\n \"frequency\": \"daily\"\n },\n \"budget\": 1000\n}".data(using: .utf8)
let (data, response) = try await URLSession.shared.data(for: request)
guard let httpResponse = response as? HTTPURLResponse, (200..<300).contains(httpResponse.statusCode) else { throw URLError(.badServerResponse) }
let decoded: Any? = data.isEmpty ? nil : (try JSONSerialization.jsonObject(with: data))fun main() {
val request = okhttp3.Request.Builder()
.url("https://api.beladed.dev/api/marketing/campaign/create")
.addHeader("Accept", "application/json")
.addHeader("Content-Type", "application/json")
.addHeader("X-Beladed-API-Key", "BELADED_SECRET_KEY")
.method("POST", okhttp3.RequestBody.create(okhttp3.MediaType.get("application/json"), "{\n \"workspaceId\": \"id_demo_001\",\n \"title\": \"Summer Sale Campaign\",\n \"description\": \"Automated social media campaign for summer sale\",\n \"tags\": [\n \"summer\",\n \"sale\"\n ],\n \"objective\": \"conversion\",\n \"category\": \"ecommerce\",\n \"subCategory\": \"seasonal\",\n \"automationSettings\": {\n \"autoPost\": true,\n \"autoReply\": false,\n \"autoEmail\": \"developer@example.invalid\",\n \"autoSms\": false,\n \"scheduledPosts\": [\n {\n \"platform\": \"instagram\",\n \"time\": \"09:00\",\n \"content\": \"Summer sale starts now!\"\n }\n ]\n },\n \"targetAudience\": {\n \"demographics\": {\n \"age\": \"18-35\",\n \"location\": \"US\"\n },\n \"interests\": [\n \"fashion\",\n \"shopping\"\n ],\n \"behaviors\": [\n \"online_shopper\"\n ]\n },\n \"schedule\": {\n \"startDate\": \"2024-06-01\",\n \"endDate\": \"2024-08-31\",\n \"timezone\": \"UTC\",\n \"frequency\": \"daily\"\n },\n \"budget\": 1000\n}"))
.build()
val responseJson = okhttp3.OkHttpClient().newCall(request).execute().use { response ->
check(response.isSuccessful) { "Beladed request failed: ${response.code}" }
response.body?.string().orEmpty()
}
println(responseJson)
}
This operation has no documented parameters.
{
"type": "object",
"properties": {
"workspaceId": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"objective": {
"type": "string"
},
"category": {
"type": "string"
},
"subCategory": {
"type": "string"
},
"automationSettings": {
"type": "object",
"properties": {
"autoPost": {
"type": "boolean"
},
"autoReply": {
"type": "boolean"
},
"autoEmail": {
"type": "string"
},
"autoSms": {
"type": "boolean"
},
"scheduledPosts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"platform": {
"type": "string"
},
"time": {
"type": "string"
},
"content": {
"type": "string"
}
}
}
}
}
},
"targetAudience": {
"type": "object",
"properties": {
"demographics": {
"type": "object",
"properties": {
"age": {
"type": "string"
},
"location": {
"type": "string"
}
}
},
"interests": {
"type": "array",
"items": {
"type": "string"
}
},
"behaviors": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"schedule": {
"type": "object",
"properties": {
"startDate": {
"type": "string"
},
"endDate": {
"type": "string"
},
"timezone": {
"type": "string"
},
"frequency": {
"type": "string"
}
}
},
"budget": {
"type": "integer"
}
}
}{
"workspaceId": "id_demo_001",
"title": "Summer Sale Campaign",
"description": "Automated social media campaign for summer sale",
"tags": [
"summer",
"sale"
],
"objective": "conversion",
"category": "ecommerce",
"subCategory": "seasonal",
"automationSettings": {
"autoPost": true,
"autoReply": false,
"autoEmail": "developer@example.invalid",
"autoSms": false,
"scheduledPosts": [
{
"platform": "instagram",
"time": "09:00",
"content": "Summer sale starts now!"
}
]
},
"targetAudience": {
"demographics": {
"age": "18-35",
"location": "US"
},
"interests": [
"fashion",
"shopping"
],
"behaviors": [
"online_shopper"
]
},
"schedule": {
"startDate": "2024-06-01",
"endDate": "2024-08-31",
"timezone": "UTC",
"frequency": "daily"
},
"budget": 1000
}
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"requestId": {
"type": "string"
}
}
}{
"data": {
"id": "id_demo_001",
"status": "available"
},
"requestId": "req_demo_001"
}
invalid_requestThe request did not satisfy the documented contract.
authentication_requiredThe credential is missing or invalid.
not_authorizedThe account, product scope, permission, or origin is not eligible.
not_foundThe requested public or account-owned resource was not found.
rate_limitedRetry after the current product limit resets.
This operation is published from reviewed route, handler, and test contracts. Internal implementation paths remain private.