curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id} \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}', 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://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"api_key: <api-key>"
],
]);
$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://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"job_id": "68a1c4f0d21b4e0a3c77e912",
"status": "pending",
"phase": "finalize",
"result": {
"selected": 6,
"materialized": 4,
"created_workflows": 3,
"reused_workflows": 1,
"plan_limited": 1,
"needs_reconnect": 1,
"failed": 0,
"skipped": 0
},
"error": "Scheduling failed. Please try again."
}Get scheduling job
Reports on a scheduling job started by Start scheduling posts.
Poll it until status is completed or failed. A completed job carries result, the count of what happened to each post it took on. A failed job leaves result empty and sets error to a fixed message that says nothing about the cause; the posts it had already dealt with keep the status that run gave them and the rest are untouched, so you can start scheduling the same range again.
The social calendar endpoints share two rate limits: 20 requests per minute across creating, editing, deleting and approving posts, and 40 requests per minute across the rest. This endpoint counts against the 40.
curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id} \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}', 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://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"api_key: <api-key>"
],
]);
$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://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/social-calendar/posts/schedule/{job_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"job_id": "68a1c4f0d21b4e0a3c77e912",
"status": "pending",
"phase": "finalize",
"result": {
"selected": 6,
"materialized": 4,
"created_workflows": 3,
"reused_workflows": 1,
"plan_limited": 1,
"needs_reconnect": 1,
"failed": 0,
"skipped": 0
},
"error": "Scheduling failed. Please try again."
}Authorizations
Personal API key.
Path Parameters
ID of the scheduling job, as returned by Start scheduling posts.
ID of the app whose social calendar you want.
Response
The job's progress, and its result once it completes.
ID of the scheduling job. Pass it as job_id to Get scheduling job.
"68a1c4f0d21b4e0a3c77e912"
State of the job: pending before it starts, running while it hands posts over, then completed or failed. A range holding nothing to schedule comes back completed straight away.
"pending"
How far the job has got, for display only: pending, prepare, sandbox_sync, finalize, then completed. Read status to decide when the job is done, because these phases change as the pipeline does.
"finalize"
What happened to the posts the job took on. Set once status is completed, and null before that or on a failed job.
Show child attributes
Show child attributes
Set when status is failed, and null otherwise. It is always the same fixed message and carries no detail about the failure, so treat it as a flag rather than something to parse or show as a reason.
"Scheduling failed. Please try again."
Was this page helpful?