usdepartmentoflabor / api-standards Goto Github PK
View Code? Open in Web Editor NEWThis project forked from whitehouse/api-standards
API Standards for DOL
This project forked from whitehouse/api-standards
API Standards for DOL
I do like the idea of metadata at the top of a response for the reasons specified in 18F's standards.
While the 18F standards do not take a position on whether to use API keys, I do.
We will enforce their use for the sake of metrics, and a lesser extent, security.
Always use HTTPS
At a minimum, 2048 Bit encryption is recommended for data transaction.
Authentication
Use HTTP Header to authenticate as an acceptable means of authentication
Session
Store session transactions on a per click basis.
Error Handling
100: = 'Continue'
101: = 'Switching Protocols'
200: = 'OK'
201: = 'Created'
202: = 'Accepted'
203: = 'Non-Authoritative Information'
204: = 'No Content'
205: = 'Reset Content'
206: = 'Partial Content'
300: = 'Multiple Choices'
301: = 'Moved Permanently'
302: = 'Moved Temporarily'
303: = 'See Other'
304: = 'Not Modified'
305: = 'Use Proxy'
400: = 'Bad Request'
401: = 'Unauthorized'
402: = 'Payment Required'
403: = 'Forbidden'
404: = 'Not Found'
405: = 'Method Not Allowed'
406: = 'Not Acceptable'
407: = 'Proxy Authentication Required'
408: = 'Request Time-out'
409: = 'Conflict'
410: = 'Gone'
411: = 'Length Required'
412: = 'Precondition Failed'
413: = 'Request Entity Too Large'
414: = 'Request-URI Too Large'
415: = 'Unsupported Media Type'
500: = 'Internal Server Error'
501: = 'Not Implemented'
502: = 'Bad Gateway'
503: = 'Service Unavailable'
504: = 'Gateway Time-out'
505: = 'HTTP Version not supported'
I'm sympathetic to the JSON-only approach because I believe our standards should be forward-looking, not centered on the past.
However, in the migration from V1 to V2, I think it could do some harm if we just pulled the rug out from under those who use our data in XML format.
Thus, I would suggest XML becomes a secondary option, with JSON as the default.
Advanced Engineering Group, OCIO, DOL
We should remove the Pagination section if we strongly feel that we can support bulk data requests going forward.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.