logo
Introduction
API Reference
Authentication
Highlights
List highlights
Create a highlight
Retrieve a highlight
Update a highlight
Delete a highlight
Titles
List titles
Create a title
Retrieve a title
Update a title
Delete a title
powered by zuplo
Sign in

michalsujka.io

The API provides access to my library of highlights and titles. Highlights are short texts that capture something interesting or thought-provoking from a book, letter, article, podcast, or any other source. Titles represent all types of reading material I have in my library, including books, letters, blogs, transcripts, and reports. These are all organised into four categories: life, which contains ideas for living a better and happier life; business, which focuses on building better businesses and products; investing, which provides insights into investing and growing wealth; and technology, which explores technology-related ideas. Some titles may not have a category assigned and will have a null value.

BASE URL
https://michalsujka-main-55d81d3.zuplo.app

Authentication

Sign into view and manage your API credentials

Highlights

Highlight is a short text that captures something interesting or, thought-provoking from a book, letter, article, podcast, or any other source. The highlights can be used to remember, share, or inspire. Over the years I have collected a lot of highlights, and I am in the process of digitising them. As of today, only some of them are available via this API.

ENDPOINTS
GET/highlights
POST/highlights
GET/highlights/:id
PATCH/highlights/:id
DELETE/highlights/:id

Titles

Titles represent all types of reading material I have in my library, including books, letters, blogs, transcripts, and reports. These are all organised into four categories: life, which contains ideas for living a better and happier life; business, which focuses on building better businesses and products; investing, which provides insights into investing and growing wealth; and technology, which explores technology-related ideas. Some titles may not have a category assigned and will have a null value. My current favorite titles have the category favorite assigned.

ENDPOINTS
GET/titles
POST/titles
GET/titles/:id
PATCH/titles/:id
DELETE/titles/:id

List highlights

Returns a list of the highlights. You can filter the list by author, title, and highlighted text. You can also limit the number of objects returned and order them in ascending or random order. The default limit is 10 objects. The default order is random.

Query Parameters

author

optional, string, nullable, maximum length of 255, minimum length of 1

The name of the original author or authors.

category

optional, string enum, nullable

Titles and highlights are categorised into four categories: life, which contains ideas for living a better and happier life; business, which focuses on building better businesses and products; investing, which provides insights into investing and growing wealth; technology, which explores technology-related ideas. My current "best of" are labeled with category favorite. Some may not have a category assigned and will have a null value.

Possible Enum Values

life

business

investing

technology

favorite

limit

optional, integer, default: 10, maximum value of 100, minimum value of 1

The number of objects to return.

order

optional, string enum, default: random

The order in which to return the objects. ascending returns the highlights in the order they appear in the original text, sorted by the index property if specified. random returns the highlights in a random order. The default order is random.

Possible Enum Values

ascending

random

text

optional, string, maximum length of 2048, minimum length of 1

The text of the highlight.

title

optional, string, maximum length of 255, minimum length of 1

The main title of the book, letter, podcast, transcript or any other text.

GET
/highlights
1

Create a highlight

Creates a new highlight object.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Request Body

text

required, string, maximum length of 2048, minimum length of 1

The text of the highlight.

title

required, string, maximum length of 255, minimum length of 1

The main title of the book, letter, podcast, transcript or any other text.

heading

optional, string, nullable, maximum length of 255, minimum length of 1

The heading, subtitle, or chapter of the book, letter, podcast or any other source.

author

optional, string, nullable, maximum length of 255, minimum length of 1

The name of the original author or authors.

category

optional, string enum, nullable

Titles and highlights are categorised into four categories: life, which contains ideas for living a better and happier life; business, which focuses on building better businesses and products; investing, which provides insights into investing and growing wealth; technology, which explores technology-related ideas. My current "best of" are labeled with category favorite. Some may not have a category assigned and will have a null value.

Possible Enum Values

life

business

investing

technology

favorite

index

optional, integer, nullable, minimum value of 1

The index defines the order of highlights as they appear on the source text.

notes

optional, string, nullable, maximum length of 1024, minimum length of 1

My notes to the highlight. Most often, I use the notes to add context to the highlight.

page

optional, integer, nullable, maximum value of 10000, minimum value of 1

The page number makes it easier to find the highlighted text in the original text. Note that I do not always provide the page number and page numbers may differ for different editions of the same book.

POST
/highlights
1
EXAMPLE BODY
{
  "text": "Difference for the sake of it. In everything. Because it must be better. From the moment the idea strikes, to the running of the business. Difference, and retention of total control.",
  "title": "Against The Odds",
  "heading": "Introduction",
  "author": "James Dyson",
  "category": "business",
  "index": 5,
  "page": 9
}

Retrieve a highlight

Retrieves the details of an existing highlight. Supply the unique highlight id from either a highlight creation request or the highlights list, and I will return the corresponding highlight information.

Path Parameters

id

required, string, maximum length of 255, minimum length of 1

The unique identifier of the object.

GET
/highlights/:id
1

Update a highlight

Updates the specific highlight by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

id

required, string, maximum length of 255, minimum length of 1

The unique identifier of the object.

Request Body

text

optional, string, maximum length of 2048, minimum length of 1

The text of the highlight.

title

optional, string, maximum length of 255, minimum length of 1

The main title of the book, letter, podcast, transcript or any other text.

heading

optional, string, nullable, maximum length of 255, minimum length of 1

The heading, subtitle, or chapter of the book, letter, podcast or any other source.

author

optional, string, nullable, maximum length of 255, minimum length of 1

The name of the original author or authors.

category

optional, string enum, nullable

Titles and highlights are categorised into four categories: life, which contains ideas for living a better and happier life; business, which focuses on building better businesses and products; investing, which provides insights into investing and growing wealth; technology, which explores technology-related ideas. My current "best of" are labeled with category favorite. Some may not have a category assigned and will have a null value.

Possible Enum Values

life

business

investing

technology

favorite

index

optional, integer, nullable, minimum value of 1

The index defines the order of highlights as they appear on the source text.

notes

optional, string, nullable, maximum length of 1024, minimum length of 1

My notes to the highlight. Most often, I use the notes to add context to the highlight.

page

optional, integer, nullable, maximum value of 10000, minimum value of 1

The page number makes it easier to find the highlighted text in the original text. Note that I do not always provide the page number and page numbers may differ for different editions of the same book.

PATCH
/highlights/:id
1
EXAMPLE BODY
{
  "author": "James Dyson"
}

Delete a highlight

Deletes the specific highlight. You need to supply the unique highlight id to delete the highlight.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

id

required, string, maximum length of 255, minimum length of 1

The unique identifier of the object.

DELETE
/highlights/:id
1

List titles

Returns a sorted list of titles. You can refine your search by specifying the author, title, or category. By default, the limit is 10 objects ordered alphabetically by title, with favorite titles appearing at the top.

Query Parameters

author

optional, string, nullable, maximum length of 255, minimum length of 1

The name of the original author or authors.

category

optional, string enum, nullable

Titles and highlights are categorised into four categories: life, which contains ideas for living a better and happier life; business, which focuses on building better businesses and products; investing, which provides insights into investing and growing wealth; technology, which explores technology-related ideas. My current "best of" are labeled with category favorite. Some may not have a category assigned and will have a null value.

Possible Enum Values

life

business

investing

technology

favorite

limit

optional, integer, default: 10, maximum value of 100, minimum value of 1

The number of objects to return.

title

optional, string, maximum length of 255, minimum length of 1

The main title of the book, letter, podcast, transcript or any other text.

GET
/titles
1

Create a title

Creates a new title object.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Request Body

title

required, string, maximum length of 255, minimum length of 1

The main title of the book, letter, podcast, transcript or any other text.

author

optional, string, nullable, maximum length of 255, minimum length of 1

The name of the original author or authors.

category

optional, string enum, nullable

Titles and highlights are categorised into four categories: life, which contains ideas for living a better and happier life; business, which focuses on building better businesses and products; investing, which provides insights into investing and growing wealth; technology, which explores technology-related ideas. My current "best of" are labeled with category favorite. Some may not have a category assigned and will have a null value.

Possible Enum Values

life

business

investing

technology

favorite

POST
/titles
1
EXAMPLE BODY
{
  "title": "Against The Odds",
  "author": "James Dyson",
  "category": "business"
}

Retrieve a title

Retrieves the details of an existing title. Supply the unique title id from either a title creation request or the title list, and I will return the corresponding title information.

Path Parameters

id

required, string, maximum length of 255, minimum length of 1

The unique identifier of the object.

GET
/titles/:id
1

Update a title

Updates the specific title by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

id

required, string, maximum length of 255, minimum length of 1

The unique identifier of the object.

Request Body

title

optional, string, maximum length of 255, minimum length of 1

The main title of the book, letter, podcast, transcript or any other text.

author

optional, string, nullable, maximum length of 255, minimum length of 1

The name of the original author or authors.

category

optional, string enum, nullable

Titles and highlights are categorised into four categories: life, which contains ideas for living a better and happier life; business, which focuses on building better businesses and products; investing, which provides insights into investing and growing wealth; technology, which explores technology-related ideas. My current "best of" are labeled with category favorite. Some may not have a category assigned and will have a null value.

Possible Enum Values

life

business

investing

technology

favorite

PATCH
/titles/:id
1
EXAMPLE BODY
{
  "author": "James Dyson"
}

Delete a title

Deletes the specific title. You need to supply the unique title id to delete the title.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

id

required, string, maximum length of 255, minimum length of 1

The unique identifier of the object.

DELETE
/titles/:id
1