SlideShare ist ein Scribd-Unternehmen logo
1 von 20
ESTful
and it’s fine
We are not
anymore...
Thibault Ducret
Backend software developer
Notre-Dame de Paris
April 2019
Hubert Hitier/AFP
{
"_id": "1",
"name": "My image",
"type": "image",
"acquisition_date": "2019-10-12T06:30:53.000Z",
"project": "2",
"components": [
{
"checksum": "461c5eaa3107c633db87ad5700f6c9b2",
"filename": "My image.jpg",
"size": 5466200,
"status": "available"
}
],
"horizontal_srs_wkt": "GEOGCS["WGS 84..."]]",
"creation_date": "2019-10-22T13:20:18.155Z",
"camera_parameters": [],
"geometry": {
"coordinates": [1, 2],
"type": "Point"
},
"ingestion": {"status": "processing"},
[...]
}
For every file stored, we create a dataset
# Create the dataset
POST /datasets {"name": "My image", "location": [1, 2]}
# Update the ingestion status
PATCH /datasets/1 {"ingestion_status": "available"}
# Improve the image location
PATCH /datasets/1 {"location": [1.1, 2.1]}
# Rename the dataset
PATCH /datasets/1 {"name": "A better name"}
With a RESTful API
DELETE /datasets/1
DELETE /datasets/1
DELETE /datasets/2
DELETE /datasets/3
DELETE /datasets/4
DELETE /datasets/5
DELETE /datasets/6
DELETE /datasets/7
DELETE /datasets/8
DELETE /datasets/9
DELETE /datasets/10
DELETE /datasets/11
DELETE /datasets/12
DELETE /datasets/13
DELETE /datasets/14
DELETE /datasets/15
DELETE /datasets/16
DELETE /datasets/17
DELETE /datasets/18
DELETE /datasets/19
DELETE /datasets/20
DELETE /datasets/21
DELETE /datasets/22
DELETE /datasets/23
DELETE /datasets/24
DELETE /datasets/25
DELETE /datasets/26
DELETE /datasets/27
DELETE /datasets/28
DELETE /datasets/29
DELETE /datasets/30
DELETE /datasets/31
DELETE /datasets/32
DELETE /datasets/33
DELETE /datasets/34
DELETE /datasets/35
DELETE /datasets/36
DELETE /datasets/37
DELETE /datasets/38
DELETE /datasets/39
DELETE /datasets/40
DELETE /datasets/41
DELETE /datasets/42
DELETE /datasets/43
DELETE /datasets/44
DELETE /datasets/45
DELETE /datasets/46
DELETE /datasets/47
DELETE /datasets/48
DELETE /datasets/49
DELETE /datasets/50
DELETE /datasets/51
DELETE /datasets/52
DELETE /datasets/53
DELETE /datasets/54
DELETE /datasets/55
DELETE /datasets/56
DELETE /datasets/57
DELETE /datasets/58
DELETE /datasets/59
DELETE /datasets/60
DELETE /datasets/61
DELETE /datasets/62
DELETE /datasets/63
DELETE /datasets/64
DELETE /datasets/65
DELETE /datasets/66
DELETE /datasets/67
DELETE /datasets/68
DELETE /datasets/69
DELETE /datasets/70
DELETE /datasets/71
DELETE /datasets/72
DELETE /datasets/73
DELETE /datasets/74
DELETE /datasets/75
DELETE /datasets/76
DELETE /datasets/77
DELETE /datasets/78
DELETE /datasets/79
DELETE /datasets/80
DELETE /datasets/81
DELETE /datasets/82
DELETE /datasets/83
DELETE /datasets/84
DELETE /datasets/85
DELETE /datasets/86
DELETE /datasets/87
DELETE /datasets/88
DELETE /datasets/89
DELETE /datasets/90
DELETE /datasets/91
DELETE /datasets/92
DELETE /datasets/93
DELETE /datasets/94
DELETE /datasets/95
DELETE /datasets/96
DELETE /datasets/97
DELETE /datasets/98
DELETE /datasets/99
DELETE /datasets/100
Rest in peace
REST
POST /create-dataset {"name": "My image", "location": [1, 2]}
POST /update-dataset-status {"ingestion_status": "available"}
POST /update-dataset-location {"location": [1.1, 2.1]}
POST /rename-dataset {"name": "A better name"}
With our new API style
POST /delete-datasets {"datasets": [1, 2, 3, 4..100]}
POST /delete-datasets-permanently {"datasets": [1, 2, 3, 4..100]}
REST API Style API Style
Endpoint One per resource
/datasets
One per action
/create-dataset
Methods GET
PUT
PATCH
POST
DELETE
HEAD
CONNECT
TRACE
OPTIONS
POST
GET
Status codes 90+ status codes !
200
201
202
203
204
418 (☜ check it out)
…
6 status codes
200 : Operation successful
400 : Bad request
401 : Unauthenticated request
403 : Unauthorized request
404 : Not found
500: Internal server error
Delair.ai has
the most simple
API style ever made*
*according to the Delair CTO
REST
thibault.ducret@delair.aero
« An efficient and
well-documented
API is better than
a RESTful API »

Weitere ähnliche Inhalte

Ähnlich wie We Are Not Restful Anymore… And It’s Fine

Itsecteam shell
Itsecteam shellItsecteam shell
Itsecteam shell
ady36
 
StorageAssessmentA4card1
StorageAssessmentA4card1StorageAssessmentA4card1
StorageAssessmentA4card1
Steve Tester
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
OSCON Byrum
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)
Remy Sharp
 
Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02
PL dream
 
Alcatel lucent-michael cooper
Alcatel lucent-michael cooperAlcatel lucent-michael cooper
Alcatel lucent-michael cooper
Carl Ford
 

Ähnlich wie We Are Not Restful Anymore… And It’s Fine (20)

Platform agnostic information systems development
Platform agnostic information systems developmentPlatform agnostic information systems development
Platform agnostic information systems development
 
Itsecteam shell
Itsecteam shellItsecteam shell
Itsecteam shell
 
Tt subtemplates-caching
Tt subtemplates-cachingTt subtemplates-caching
Tt subtemplates-caching
 
StorageAssessmentA4card1
StorageAssessmentA4card1StorageAssessmentA4card1
StorageAssessmentA4card1
 
Instantiations in cmmi for services
Instantiations in cmmi for servicesInstantiations in cmmi for services
Instantiations in cmmi for services
 
Test upload
Test uploadTest upload
Test upload
 
Greenberg, Starr, Kunze, and Hammond, "Show Me the Data: Managing Data Sets f...
Greenberg, Starr, Kunze, and Hammond, "Show Me the Data: Managing Data Sets f...Greenberg, Starr, Kunze, and Hammond, "Show Me the Data: Managing Data Sets f...
Greenberg, Starr, Kunze, and Hammond, "Show Me the Data: Managing Data Sets f...
 
Big Data for each one of us
Big Data for each one of usBig Data for each one of us
Big Data for each one of us
 
20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self
 
Data Mangling with mongoDB the Right Way [PyData London] 2016]
Data Mangling with mongoDB the Right Way [PyData London] 2016]Data Mangling with mongoDB the Right Way [PyData London] 2016]
Data Mangling with mongoDB the Right Way [PyData London] 2016]
 
Getting more out of Matplotlib with GR
Getting more out of Matplotlib with GRGetting more out of Matplotlib with GR
Getting more out of Matplotlib with GR
 
Visual Component Testing -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
Visual Component Testing  -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...Visual Component Testing  -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
Visual Component Testing -- w/ Gil Tayar (Applitools) and Gleb Bahmutov (Cyp...
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)
 
Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02
 
JavaScript, React Native and Performance at react-europe 2016
JavaScript, React Native and Performance at react-europe 2016JavaScript, React Native and Performance at react-europe 2016
JavaScript, React Native and Performance at react-europe 2016
 
HTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymoreHTML5: where flash isn't needed anymore
HTML5: where flash isn't needed anymore
 
Google. Мобильная реклама сегодня
Google. Мобильная реклама сегодняGoogle. Мобильная реклама сегодня
Google. Мобильная реклама сегодня
 
Alcatel lucent-michael cooper
Alcatel lucent-michael cooperAlcatel lucent-michael cooper
Alcatel lucent-michael cooper
 
Elasticsearch sur Azure : Make sense of your (BIG) data !
Elasticsearch sur Azure : Make sense of your (BIG) data !Elasticsearch sur Azure : Make sense of your (BIG) data !
Elasticsearch sur Azure : Make sense of your (BIG) data !
 
K02-salen: Systems Thinking in Action 2011
K02-salen: Systems Thinking in Action 2011K02-salen: Systems Thinking in Action 2011
K02-salen: Systems Thinking in Action 2011
 

Mehr von Nordic APIs

The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
Nordic APIs
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Nordic APIs
 

Mehr von Nordic APIs (20)

How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
 
The Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at ApitureThe Art of API Design, by David Biesack at Apiture
The Art of API Design, by David Biesack at Apiture
 
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...ABAC, ReBAC, Zanzibar, ALFA…  How Should I Implement AuthZ in My APIs? by Dav...
ABAC, ReBAC, Zanzibar, ALFA… How Should I Implement AuthZ in My APIs? by Dav...
 
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
Crafting a Cloud Native API Platform to Accelerate Your Platform Maturity - B...
 
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
The Federated Future: Pioneering Next-Gen Solutions in API Management - Marku...
 
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNLAPI Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
API Authorization Using an Identity Server and Gateway - Aldo Pietropaolo, SGNL
 
API Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, GraylogAPI Discovery from Crawl to Run - Rob Dickinson, Graylog
API Discovery from Crawl to Run - Rob Dickinson, Graylog
 
Productizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, MoseifProductizing and Monetizing APIs - Derric Gilling, Moseif
Productizing and Monetizing APIs - Derric Gilling, Moseif
 
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, SipiosSecurely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
Securely Boosting Any Product with Generative AI APIs - Ruben Sitbon, Sipios
 
Security of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.ioSecurity of LLM APIs by Ankita Gupta, Akto.io
Security of LLM APIs by Ankita Gupta, Akto.io
 
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
I'm an API Hacker, Here's How to Go from Making APIs to Breaking Them - Katie...
 
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
Unleashing the Potential of GraphQL with Streaming Data - Kishore Banala, Net...
 
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...
Reigniting the API Description Wars with TypeSpec and the Next Generation of...Reigniting the API Description Wars with TypeSpec and the Next Generation of...
Reigniting the API Description Wars with TypeSpec and the Next Generation of ...
 
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAnyEstablish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
Establish, Grow, and Mature Your API Platform - James Higginbotham, LaunchAny
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations - A...
 
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIsGoing Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
Going Platinum: How to Make a Hit API by Bill Doerrfeld, Nordic APIs
 
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
Getting Better at Risk Management Using Event Driven Mesh Architecture - Ragh...
 
GenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, GartnerGenAI: Producing and Consuming APIs by Paul Dumas, Gartner
GenAI: Producing and Consuming APIs by Paul Dumas, Gartner
 
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...The SAS developer portal –developer.sas.com 2.0: How we built it by Joe Furb...
The SAS developer portal – developer.sas.com 2.0: How we built it by Joe Furb...
 
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
How Netflix Uses Data Abstraction to Operate Services at Scale - Vidhya Arvin...
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

We Are Not Restful Anymore… And It’s Fine

  • 1. ESTful and it’s fine We are not anymore... Thibault Ducret Backend software developer
  • 2.
  • 3. Notre-Dame de Paris April 2019 Hubert Hitier/AFP
  • 4.
  • 5.
  • 6. { "_id": "1", "name": "My image", "type": "image", "acquisition_date": "2019-10-12T06:30:53.000Z", "project": "2", "components": [ { "checksum": "461c5eaa3107c633db87ad5700f6c9b2", "filename": "My image.jpg", "size": 5466200, "status": "available" } ], "horizontal_srs_wkt": "GEOGCS["WGS 84..."]]", "creation_date": "2019-10-22T13:20:18.155Z", "camera_parameters": [], "geometry": { "coordinates": [1, 2], "type": "Point" }, "ingestion": {"status": "processing"}, [...] } For every file stored, we create a dataset
  • 7. # Create the dataset POST /datasets {"name": "My image", "location": [1, 2]} # Update the ingestion status PATCH /datasets/1 {"ingestion_status": "available"} # Improve the image location PATCH /datasets/1 {"location": [1.1, 2.1]} # Rename the dataset PATCH /datasets/1 {"name": "A better name"} With a RESTful API
  • 9. DELETE /datasets/1 DELETE /datasets/2 DELETE /datasets/3 DELETE /datasets/4 DELETE /datasets/5 DELETE /datasets/6 DELETE /datasets/7 DELETE /datasets/8 DELETE /datasets/9 DELETE /datasets/10 DELETE /datasets/11 DELETE /datasets/12 DELETE /datasets/13 DELETE /datasets/14 DELETE /datasets/15 DELETE /datasets/16 DELETE /datasets/17 DELETE /datasets/18 DELETE /datasets/19 DELETE /datasets/20 DELETE /datasets/21 DELETE /datasets/22 DELETE /datasets/23 DELETE /datasets/24 DELETE /datasets/25 DELETE /datasets/26 DELETE /datasets/27 DELETE /datasets/28 DELETE /datasets/29 DELETE /datasets/30 DELETE /datasets/31 DELETE /datasets/32 DELETE /datasets/33 DELETE /datasets/34 DELETE /datasets/35 DELETE /datasets/36 DELETE /datasets/37 DELETE /datasets/38 DELETE /datasets/39 DELETE /datasets/40 DELETE /datasets/41 DELETE /datasets/42 DELETE /datasets/43 DELETE /datasets/44 DELETE /datasets/45 DELETE /datasets/46 DELETE /datasets/47 DELETE /datasets/48 DELETE /datasets/49 DELETE /datasets/50 DELETE /datasets/51 DELETE /datasets/52 DELETE /datasets/53 DELETE /datasets/54 DELETE /datasets/55 DELETE /datasets/56 DELETE /datasets/57 DELETE /datasets/58 DELETE /datasets/59 DELETE /datasets/60 DELETE /datasets/61 DELETE /datasets/62 DELETE /datasets/63 DELETE /datasets/64 DELETE /datasets/65 DELETE /datasets/66 DELETE /datasets/67 DELETE /datasets/68 DELETE /datasets/69 DELETE /datasets/70 DELETE /datasets/71 DELETE /datasets/72 DELETE /datasets/73 DELETE /datasets/74 DELETE /datasets/75 DELETE /datasets/76 DELETE /datasets/77 DELETE /datasets/78 DELETE /datasets/79 DELETE /datasets/80 DELETE /datasets/81 DELETE /datasets/82 DELETE /datasets/83 DELETE /datasets/84 DELETE /datasets/85 DELETE /datasets/86 DELETE /datasets/87 DELETE /datasets/88 DELETE /datasets/89 DELETE /datasets/90 DELETE /datasets/91 DELETE /datasets/92 DELETE /datasets/93 DELETE /datasets/94 DELETE /datasets/95 DELETE /datasets/96 DELETE /datasets/97 DELETE /datasets/98 DELETE /datasets/99 DELETE /datasets/100
  • 10.
  • 12. POST /create-dataset {"name": "My image", "location": [1, 2]} POST /update-dataset-status {"ingestion_status": "available"} POST /update-dataset-location {"location": [1.1, 2.1]} POST /rename-dataset {"name": "A better name"} With our new API style
  • 13. POST /delete-datasets {"datasets": [1, 2, 3, 4..100]} POST /delete-datasets-permanently {"datasets": [1, 2, 3, 4..100]}
  • 14. REST API Style API Style Endpoint One per resource /datasets One per action /create-dataset Methods GET PUT PATCH POST DELETE HEAD CONNECT TRACE OPTIONS POST GET Status codes 90+ status codes ! 200 201 202 203 204 418 (☜ check it out) … 6 status codes 200 : Operation successful 400 : Bad request 401 : Unauthenticated request 403 : Unauthorized request 404 : Not found 500: Internal server error
  • 15. Delair.ai has the most simple API style ever made* *according to the Delair CTO
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. REST thibault.ducret@delair.aero « An efficient and well-documented API is better than a RESTful API »