SlideShare a Scribd company logo
Real Estate API’s and me...
Real Estate tech in the 90’s...
pete@witlytic.com
@petergoldey
https://www.linkedin.com/in/p
etergoldey
public records / FOIA
10 Years of API’s @Onboard
2004 - Public Records
2005 - AVM
2008 - IDX Listings
2009 - Geography
2010 - Lifestlye Search
2011 - Area Search
2011 - Boundaries
2011 - Neighborhoods
2011 - Community / Schools
2011 - POI’s
2013 - Transit
2014 - Property API Suite
Founder
Things have changed…A LOT!
Have a Purpose
Ours was: Delivery Innovation
- recognized by Inman, RISmedia, RE Technology, 1000Watt.
Why did we take a commercial API approach?
- It gave us a vehicle for driving our business forward.
2011 Inman Connect
But we made lots of mistakes…
API’s are PRODUCTS
listen to customers, research, marketing, support,
customer feedback, relationship building, use cases,
analytics, stories, value propositions, documentation,
standards, utility, comprehensive testing, platform
management, pricing, security, PR, evangelism,
standards, reuse, stability, experience, purpose
API Users vs API Designers
Remember whom you are building for.
Tailor your API accordingly.
Internal?
External?
Developers? What kind?
Who the users are tells you a lot.
what they ask, what type of answers they expect, how they consume it, how often, etc
Me in 2004 - API Designer
Good looking
Naive
Knew the domain model REALLY well
Data expert
Designed for:
● Flexibility
● As many use cases as possible
Built it for myself
Assumptions
Over engineered Building our Nearby Home Sales XML service
The Awesomeness We Delivered
20+ parameters!
Multivariate interactions!!
Iterative search process!!!
Excellent parameter
documentation.
No restrictions!!
but we missed something big...
We didn’t figure out the Right Questions
Our Customers in 2005
API user says “Domain what?”
Frustrated
Busy
Lazy
Risk averse
What they wanted:
● Use case solutions
○ Find comps
○ Drip marketing
○ No Dead Ends!
Using our 1st Nearby Home Sales XML service
What we did next….
Auto-increment from radius1 and radius2
● Find nearest first. Ensure results.
Added prioritization
● Time vs. Distance
Added priceRangePercent
● Comps based on subject property
Added fuzzy logic for comps
● Best match beds, baths, $, sqft
Listened to clients. Understood their use cases. Made it easy.
Created dateAdded
● Drip marketing trigger
Created geography lookup for updates
● County level lastModified
Created queryID and “requery” method.
● Saved searches method
Added system and per account defaults
● Light weight. Central control.
The Results?
Happy clients. (more $$)
“Better” usage. (save $$’s)
Less implementation support. (save $$’s)
Product Management (control)
Happy internal engineers (culture)
New mindset: design for the API user!!!
Make it Useful!!
Why will these guys use your API?
They can find it (more on this later).
It offers value (saves time or resources, cost,
features)
It looks “good” (quality, logic, use cases)
Easy to use (version stable*, build for users,
documentation, use features)
* we’re not all like Facebook!!
Make it Usable!!
You’re trying to extend your company’s reach.
Find the balance between:
technically sophisticated and simple + concise.
(see DO’s and DON’Ts)
Get it out there and ENGAGE!!
...and don’t build everything from scratch!
Leverage API proxy services and communities.
Get Listed - API Platforms
My favorite:
16k+ API’s
~150 real estate API’s
Zillow, Trulia, Placester, NYTimes, Onboard, CloudMLS, Retsly, CloudCMA, DotLoop,
StreetEasy, WalkScore, AgentRank, PropertyWala, FlexMLS, SimplyRETS, etc….
Make it Look Good!!
Have a Developer Portal
Make Signup Simple
Get to the “value conversation”!!
Have Great Documentation
Twilio, MailChimp, Django, Box
Provide Helpers
samples, SDKs, test tools, libraries
OR
Four Takeaways
Your API is a PRODUCT.
Design for the API User.
Simple. Concise. Usable.
Get to the Value Conversation.
pete@witlytic.com
@petergoldey
https://www.linkedin.com/in/petergoldey (keep going for DO’s and DON’Ts)
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DON’T just expose your domain model…
...DO design for INTENT
DO understand how clients will use the API
DO expose answers to API user’s questions
DON’T require them to be domain experts
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DON’T use custom when Standards exist!
DO build on HTTP (for quick and easy machine interpretation)
DO build on HTTPS (DON’T pass credentials in the open)
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DON’T use custom when Standards exist!
DO use RESTful standards - such as naming of resources as nouns
where it makes sense!
DO use RESTful HTTP verbs GET, PUT, POST and DELETE and
respect their qualities.
DON’T abuse GET and POST!!!
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DON’T use custom when Standards exist!
DO use JSON
DO add XML if you need to (if your API user’s work in Java or C tools, etc.)
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DON’T use custom when Standards exist!
DON’T limit error codes to 200 and 500
DO use standard error codes (where possible)
DO add to them (where needed and useful)
DO use the right category (200, 300, 400, 500)
DO supply as much detail as possible (e.g. box api)
DO include a requestID
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DON’T confuse Searching and Identifying!
DO provide multiple ways to search resources (API user intent)
A property as a sale, as a listing, as a location, etc.
DON’T provide multiple ways to identify resources
DO make identity unique
/properties/28199102
DO use redirection and refer to resources by canonical URL
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DON’T ignore CACHING! (we did - huge mistake)
Caching is going to happen, and it’s a GOOD thing - if you help it.
DO of course be smart with your own internal caching
DO allow your API users to cache results
Fast. Efficient. Inexpensive.
DON’T allow your API users to cache without control!!
Freshness and Visibility concerns
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DO address “freshness” directly. Make it EASY.
DON’T require API user’s to parse a full response to determine
freshness.
DO use (and respect) Validators
If-Modified-Since in requests
Last-Modified in responses
DO consider using ETags
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DON’T rely on POLLING! (if you have real estate data, you have
events)
DO bake events into your API
DO create event based resources
DO consider using REST hooks (subscription webhooks) so
developers can receive the latest data without polling.
MAYBE use Long Polling if you really need to.
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DON’T think only in terms of endpoints!
DON’T make them “search” again.
DO make it easy for API users to find the next resource.
DO use hypermedia controls to provide meaningful links between
resources
DO use canonical urls as resource identifiers
DO use hyperlinks to reference external resources and
information (that’s what they are for!)
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DO publish a change log. Period.
DO be internally consistent
DO use the same parameter and method names across resources
DON’T use extensions as the only means of content
negotiation / selecting media types
DON’T introduce multiple URL aliases for the same resource
(confusing / ambiguous hypermedia controls)
Some DO’s and DON’Ts
* I’m just as biased as the next guy...there are times to break all the rules!
DO NOT use wrapper objects in your responses
They are redundant in a well designed API
DO NOT put metadata in the response body
DO put it where it belongs - in the HTTP response header
there are so many more...

More Related Content

Viewers also liked (20)

PPTX
輕鬆「滑」進華語文教學~Part 1
Lisa Tsai
 
DOC
Instalacion win 7 2
JOHN REINOSO
 
PPSX
Hoteles con encanto
Faty Herrera Sanjuan
 
PPTX
Tips de educación
Sheyla Ventura
 
PPTX
TURISMO DECHIMBORAZO
DaquilemaGuaraca
 
PPTX
Banco de archivos YULIANA MARIN 11*3
oncetresgrj2014
 
PDF
De examen
mirmoscu
 
PPTX
Daniel ....[1]
willianleinad
 
PPTX
Universidad
Juliana Manrique Castaño
 
PPTX
Новый год на байкале 2015
Natasha Byliova
 
PDF
Guía inicio impresora multifuncional marca canon mf5960,mf5950,d1350,d1320
Luz Elena Ornelas
 
DOCX
Historia de los juegos olimpicos
JENNIFER64035
 
PPTX
Presentacion de powerpon
rogelia18
 
DOCX
Coxinha deliciosa
Circe Gomez Rivera
 
PPTX
Lizeht dahian guerrero lemos id 000314717c
Natalia Florez
 
PPTX
Горное великолепие
Natasha Byliova
 
PPTX
Diagnóstico de problemas de hardware más comunes
msalasmarcelo
 
PPTX
Lógica
Sheyla Ventura
 
PDF
250 maestrías para elegir sobre seguro
PolitiquesUPF
 
PPTX
Рождественские каникулы на Байкале 2015
Natasha Byliova
 
輕鬆「滑」進華語文教學~Part 1
Lisa Tsai
 
Instalacion win 7 2
JOHN REINOSO
 
Hoteles con encanto
Faty Herrera Sanjuan
 
Tips de educación
Sheyla Ventura
 
TURISMO DECHIMBORAZO
DaquilemaGuaraca
 
Banco de archivos YULIANA MARIN 11*3
oncetresgrj2014
 
De examen
mirmoscu
 
Daniel ....[1]
willianleinad
 
Новый год на байкале 2015
Natasha Byliova
 
Guía inicio impresora multifuncional marca canon mf5960,mf5950,d1350,d1320
Luz Elena Ornelas
 
Historia de los juegos olimpicos
JENNIFER64035
 
Presentacion de powerpon
rogelia18
 
Coxinha deliciosa
Circe Gomez Rivera
 
Lizeht dahian guerrero lemos id 000314717c
Natalia Florez
 
Горное великолепие
Natasha Byliova
 
Diagnóstico de problemas de hardware más comunes
msalasmarcelo
 
250 maestrías para elegir sobre seguro
PolitiquesUPF
 
Рождественские каникулы на Байкале 2015
Natasha Byliova
 

Similar to API's - Successes to Replicate. Pitfalls to Avoid. (20)

PDF
Architect's Guide to Building an API Program
clatimer
 
PPTX
Building a REST API for Longevity
MuleSoft
 
PDF
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
TheFamily
 
PDF
Applicaton Development using RESTful APIs
Sourav Maji
 
PDF
JOSA TechTalks - RESTful API Concepts and Best Practices
Jordan Open Source Association
 
PDF
The ultimate api checklist by Blendr.io
Blendr.io
 
PDF
Modern REST API design principles and rules.pdf
Aparna Sharma
 
PDF
API Introduction - API Management Workshop Munich from Ronnie Mitra
CA API Management
 
PPTX
API Management Demystified
Software AG
 
PPTX
RESTful API - Best Practices
Tricode (part of Dept)
 
PDF
Modern REST API design principles and rules.pdf
Aparna Sharma
 
PDF
The API Opportunity: Crossing the Digital Divide
CA Technologies
 
PDF
Recipes for API Ninjas
Nordic APIs
 
PPTX
API Design- Best Practices
Prakash Bhandari
 
PPTX
API Management Demystified
Manmohan Gupta
 
PDF
apidays Paris 2022 - Demystifying your APIs after launch, Meenakshi Khatri, G...
apidays
 
PPTX
Public API
Amir Zuker
 
PPTX
Will the Real Public API Please Stand Up? Amir Zuker
CodeValue
 
PDF
Be My API How to Implement an API Strategy Everyone will Love
CA API Management
 
PPTX
10 steps to design and build the perfect
Son Nguyen
 
Architect's Guide to Building an API Program
clatimer
 
Building a REST API for Longevity
MuleSoft
 
"API Design: From User Need to Finished Spec" by Andrew Jordan, ex-Product @T...
TheFamily
 
Applicaton Development using RESTful APIs
Sourav Maji
 
JOSA TechTalks - RESTful API Concepts and Best Practices
Jordan Open Source Association
 
The ultimate api checklist by Blendr.io
Blendr.io
 
Modern REST API design principles and rules.pdf
Aparna Sharma
 
API Introduction - API Management Workshop Munich from Ronnie Mitra
CA API Management
 
API Management Demystified
Software AG
 
RESTful API - Best Practices
Tricode (part of Dept)
 
Modern REST API design principles and rules.pdf
Aparna Sharma
 
The API Opportunity: Crossing the Digital Divide
CA Technologies
 
Recipes for API Ninjas
Nordic APIs
 
API Design- Best Practices
Prakash Bhandari
 
API Management Demystified
Manmohan Gupta
 
apidays Paris 2022 - Demystifying your APIs after launch, Meenakshi Khatri, G...
apidays
 
Public API
Amir Zuker
 
Will the Real Public API Please Stand Up? Amir Zuker
CodeValue
 
Be My API How to Implement an API Strategy Everyone will Love
CA API Management
 
10 steps to design and build the perfect
Son Nguyen
 
Ad

Recently uploaded (20)

PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PPTX
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
PDF
Dipole Tech Innovations – Global IT Solutions for Business Growth
dipoletechi3
 
PPTX
Smart Doctor Appointment Booking option in odoo.pptx
AxisTechnolabs
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
PDF
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
ERP Consulting Services and Solutions by Contetra Pvt Ltd
jayjani123
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
Salesforce Experience Cloud Consultant.pdf
VALiNTRY360
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
Simplify React app login with asgardeo-sdk
vaibhav289687
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Customise Your Correlation Table in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
Dipole Tech Innovations – Global IT Solutions for Business Growth
dipoletechi3
 
Smart Doctor Appointment Booking option in odoo.pptx
AxisTechnolabs
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Everything you need to know about pricing & licensing Microsoft 365 Copilot f...
Q-Advise
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
AI Prompts Cheat Code prompt engineering
Avijit Kumar Roy
 
Add Background Images to Charts in IBM SPSS Statistics Version 31.pdf
Version 1 Analytics
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
ERP Consulting Services and Solutions by Contetra Pvt Ltd
jayjani123
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Salesforce Experience Cloud Consultant.pdf
VALiNTRY360
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Simplify React app login with asgardeo-sdk
vaibhav289687
 
Ad

API's - Successes to Replicate. Pitfalls to Avoid.

  • 1. Real Estate API’s and me... Real Estate tech in the 90’s... [email protected] @petergoldey https://www.linkedin.com/in/p etergoldey public records / FOIA 10 Years of API’s @Onboard 2004 - Public Records 2005 - AVM 2008 - IDX Listings 2009 - Geography 2010 - Lifestlye Search 2011 - Area Search 2011 - Boundaries 2011 - Neighborhoods 2011 - Community / Schools 2011 - POI’s 2013 - Transit 2014 - Property API Suite Founder
  • 3. Have a Purpose Ours was: Delivery Innovation - recognized by Inman, RISmedia, RE Technology, 1000Watt. Why did we take a commercial API approach? - It gave us a vehicle for driving our business forward. 2011 Inman Connect But we made lots of mistakes…
  • 4. API’s are PRODUCTS listen to customers, research, marketing, support, customer feedback, relationship building, use cases, analytics, stories, value propositions, documentation, standards, utility, comprehensive testing, platform management, pricing, security, PR, evangelism, standards, reuse, stability, experience, purpose
  • 5. API Users vs API Designers Remember whom you are building for. Tailor your API accordingly. Internal? External? Developers? What kind? Who the users are tells you a lot. what they ask, what type of answers they expect, how they consume it, how often, etc
  • 6. Me in 2004 - API Designer Good looking Naive Knew the domain model REALLY well Data expert Designed for: ● Flexibility ● As many use cases as possible Built it for myself Assumptions Over engineered Building our Nearby Home Sales XML service
  • 7. The Awesomeness We Delivered 20+ parameters! Multivariate interactions!! Iterative search process!!! Excellent parameter documentation. No restrictions!! but we missed something big...
  • 8. We didn’t figure out the Right Questions
  • 9. Our Customers in 2005 API user says “Domain what?” Frustrated Busy Lazy Risk averse What they wanted: ● Use case solutions ○ Find comps ○ Drip marketing ○ No Dead Ends! Using our 1st Nearby Home Sales XML service
  • 10. What we did next…. Auto-increment from radius1 and radius2 ● Find nearest first. Ensure results. Added prioritization ● Time vs. Distance Added priceRangePercent ● Comps based on subject property Added fuzzy logic for comps ● Best match beds, baths, $, sqft Listened to clients. Understood their use cases. Made it easy. Created dateAdded ● Drip marketing trigger Created geography lookup for updates ● County level lastModified Created queryID and “requery” method. ● Saved searches method Added system and per account defaults ● Light weight. Central control.
  • 11. The Results? Happy clients. (more $$) “Better” usage. (save $$’s) Less implementation support. (save $$’s) Product Management (control) Happy internal engineers (culture) New mindset: design for the API user!!!
  • 12. Make it Useful!! Why will these guys use your API? They can find it (more on this later). It offers value (saves time or resources, cost, features) It looks “good” (quality, logic, use cases) Easy to use (version stable*, build for users, documentation, use features) * we’re not all like Facebook!!
  • 13. Make it Usable!! You’re trying to extend your company’s reach. Find the balance between: technically sophisticated and simple + concise. (see DO’s and DON’Ts)
  • 14. Get it out there and ENGAGE!! ...and don’t build everything from scratch! Leverage API proxy services and communities.
  • 15. Get Listed - API Platforms My favorite: 16k+ API’s ~150 real estate API’s Zillow, Trulia, Placester, NYTimes, Onboard, CloudMLS, Retsly, CloudCMA, DotLoop, StreetEasy, WalkScore, AgentRank, PropertyWala, FlexMLS, SimplyRETS, etc….
  • 16. Make it Look Good!! Have a Developer Portal Make Signup Simple Get to the “value conversation”!! Have Great Documentation Twilio, MailChimp, Django, Box Provide Helpers samples, SDKs, test tools, libraries OR
  • 17. Four Takeaways Your API is a PRODUCT. Design for the API User. Simple. Concise. Usable. Get to the Value Conversation. [email protected] @petergoldey https://www.linkedin.com/in/petergoldey (keep going for DO’s and DON’Ts)
  • 18. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DON’T just expose your domain model… ...DO design for INTENT DO understand how clients will use the API DO expose answers to API user’s questions DON’T require them to be domain experts
  • 19. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DON’T use custom when Standards exist! DO build on HTTP (for quick and easy machine interpretation) DO build on HTTPS (DON’T pass credentials in the open)
  • 20. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DON’T use custom when Standards exist! DO use RESTful standards - such as naming of resources as nouns where it makes sense! DO use RESTful HTTP verbs GET, PUT, POST and DELETE and respect their qualities. DON’T abuse GET and POST!!!
  • 21. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DON’T use custom when Standards exist! DO use JSON DO add XML if you need to (if your API user’s work in Java or C tools, etc.)
  • 22. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DON’T use custom when Standards exist! DON’T limit error codes to 200 and 500 DO use standard error codes (where possible) DO add to them (where needed and useful) DO use the right category (200, 300, 400, 500) DO supply as much detail as possible (e.g. box api) DO include a requestID
  • 23. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DON’T confuse Searching and Identifying! DO provide multiple ways to search resources (API user intent) A property as a sale, as a listing, as a location, etc. DON’T provide multiple ways to identify resources DO make identity unique /properties/28199102 DO use redirection and refer to resources by canonical URL
  • 24. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DON’T ignore CACHING! (we did - huge mistake) Caching is going to happen, and it’s a GOOD thing - if you help it. DO of course be smart with your own internal caching DO allow your API users to cache results Fast. Efficient. Inexpensive. DON’T allow your API users to cache without control!! Freshness and Visibility concerns
  • 25. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DO address “freshness” directly. Make it EASY. DON’T require API user’s to parse a full response to determine freshness. DO use (and respect) Validators If-Modified-Since in requests Last-Modified in responses DO consider using ETags
  • 26. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DON’T rely on POLLING! (if you have real estate data, you have events) DO bake events into your API DO create event based resources DO consider using REST hooks (subscription webhooks) so developers can receive the latest data without polling. MAYBE use Long Polling if you really need to.
  • 27. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DON’T think only in terms of endpoints! DON’T make them “search” again. DO make it easy for API users to find the next resource. DO use hypermedia controls to provide meaningful links between resources DO use canonical urls as resource identifiers DO use hyperlinks to reference external resources and information (that’s what they are for!)
  • 28. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DO publish a change log. Period. DO be internally consistent DO use the same parameter and method names across resources DON’T use extensions as the only means of content negotiation / selecting media types DON’T introduce multiple URL aliases for the same resource (confusing / ambiguous hypermedia controls)
  • 29. Some DO’s and DON’Ts * I’m just as biased as the next guy...there are times to break all the rules! DO NOT use wrapper objects in your responses They are redundant in a well designed API DO NOT put metadata in the response body DO put it where it belongs - in the HTTP response header there are so many more...