List posts
curl --request GET \
--url https://{domain}/os/api/{workspace}/posts \
--header 'Authorization: Bearer <token>'import requests
url = "https://{domain}/os/api/{workspace}/posts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{domain}/os/api/{workspace}/posts', 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://{domain}/os/api/{workspace}/posts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://{domain}/os/api/{workspace}/posts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{domain}/os/api/{workspace}/posts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{domain}/os/api/{workspace}/posts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "draft",
"accounts": [
{
"id": 123,
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"username": "<string>",
"image": "<string>",
"provider": "instagram",
"data": {},
"authorized": true,
"created_at": "<string>",
"published_at": "<string>"
}
],
"versions": [
{
"account_id": 0,
"is_original": true,
"content": [
{
"body": "Our autumn sale starts today!",
"url": "<string>",
"media": [
123
]
}
],
"options": {}
}
],
"tags": [
{
"id": 123,
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"hex_color": "#4F46E5"
}
],
"user": {
"name": "<string>"
},
"scheduled_at": "<string>",
"published_at": "<string>",
"partially_published_at": "<string>",
"failed_at": "<string>",
"created_at": "<string>",
"trashed": true
}
],
"links": {},
"meta": {}
}Posts
List posts
20 posts per page.
Required permission: publishing:posts:read
GET
/
{workspace}
/
posts
List posts
curl --request GET \
--url https://{domain}/os/api/{workspace}/posts \
--header 'Authorization: Bearer <token>'import requests
url = "https://{domain}/os/api/{workspace}/posts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{domain}/os/api/{workspace}/posts', 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://{domain}/os/api/{workspace}/posts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://{domain}/os/api/{workspace}/posts"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{domain}/os/api/{workspace}/posts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{domain}/os/api/{workspace}/posts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "draft",
"accounts": [
{
"id": 123,
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"username": "<string>",
"image": "<string>",
"provider": "instagram",
"data": {},
"authorized": true,
"created_at": "<string>",
"published_at": "<string>"
}
],
"versions": [
{
"account_id": 0,
"is_original": true,
"content": [
{
"body": "Our autumn sale starts today!",
"url": "<string>",
"media": [
123
]
}
],
"options": {}
}
],
"tags": [
{
"id": 123,
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"hex_color": "#4F46E5"
}
],
"user": {
"name": "<string>"
},
"scheduled_at": "<string>",
"published_at": "<string>",
"partially_published_at": "<string>",
"failed_at": "<string>",
"created_at": "<string>",
"trashed": true
}
],
"links": {},
"meta": {}
}Authorizations
bearerAuthapiKeyHeader
A workspace API key: Authorization: Bearer osk_...
Path Parameters
Your workspace UUID. Must match the API key's workspace.
Query Parameters
Filter by status.
Search post content.
Only posts for these account ids.
Only posts with these tag ids.
Available options:
date_created, date_published