Beautiful APIs

This book visually presents an illustrated collection of real-world Web APIs - All rigorously sans titre. There is no b

496 127 826KB

English Pages [100] Year 2021

Report DMCA / Copyright

DOWNLOAD FILE

Polecaj historie

Beautiful APIs

Citation preview

Beautiful APIs

Cesare Pautasso

This book is for sale at https://leanpub.com/beautiful-apis This version was published on February 5, 2021. ©2021 Cesare Pautasso

Beautiful APIs

Cesare Pautasso

Preface This illustrated book presents a collection of Web APIs.

While there are many books on how to design good APIs, the goal of this book is to show a small sample of actual API designs so that we can learn from them.

The APIs we have represented are Web APIs: they come from the time when many attempted with very different results to use the HTTP protocol to remotely invoke software delivered as a service.

The diagrams you will find browsing this book show the structure of Web APIs represented as trees of resources. The bulbs attached along the branches of the tree indicate which methods can be applied to each resource.

Every API shown in this book existed at some point in time: while its description may have survived until today stored in some open-source code repository, the service behind it may no longer be available to be remotely invoked across the Web. There is absolutely no relationship between the former and the latter.

The APIs have been selected mainly due to their visual appearance.

We wish you to enjoy looking at these beautiful APIs.

ii

POST

search

1

POST

GET GET

events

{id}

2

GET GET

translate

braille

dots GET

html GET

image GET

unicode

3

GET GET

{debtorNo}

naturalperson GET

legalperson GET

postaladdress GET

Debtors

contactinfo GET

staticstics GET

otherinfo GET

idno

{debtorID}

4

GET GET

base

binary GET

hex GET

octal GET

cardinal currency

GET

GET

fact GET

is-cube GET

is-palindrome GET

is-square numbers

GET

is-triangle GET

nod

GET

chinese GET

numeral

egyptian roman

GET

GET

factors

GET

ordinal

GET

is-fermat-prime GET

pi

GET

is-fibonacci-prime GET

is-mersenne-prime prime

GET

is-partition-prime GET GET

random

is-pell-prime GET

is-perfect GET

is-prime

5

GET

market

batch GET

delayed-quote GET

earnings stock GET

financials GET

short-interest {symbol}

GET

list GET

news

last

{range}

GET

previous GET

quote GET

splits

{range} GET

symbol-directory ref-data

daily-list

GET

next-day-ex-date GET

tops GET

hist GET

book GET

system-event GET

deep

op-halt-status GET

security-event GET

auction GET

recent stats GET

historical GET

market

6

POST

GET

GET GET

benchmark

start

{name}

GET

GET GET

run

kill

{runId}

GET GET

recent

sessions

GET

total GET

connections

GET

all GET

recent GET

stats

total GET

custom GET

benchmark

GET

histogram

GET

agents GET GET

log

{agent} GET

shutdown GET

version

7

GET

GetPerVMTypeOneBootShutDownData GET

getAllVMTypesBootShutDownDataAvg GET

getAllVMTypesBootShutDownDataRegression GET

getPerVMTypeAllBootShutDownData GET

getandStoreRegressionValues POST

initUserConfig GET

listAllInstances GET

trainDataSetRegression

8

POST

down

GET

auto POST

up

GET

POST

create

GET

POST

delete GET

getinfo deployment

GET

getjson POST

rollback POST

update

GET

GET GET

getlog

log GET

index POST

create

GET

POST

delete pod GET

getinfo GET

getjson POST

create

GET

POST

delete service GET

getinfo GET

getjson POST

create

GET

POST

delete st GET

getinfo GET

getjson POST

create

GET

POST

delete sto GET

getinfo GET

getjson POST

user

login

GET

9

GET GET

docs

swagger-ui GET

autocomplete POST

besthitsearch POST

GET

disease

{disease} GET

drug

{DRUG_ID}

eco

{ECO_ID}

enrichment

targets

GET

private

POST

GET

quicksearch POST

GET

relation

platform

disease

{disease} GET

target

{target}

POST

POST

target

expression

GET

GET

{target} GET

POST

filter

association POST

GET

GET

POST

filter

evidence public

GET

GET

metrics GET

search

GET

ping swagger

GET GET

utils

stats GET

therapeuticareas GET

version

10

POST

add address

GET

info GET

award

list

flow

list

game

list

login

auth

GET

GET

POST

GET

info notice

GET

list POST

create express query

GET

pay POST

create recharge query

GET

GET

award room

GET

info GET

list POST

add suggest GET

list GET

test

info

user

info

GET

11

GET

autocomplete POST

besthitsearch GET

docs

POST

GET

disease

private

{disease} GET

eco

{ECO_ID}

enrichment

targets

POST

GET

quicksearch POST

GET

relation

disease

{disease} GET

target

{target}

POST

POST

target

expression

GET

platform GET

{target} GET

POST

filter

association

GET

GET

request_token auth

GET

validate_token POST

public

GET

POST

filter

evidence

GET

GET

search swagger

GET

ping

GET

GET

utils

stats GET

version

12

POST

create containers

GET

json DEL POST

{id}

attach GET

changes copy

exec

POST

POST

GET

export GET

json POST

kill GET

logs pause

POST

POST

resize?h POST

restart POST

start POST

stop GET

top unpause

POST

POST

wait

13

GET

POST POST

user POST

login GET GET

words

specific PATCH

word

{id} POST

repeat

GET

POST

tags POST

text

words

14

GET

last-day GET

last-month chart

{resource} GET

last-week GET

year

{yearNum} POST

change-{resource} edit

{deviceId}

GET

menu GET

GET

get-role

{userId}

get-subordinates

{userId}

login

GET

GET

hidden-data

{userId}

live-data

{userId}

GET

overview

POST

add preferences

{userId}

POST

remove GET

table

{userId}

device

{type}

sensor

{type}

user

all

GET

GET

GET

user

PUT

add GET

all GET

byId

{id} GET

byUsername

{username} GET

{id}

15

GET

whoami POST

GET

users

POST

{id}

GET

groups

POST

roles

PUT GET

PUT

{id}

GET

GET

PUT

{id}

GET

16

POST

users

DEL

GET

PUT

{id}

GET

17

DEL POST

employees

GET

PATCH

{employeeNo}

PUT GET

18

POST

DEL

GET

PUT

events

POST

{eventid}

GET

DEL

GET

PUT

things

{thingid}

GET

19

PUT

POST

DEL

GET

GET

licenses

{licenseID}

HEAD

POST

POST

types

GET

DEL

{typeID}

GET

20

OPTIONS

OPTIONS

POST

addresses

DEL

{id}

PUT GET

OPTIONS

customers

POST

OPTIONS

DEL PUT GET

{email}

OPTIONS

address

GET

21

POST

signup auth POST

login GET

messages

POST

GET

unread GET

sent DEL

{messageId}

GET

22

GET

api-docs POST

signup POST

login

accounts

GET POST

{accountId} POST

logout DEL

GET

PATCH

secrets

{secretId}

GET

23

POST

signup POST

login POST

uploadImage GET

POST

GET

user

{email} POST

updateEmail POST

updatePassword GET

POST

DEL GET GET

events

{eventId}

tag GET

untag

24

GET GET

clean-all

refresh GET

clean

{id} PUT GET

POST

path

{id}

GET DEL

GET

value

hiera

{id}

{certname} GET GET

hierarchy variable

{id} PUT

GET

POST

path

{id}

GET

GET GET

hierarchy POST

{id} GET GET

keys

{id}

25

POST

garages

DEL GET

{garageId}

DEL GET

cars

DEL

POST

GET

{carId}

PUT

26

POST

baseFolders

DEL GET

GET

DEL

DEL GET

PUT

{baseFolderName}

{subFolderName}

{fileName}

GET

27

GET GET

schemagroups

getSchemaById

{schema-id}

DEL PUT GET

{group-name}

DEL GET

schemas

DEL GET PUT POST

{schema-name}

GET

versions

DEL

{version-number}

GET

28

DEL

GET

POST

process api

{pid}

GET

GET

version GET

docs

indexhtml

29

GET

all POST

GET

PUT GET DEL POST

asset

{assetID}

event

publish GET

subscribe GET

docs GET

status GET

swaggerjson

30

POST

GET

DEL

orders

{id}

GET DEL PUT

{orderId}

POST

products

{productOrderId}

GET

DEL

GET

PUT

products

{code}

GET

POST

login users POST

register

31

POST

GET

v1

entrances

nearest PATCH

DEL GET POST

{id}

enter POST

exit POST

lock POST

unlock

32

PUT

POST

GET GET

conversations

batches GET

find_recipients POST

mark_all_as_read GET

unread_count PUT GET DEL POST

{id}

add_message POST

add_recipients POST

remove_messages

33

POST

GET

gameModes

queues

playerRankings

GET

POST

queues

{gameModeId}

GET

POST

PATCH

PATCH

{queueId}

GET

GET

POST

parties

GET

GET

PATCH

{playerRankingId}

GET

34

POST

add DEL

bookmark

delete GET

list GET

github

trending POST

forgot password

PUT

reset GET

user

PUT

profile

update POST

refresh POST

sign-in POST

sign-out POST

sign-up POST

verify

35

GET

ping DEL POST

users

manage

PUT

POST

login POST

invalidateToken

token

POST POST

validateToken

admin

GET

ping PUT

all

POST

tracking POST

info

{productId} POST

batch

36

POST

positions

POST

GET

GET

GET

DEL GET

POST

users

friends

{id}

PUT

GET

reports

locations POST

measurement bodytemp

GET

POST

healthDataSet

37

POST

DEL

GET

PUT

recipe

{id}

GET DEL PUT

rate

{id}

POST

POST

search GET

recipe

{id}

favorite

{id}

cook

GET

PUT

POST

GET DEL

icebox

{id}

{ingredient}

38

PUT

users

GET

DEL GET PUT

transfer

users({email})

GET

orders PUT

restaurants

GET

DEL GET

PUT

dishes

restaurants({name})

GET

DEL

dishes({dishName}) PATCH

DEL

orders

PUT GET

GET

balancestatus

39

POST

DEL PUT GET GET

release

testsuites

{releaseid}

POST

DEL

testsuite

{testsuiteid}

GET

GET

testcases GET

defects PUT

releasesuite

{releasesuiteid}

POST POST

releases

testsuites

40

GET PUT

POST

GET

accounts GET PUT

{accountID} POST

payments

DEL

{paymentID}

GET

GET GET

transactions GET PUT

{transactionID} POST

fxorders

GET PUT

users

DEL

{fxorderID}

GET

POST

GET

{userID} GET

json openapi

GET

yaml

41

GET

info GET

role GET

permissions POST

user

signin POST

signup POST

check GET

single-signon GET

info

{projectId} PUT DEL

project

members

POST

GET

DEL

group

PUT POST

PUT DEL POST GET

mind

info POST

open-edit POST

cancel-edit GET GET

restore

history GET

umlToPng

{uml}

common umlToSvg

{uml}

file

upload

GET

POST

POST

share

42

GET

spec

GET

implemented GET GET

GET

all

api

info

version

GET

build GET

uptime GET

process

GET

memory GET

os env

GET

cloud GET

runtime GET

dynamic packages

GET

static GET

connections GET

control

POST

GET

lifecycle

GET

state

log GET

activity GET

live status GET

ready

health

POST

GET GET

tests

state GET

external services

GET

internal

dependencies

GET

resources

GET

tail GET

last logs

{key}

GET

file PUT

config

GET

GET

GET

GET GET

sources

config

data

{key}

GET

GET GET

versions

data

{id} GET

version GET

secrets GET

metrics PUT GET GET

debug

trace

tasks

GET

in api

request GET

out resource

GET

{name}

calls

GET

events

43

GET

user

POST

emails GET

followers GET PUT

following

{userName} GET

issues POST

GET

keys orgs

repos

{id} GET

POST

GET PUT

watched

{userName} {repoName} GET

{user} GET

users

{userName}

keys GET

orgs

events

GET

{org} GET

public GET

followers GET

following POST

gists orgs

GET

GET GET

received_events repos

public GET

GET

watched

44

POST

register POST

login DEL

logout POST

refresh PUT DEL GET PUT

updatepassword

{userId} users

PUT

updateemail GET

participations GET

subscriptions PUT

subscribe

{boardId}

unsubscribe

{boardId}

PUT

POST

PUT

api boards

{boardId}

DEL GET

GET

polls

{postId} GET

all posts

{boardId} PUT DEL

{postId}

surveys

GET

GET

{postId}

DEL PUT

*

GET POST

45

GET

authorize

{provider}

callback

{provider}

GET

GET

GET

GET DEL POST PUT

DEL

conf

{project}

{file}

POST

GET

connectors GET

GET

GET DEL POST

POST

datasets

{dataset}

{action}

PUT

POST

{doc_type} groups

{id}

{action}

GET

GET

jobs GET

login

POST

POST

logout GET

GET

GET

POST

recipes

{recipe}

{action}

PUT

GET

roles GET POST

GET

upload

users

{file}

DEL

GET

46

POST POST

login authentication

{key}

POST POST

logout

{key}

POST POST

best-fit

{amount}

DEL GET

GET GET

feature-datas

batch

{featureKey}

DEL GET

DEL

{featureKey} POST

{sampleKey}

GET

DEL PUT GET GET

features

batch POST

DEL

{key}

PUT GET

GET

health DEL PUT

PATCH POST

check GET GET

samples

batch DEL PUT

DEL

PATCH POST

PUT

GET

PATCH

{key}

{value}

POST

GET

POST

GET

users

DEL

{key}

PUT GET

47

POST

register POST

confirm

{token} POST

login auth

POST

refresh GET

infos DEL

delete GET POST

{username} DEL GET

mypc

GET POST

DEL

mp

{pcid}

{mpid}

GET

GET

addressbook GET

item POST

DEL GET POST

squad

{squadid}

invite

{targetid}

kick

{targetid}

POST

POST

accept POST

decline POST

leave GET

{pcid} pc name

GET

{name} GET

meta

item

{itemtype}

48

GET

msisdn GET

nin lookup

GET

profileid GET

msisdn accounts

customers

GET

nin GET

received latest accounts

GET

paid

receiving

GET

balance GET

PATCH

merchants

DEL POST GET

POST

signup

{orgno}

GET

PATCH

DEL

kyc

POST

GET

GET

saleunits

PATCH

DEL POST GET

qr

{msn}

GET

GET GET

transactions

{transactionId} GET

overview GET

DEL

GET

POST

orderids

{orderId}

GET

receipt

GET

GET

products

active PATCH

DEL

{productId}

POST

GET

GET GET

data

saleunits

{msn}

revenue

{start}

GET

{stop} GET

users

{merchantSerialNumber}

payments

unsuccessful

eligibility

account

GET

{msisdn}

POST

accesstoken GET

api

whoami errors

GET

users tests

POST

POST POST

cards

{cardnumber}

data

GET

jtta customers GET

paying-in-vipps

invoices

GET

overview

settlements

merchants

{orgno}

{year}

{month}

saleunits

POST

consents

GET

GET

health

49

POST

GET

DEL PUT GET GET

apis

url

{apiID} POST

admin POST

signup auth POST

signup-fields POST

login POST

DEL

GET

PUT

developers

POST

{devID}

GET

GET

DEL PUT GET

keys

POST

renew

{keyID}

GET

GET POST

key-requests POST

{keyRequestID}

{status} DEL

GET

PUT

orgs

{orgID}

GET

POST

change-org POST

{newOrgID} DEL

GET

PUT

policies

POST

{policyID}

GET

GET POST

cname

portal-configuration

POST

profile

GET

POST

request-key

{planID} GET

portal

request-key-fields GET

plans GET

stats

POST

{type}

{planID}

DEL

GET

PUT

plans

{planID}

GET

GET

active-plans POST

DEL

GET

PUT

users

{userID}

GET

GET

check-auth GET

rbac GET

stats

{type} GET

ping POST

auth GET

apis system GET

policies POST

send-email POST

stats

50

POST

poll POST

auth

start GET

validate POST

PUT

episodes scrobble

{episode_id}

POST

GET

shows

{show_id} PUT

GET

GET

networks

{network_id}

DEL

GET

episodes PUT

GET

GET

people

{person_id}

DEL

follows PUT

GET

GET

shows user

{show_id}

DEL PUT

GET

GET

webchannels POST

tags

GET

{webchannel_id} PATCH

DEL

{tag_id}

DEL

GET

PUT

shows

{show_id}

DEL

PUT

GET

GET

episodes votes

{episode_id}

DEL

GET

shows

51

POST

sign_in DEL

sign_out PUT

password

POST

GET

unclock

POST

users

GET

confirmation

POST

PUT GET GET

validate

{id}

POST

payments DEL

payments GET

{user_id}

POST

apps

{id} DEL

products apps

{id}

GET

categories GET

categories

{id} GET

platforms products

GET

{product_id}

platforms DEL

{id}

GET

POST

feedbacks GET GET

apps admin

{id} GET

categories

52

POST

DEL

GET

PUT

admin_groups

{id}

GET

GET

admin_permissions POST

DEL

GET

PUT

admins

{id}

GET

GET

analytics POST

drilldown DEL

GET

PUT

api_scopes

POST

{id}

GET

DEL

GET

PUT

apis api-umbrella

{id}

v1

GET

GET

pending_changes config POST

POST

publish

contact GET

user_roles POST

PUT

users

POST

DEL

GET

{id}

GET

DEL

GET

PUT

website_backends

{id}

GET

53

POST

config

GET

POST

admin

POST

GET

GET

listeners

POST

{name} GET

clusters api

v1

DEL GET

DEL GET

POST

endpoints

{name}

GET

DEL

endpoints

{name}

GET DEL POST

rulelists POST

{name} GET

rules POST

GET

GET

GET

DEL

{name}

GET

sessions

{position}

DEL

{name}

routes

rules

GET

DEL

{name}

GET

54

POST

GET

DEL GET GET

apps

drush-aliases

{id}

GET GET

backups

{id}

GET GET

domains

{id}

GET GET

git-repo POST

{id} GET POST

upgrade

instances

DEL GET POST

deploy

{id}

POST

deploy-codebase POST

upgrade GET GET

orgs

{id}

GET GET

servers

{id}

GET POST

stacks

update GET POST

update

{id} GET GET

tasks user

{id} GET

55

POST

auth POST

login GET

users

POST

{id}

PATCH

GET

saleschannels

POST

GET

GET

{id}

PATCH

DEL

GET

GET

products

POST

{id}

PATCH

DEL

GET

GET

orders

POST

{id}

GET

DEL GET

PATCH

PATCH

PATCH

DEL

catalogs POST

items

{id}

{itemId}

DEL

GET

GET

pricelists

POST

{id}

PATCH

DEL

GET

GET

items

{id}

PATCH

GET

appdata POST

{salesChannelId} DEL

GET

PATCH

taxrate

{zipcode}

GET

56

GET

search POST HEAD

GET

GET PUT

projects

publicity

{project_id}

POST

logs POST

filter DEL

GET

PUT

members

{user_id}

GET

GET

statistics POST

GET

DEL PUT PUT

users

password

{user_id}

PUT

sysadmin DEL GET GET

tags

repositories

GET

manifests GET

top GET

logs GET

DEL GET

jobs

replication

log

{id} POST

policies POST

replication

GET

GET POST

targets

ping DEL GET PUT GET

{id}

policies

57

POST

search

GET

GET

autocomplete GET

scroll GET

datasetsatom {lang}

feeds

GET

datasetsrss GET GET

sitemap

{id} DEL

POST

PATCH

datasets

{id}

PUT GET

PUT

bulk

datasets

POST

DEL POST

catalogues

PATCH

{id}

PUT GET

DEL POST

dataservices

PATCH

{id}

PUT GET

GET

gazetteer

autocomplete GET

package_search ckan

GET

package_show

58

PUT GET

POST

GET

account

amount

self PUT

password POST

avatar GET

{uid} DEL

session

POST

POST

system

image

GET GET

assignment

{pages} GET GET

questionnaire

{pages}

GET GET

qa

{pages} GET

self

{type}

DEL POST

{aid}

GET

questionnaire answer

GET

{aid}

DEL POST GET

qa

DEL

{aid}

{qaid}

PUT

DEL POST

self

coin

GET

POST

{uid} GET

flow

59

POST

batchnodes POST

checks

GET

POST

clusters

GET

POST

deploys deploy

GET

wizard

GET

kubeconfigs GET

logs

{id} POST

networks

POST

GET

PUT

GET

GET

nodes api

v1

{ip}

DEL

GET

progresses

DEL

POST

clusters helm

{cluster} namespaces

GET

PUT GET DEL GET

{namespace}

releases

{name}

export

POST

PUT

render

rollback POST

ssh

tests POST

ssh_certificates

GET

60

GET GET

accounts

videos

{name}

GET

video-channels GET

config GET

feeds

videos{format} GET

jobs DEL

following

{host}

server

GET

followers GET

PUT

POST

GET

users

{id}

DEL

PUT GET GET

me

video-quota-used GET

videos

{videoId}

rating POST

avatar

pick

POST

register GET GET

videos

categories GET

licences GET

languages GET

privacies DEL GET PUT GET

description

{id}

POST

views POST

abuse DEL

blacklist

POST

POST

GET GET

comment-threads

{threadId} DEL

comments

{commentId}

POST

PUT

rate POST

upload GET

abuse GET

blacklist POST

GET

DEL PUT GET GET

video-channels

{id}

videos

GET

search

videos

61

GET

search POST HEAD

GET

DEL GET PUT

projects

publicity

{project_id}

POST

logs POST

filter DEL

GET

PUT

members

{user_id}

GET

GET

statistics POST

GET

DEL PUT PUT

users

password

{user_id}

PUT

sysadmin DEL GET GET

tags

repositories

GET

manifests GET

top GET

logs GET

DEL GET

jobs

replication

log

{id} POST

policies POST

replication

GET

GET POST

targets

ping DEL GET PUT GET

{id}

policies

62

DEL

auth

POST

POST

GET

DEL PUT GET

GET

user

POST

GET

version

{item-id}

{version-number}

DEL

GET

PUT

role

POST

{item-id}

DEL

GET

PUT

server

POST

GET

{item-id}

GET

DEL

GET

PUT

cluster

POST

{item-id}

GET

DEL

GET

PUT

playbook_configuration

POST

{item-id}

GET

GET

DEL GET GET

execution

{item-id}

steps

GET

permissions GET

playbook

63

GET

usuarios

listar POST

login GET

logout GET

funil clientes

GET

tarefas GET

vendas

filas GET

reservas GET

GET

noticias

categorias

GET POST

has

products

GET

reserve

DEL PUT GET GET

availability

{id}

PUT

status GET

test

{id} POST

step1 available

POST

step2

{id}

step3

{id}

{id}

{item}

POST

DEL

download POST

GET

DEL

type

POST

{id}

PUT

DEL

GET

PUT

product

item

{id}

GET

GET

items POST

{id_item}

GET

filters

DEL

availability

{id}

PUT

GET

units

POST

GET GET

reserves

{id} GET

search GET

situations grupos

GET

listar GET

alto GET

medio grupo GET

baixo GET

usuarios me

inativos

GET

GET

history

64

POST

DEL

vouchers

{code}

65

GET

apidocs meta

GET

apis GET

internal

apis

66

GET

data GET

api

v1

uploads metadata POST

notify

67

POST

PATCH

GET

DEL

tasks

{id}

GET

POST

{id}:complete

68

GET DEL

event-source-mappings 2014-11-13

{UUID}

PUT PUT

functions

{FunctionName}

configuration POST

invoke-async

69

GET

auth

loginData

meta

config

GET

GET GET

products

{productId}

quote

GET

wallet

balance POST

form POST

orders

sign PUT

cancel

70

GET

auth POST

login GET

logout POST

GET

DEL PUT GET POST

playlist POST

GET

user

{songId}

PUT GET GET

song POST

song

{id}

playlists

{id} GET

PUT

{id}

GET

71

DEL PATCH

{_id}

GET

transactions POST

add POST

login auth

GET

logout

72

GET PUT

POST

DEL

customers GET

{id}

GET

POST

GET

transactions

history GET

{id} POST

login auth

GET

logout

73

GET

ping POST

create DEL

users

POST

login

GET

PATCH

{userID} GET

authorize GET

clients oauth2 POST

client POST

token

74

POST

register user POST

logIn GET POST

Products

create DEL

deactivate products

{Id} PUT

{Id} GET POST

orders

create PATCH

{Id} PATCH

delete

{Id}

75

PUT

install

POST

POST

user

POST

createWithArray POST

createWithList GET

login GET

logout DEL PUT

{username}

GET

76

POST

login POST

signup PUT

POST

GET GET

user

{id}

filter

calories

DEL

{calorieId} PUT

POST

users

GET

DEL

{id}

GET

77

GET

sessions active POST

terminate GET

collections GET

invites GET

locations GET

masters PUT

user

POST

password

PATCH

GET

projects POST

register

GET

GET

tests GET

top

78

GET GET

content

unpublished GET

rest

ads GET

comments GET

node

id POST

push_notifications add_token user

POST

entity POST

comment GET

jwt

token

79

POST

login POST

reset-password POST

reset password

user

{code}

POST

update-password PATCH

DEL

{id}

PUT GET

POST

users

GET

80

DEL POST

session

GET

GET

DEL PUT GET

GET

DEL PUT POST GET GET

client

api

views

{clientId}

{viewsId}

{view}

{breakpoint}

{spec}

DEL

GET

PUT

user

{userId}

GET

GET

permission POST

upload GET

{image} download

GET

nested

file GET

filedownload

{file} GET

generic download

{ext}

GET

bookings GET

booking GET

rental GET

brands

{brandId}

models

classes

{productGroup}

GET

GET

elements POST

code DEL

customer

session

shop

shoes

POST

GET

81

POST POST

execute

notrace POST POST

notrace

batch

GET

list

ApiExecution decisions

GET GET

api

{decisionServiceId}

GET

GET

ref

Settings

{version}

{reference}

executions

GET

key

{executionkey}

82

GET

member_app_info GET

auth

parse_token GET

token

v0

POST

login members POST

register POST

add_friend POST

create_group GET

find_group_members contacts POST

join_group GET

load_friend

v1

GET

find members

GET load_group

GET

logout

83

POST

register POST

addMedicalQuestionnaire PUT

setAsQuarantined PUT

setAsInfected api

users PUT

setAsNotInfected POST

addLocation POST

getIntersections PUT

setIntersectionConfirmation

84

GET

chunkget GET

applist GET

appstats apprun

GET

PUT

chunkcreate PUT

chunkdump GET

chunklist PUT

chunkput PUT

chunkremove GET

loginfo GET

lookuptree GET

metadata GET

monitoring GET

nameget GET

namelist namereg

PUT

GET

nodeinfo GET

nodelist GET

statsprint GET

barrierstatus PUT

barrieralloc PUT

barriersignon PUT

barrierfree PUT

barriersize PUT

loggerlevel PUT

nodeshutdown GET

compgrpls GET

compgrpstatus

85

GET

authtest GET

channelshistory GET

channelsinfo GET

channelsinvite GET

channelsjoin GET

channelsleave GET

channelslist GET

channelsmark GET

channelssetPurpose GET

channelssetTopic GET

chatdelete GET

chatpostMessage GET

chatupdate GET

emojilist GET

filesinfo GET

fileslist GET

filesupload GET

groupshistory GET

groupslist GET

groupsmark GET

groupssetPurpose GET

groupssetTopic GET

imhistory GET

imlist GET

immark GET

searchall GET

searchfiles GET

searchmessages GET

starslist GET

userslist

86

GET

search GET

expand GET

info GET

v3

link

lookup GET

GET

link_edit

shorten GET

link_lookup user GET

link_save GET

save_custom_domain_keyword

87

DEL PUT

users

POST

GET

DEL PUT

orders

POST

GET

DEL PUT

products

POST

GET

DEL PUT

orderproducts

POST

GET

88

POST

delete POST

get detail POST

getone POST

set POST

add like v1

remove

video

POST

POST

get list POST

getone POST

get promote POST

set

89

POST

#CreateHapg POST

#CreateHsm POST

#CreateLunaClient POST

#DeleteHapg POST

#DeleteHsm POST

#DeleteLunaClient POST

#DescribeHapg POST

#DescribeHsm POST

#DescribeLunaClient POST

#GetConfig POST

#ListAvailableZones POST

#ListHapgs POST

#ListHsms POST

#ListLunaClients POST

#ListTagsForResource POST

#ModifyHapg POST

#ModifyHsm POST

#ModifyLunaClient POST

#RemoveTagsFromResource

90

POST

:userId PUT

shareNote DEL

deleteNote PUT

favourite PUT

addNoteToGroup GET

:noteId GET

searchNotesByTitle PUT

updateNotes

91

POST

#BatchPutAttributes POST

#CreateDomain POST

#DeleteAttributes POST

#DeleteDomain POST

#DomainMetadata POST

#GetAttributes POST

#ListDomains POST

#PutAttributes POST

#Select

92

POST

ExecuteSql

93

Acknowledgements The idea of decorating a tree with bulbs is a very old one. It must have been the very special atmosphere of the Vienna Software Seminar which inspired me to try to use it to draw the structure of APIs. I would like to thank the VSS participants for their valuable feedback and encouragement on my API sketches. This book would have not been possible without the efforts of Souhaila Serbout extracting recurring API fragments, Fabio Di Lauro crawling the history of API specification models, and Gustavo Graziani visualizing API landscapes as 3D forests. I am also grateful to the authors of the awesome LaTeX forest package and to many anonymous designers who have published their API descriptions on the Web.

Cesare Pautasso Lugano, Switzerland

94

References Olaf Zimmermann, Mirko Stocker, Daniel Lübke, Uwe Zdun, Cesare Pautasso Microservice API Patterns.

Cesare Pautasso, Software Architecture: visual lecture notes, LeanPub, 2020.

95