Books
Get a book
Retrieve a book by ID
GET
/
v1
/
books
/
{id}
Get a book
curl --request GET \
--url https://api.slant.app/v1/books/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.slant.app/v1/books/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.slant.app/v1/books/{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://api.slant.app/v1/books/{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 => [
"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://api.slant.app/v1/books/{id}"
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://api.slant.app/v1/books/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slant.app/v1/books/{id}")
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{
"id": "abc123xyz",
"name": "John's Book",
"role": "principal",
"users": [
{
"id": "abc123xyz",
"email": "user@example.com",
"first_name": "John",
"last_name": "Doe",
"role": "contributor",
"api_access": {
"auth_type": "personal_access_token",
"scope": "read_write"
}
}
],
"tiers": [
{
"value": 1,
"label": "A-tier"
}
],
"teams": [
{
"id": "<string>",
"name": "Advisory Team"
}
]
}{
"error": "invalid_json",
"detail": "<string>"
}{
"detail": "<string>"
}{
"error": "record_not_found",
"detail": "<string>"
}Authorizations
OAuth 2.0 Bearer Token from Clerk authentication
Path Parameters
The book ID
Response
successful
The ID of the book
Example:
"abc123xyz"
The name of the book
Example:
"John's Book"
The authenticated user's role in this book. Null for admin users accessing books without an explicit BookUser record.
Available options:
principal, contributor, viewer Example:
"principal"
Users with access to this book
Show child attributes
Show child attributes
Available tier labels for households in this book
Show child attributes
Show child attributes
Teams in the book's company
Show child attributes
Show child attributes
⌘I
Get a book
curl --request GET \
--url https://api.slant.app/v1/books/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.slant.app/v1/books/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.slant.app/v1/books/{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://api.slant.app/v1/books/{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 => [
"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://api.slant.app/v1/books/{id}"
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://api.slant.app/v1/books/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slant.app/v1/books/{id}")
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{
"id": "abc123xyz",
"name": "John's Book",
"role": "principal",
"users": [
{
"id": "abc123xyz",
"email": "user@example.com",
"first_name": "John",
"last_name": "Doe",
"role": "contributor",
"api_access": {
"auth_type": "personal_access_token",
"scope": "read_write"
}
}
],
"tiers": [
{
"value": 1,
"label": "A-tier"
}
],
"teams": [
{
"id": "<string>",
"name": "Advisory Team"
}
]
}{
"error": "invalid_json",
"detail": "<string>"
}{
"detail": "<string>"
}{
"error": "record_not_found",
"detail": "<string>"
}