Name all the available HTTP API specs

215 views
Skip to first unread message

Filippos Vasilakis

unread,
Sep 3, 2016, 3:50:59 PM9/3/16
to API Craft
Could you give the names of all the available (complete) specs? I think they are a good reference.

Personally I know:
Please name and provide a link for other available specs so I can edit this post and add them as well. Thanks!

mca

unread,
Sep 3, 2016, 3:53:16 PM9/3/16
to api-...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "API Craft" group.
To unsubscribe from this group and stop receiving emails from it, send an email to api-craft+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/api-craft.
For more options, visit https://groups.google.com/d/optout.

Filippos Vasilakis

unread,
Sep 3, 2016, 4:00:22 PM9/3/16
to API Craft
haha lol that's perfect! many thanks!


On Saturday, September 3, 2016 at 3:53:16 PM UTC-4, Mike Amundsen wrote:
On Sat, Sep 3, 2016 at 3:50 PM, Filippos Vasilakis <vasila...@gmail.com> wrote:
Could you give the names of all the available (complete) specs? I think they are a good reference.

Personally I know:
Please name and provide a link for other available specs so I can edit this post and add them as well. Thanks!

--
You received this message because you are subscribed to the Google Groups "API Craft" group.
To unsubscribe from this group and stop receiving emails from it, send an email to api-craft+...@googlegroups.com.

Filippos Vasilakis

unread,
Sep 3, 2016, 4:08:59 PM9/3/16
to API Craft
I like how this folk has categorized the specs/rfcs but from the basic API specs (he calls them Generic Media Types) there are only HAL, Siren and json+collection (no JSONAPI). So I will just add JSON+Collection in the initial post. If anyone knows any else protocol let me know :)

Thanks again, this list has other interesting info as well!

Filippos Vasilakis

unread,
Sep 3, 2016, 4:15:54 PM9/3/16
to API Craft
oh it seems the group owner does not allow editing our own posts. Anyway, please add any link if you know any other spec.

mca

unread,
Sep 3, 2016, 6:40:57 PM9/3/16
to api-...@googlegroups.com
on a broader level, you might want to check out Erik Wilde's (@dret) WebConcepts.info

cheers.
To unsubscribe from this group and stop receiving emails from it, send an email to api-craft+unsubscribe@googlegroups.com.

sgoto

unread,
Sep 5, 2016, 6:56:46 PM9/5/16
to api-...@googlegroups.com
here are a few that i looked at too in the past:

--
f u cn rd ths u cn b a gd prgmr !

Chris Mullins

unread,
Sep 6, 2016, 11:27:30 AM9/6/16
to API Craft
What do you mean by HTTP API? 

The answer to this is the RFC that defines POST/PUT/PATCH/DELETE and a few others. 

There are a number of API layers on top of HTTP, such as REST and SOAP. There are even profiles over those, such as OData, WS-*, and others. Then there are transport layers like gRPC / ProtoBuf, Bond, Avro, Thrift, and others. Then there is HTTP2. Then there is Web Sockets. The list goes on. :)  

There are even a number of API Guidelines, such as the Microsoft REST API guidelines, that effectively define a profile over these standards to help maximize consistency and ease adoption. 

Markus Lanthaler

unread,
Sep 9, 2016, 1:57:00 PM9/9/16
to api-...@googlegroups.com
On Saturday, September 3, 2016 10:09 PM, Filippos Vasilakis wrote:
> I like how this folk has categorized the specs/rfcs but from the basic
> API specs (he calls them Generic Media Types) there are only HAL,
> Siren and json+collection (no JSONAPI). So I will just add
> JSON+Collection in the initial post. If anyone knows any else protocol
> let me know :)

You can add Hydra to the list: http://www.hydra-cg.com/


Cheers,
Markus


--
Markus Lanthaler
@markuslanthaler



Filippos Vasilakis

unread,
Sep 13, 2016, 10:01:21 AM9/13/16
to API Craft
Hi,

Thank you all. I am already studying them. Hydra seems the best to me to be honest. A really nice spec that is not gained much popularity unfortunately, not sure why. Maybe due to verbosity?

@ChrisMullins (not sure how I mention someone inside here) I meant specs like JSONAPI, HAL etc that specify how a client interacts with the server. Of course the client needs a lot out of bound information, even using HTTP protocol for transfering the data is an out of bound info but this is not my concern at the moment. How would you name those kind of API specs?

I will be back with an updated post listing all the specs I have found and a small description. Thank you all.

Markus Lanthaler

unread,
Sep 13, 2016, 2:49:25 PM9/13/16
to api-...@googlegroups.com
On Tuesday, September 13, 2016 4:01 PM, Filippos Vasilakis wrote:
> Thank you all. I am already studying them. Hydra seems the best to me
> to be honest. A really nice spec that is not gained much popularity
> unfortunately, not sure why. Maybe due to verbosity?

Thanks :-) One of the reasons might be that it is still being developed. You can join the effort by joining the Hydra W3C Community Group as outlined here

http://www.hydra-cg.com/#community

Don't expect too much activity on the list for the next 2-3 weeks though as we are still in summer break mode :-)

Jørn Wildt

unread,
Sep 14, 2016, 2:43:42 AM9/14/16
to api-...@googlegroups.com
I know I am a bit late to the party, sorry, but since no one mentioned Mason, I better do it myself :-) See https://github.com/JornWildt/Mason

/Jørn

--

Filippos Vasilakis

unread,
Oct 9, 2016, 6:09:54 AM10/9/16
to API Craft
It seems like that Hydra and Siren is the most Resty of all, with Hydra being more REST-compliant.

It's a bit funny to call for instance JSONAPI as a REST compliant spec when, in fact, it only provides links in a standardized way. And I think the authors of JSONAPI know that given that the don't mention anything about REST in their specifiction :)

I also like protocols, like Manson, that add hypermedia in a backwards compatible way :)

I think Hydra is better (although a bit more complex) because it separates data from hypermedia and from data model/documetation/metadata/description/name-it-as-you-want. Also Hydra is very good from linking-data side, quite unique in this feature among all other specs.

However, it misses some things from the REST-perspective (or how you name it).
How can I ask only specific fields of a resource?
This is mainly for collections actually: How can I know what operations I can perform in the **attributes**? not in the resources but in the attributes. Or, how can I ask for sorting (when I request a collection) by an attribute (say `username`)? Or, how can I know what operations I can do in an attribute: if there is an `like`-related operation that I can do in strings, if I can do a sum/avg/aggregated_function in a numeric field, if I can find all items in the collection tha have `x` greater or equal `y`.

One thing that I am happy and I agree with is that the current trend is to separate hypermedia and data model from actual data (like GraphQL does).

I will be back with a much more detailed post, still working on the specs.. One thing that I can say is that I am surprised how much road we have to reach automated api clients.. I thought we were closer :P



On Wednesday, September 14, 2016 at 8:43:42 AM UTC+2, Jørn Wildt wrote:
I know I am a bit late to the party, sorry, but since no one mentioned Mason, I better do it myself :-) See https://github.com/JornWildt/Mason

/Jørn
On Sat, Sep 3, 2016 at 9:50 PM, Filippos Vasilakis <vasila...@gmail.com> wrote:
Could you give the names of all the available (complete) specs? I think they are a good reference.

Personally I know:
Please name and provide a link for other available specs so I can edit this post and add them as well. Thanks!

--
You received this message because you are subscribed to the Google Groups "API Craft" group.
To unsubscribe from this group and stop receiving emails from it, send an email to api-craft+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages