curl --request POST \
--url https://api.fourthwall.com/channel-api/v1.0/shops \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"ownerEmail": "<string>"
}
'import requests
url = "https://api.fourthwall.com/channel-api/v1.0/shops"
payload = {
"name": "<string>",
"ownerEmail": "<string>"
}
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({name: '<string>', ownerEmail: '<string>'})
};
fetch('https://api.fourthwall.com/channel-api/v1.0/shops', 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.fourthwall.com/channel-api/v1.0/shops",
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([
'name' => '<string>',
'ownerEmail' => '<string>'
]),
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.fourthwall.com/channel-api/v1.0/shops"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"ownerEmail\": \"<string>\"\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.fourthwall.com/channel-api/v1.0/shops")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"ownerEmail\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fourthwall.com/channel-api/v1.0/shops")
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 \"name\": \"<string>\",\n \"ownerEmail\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"shopId": "<string>",
"shopName": "<string>",
"publicToken": "<string>",
"invitationEmail": "<string>",
"invitationStatus": "<string>",
"payoutOnboardingUrl": "<string>"
}Create a shop
curl --request POST \
--url https://api.fourthwall.com/channel-api/v1.0/shops \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"ownerEmail": "<string>"
}
'import requests
url = "https://api.fourthwall.com/channel-api/v1.0/shops"
payload = {
"name": "<string>",
"ownerEmail": "<string>"
}
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({name: '<string>', ownerEmail: '<string>'})
};
fetch('https://api.fourthwall.com/channel-api/v1.0/shops', 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.fourthwall.com/channel-api/v1.0/shops",
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([
'name' => '<string>',
'ownerEmail' => '<string>'
]),
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.fourthwall.com/channel-api/v1.0/shops"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"ownerEmail\": \"<string>\"\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.fourthwall.com/channel-api/v1.0/shops")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"ownerEmail\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fourthwall.com/channel-api/v1.0/shops")
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 \"name\": \"<string>\",\n \"ownerEmail\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"shopId": "<string>",
"shopName": "<string>",
"publicToken": "<string>",
"invitationEmail": "<string>",
"invitationStatus": "<string>",
"payoutOnboardingUrl": "<string>"
}Body
Display name for the new shop.
Email to invite as the shop owner. When set, an owner invitation is sent. Also used as the payout account email when payout.prefill.individual.email is absent.
Optional payout onboarding. When present, a connected payout account is provisioned for the shop and a hosted onboarding URL is returned as payoutOnboardingUrl.
Show child attributes
Show child attributes
Response
Created
Id of the newly created shop.
Display name of the created shop.
Public storefront token for the shop.
Email the owner invitation was sent to, if ownerEmail was provided.
Status of the owner invitation (e.g. INVITED, FAILED), or null when no email was provided.
Hosted payout onboarding URL to redirect the creator to. Present only when payout was supplied. Single-use and short-lived.