92:
links, embedded resources, your standard data (be it JSON or XML), and non URI links. Links have a target URI, as well as the name of the link (referred to as 'rel'), as well as optional properties designed to be mindful of deprecation and content negotiation.
46:(a "work in progress"), with the latest version 11 published the 10th of October 2023. The standard was initially proposed in June 2012 specifically for use with JSON and has since become available in two variations, JSON and XML. The two associated
57:
by avoiding the need to impose any requirements on how the project be structured. Maintaining this minimal impact approach, HAL has enabled developers to create general-purpose
650:
732:
634:
712:
73:
88:
HAL is structured in such a way as to represent elements based on two concepts: Resources and Links. Resources consist of
722:
54:
727:
717:
69:
58:
644:
77:
630:
43:
692:
603:
707:
701:
31:
668:
80:
which in turn forces developers to learn how to use yet another foreign format.
50:
types are media type: application/hal+xml and media type: application/hal+json.
27:
53:
HAL was created to be simple to use and easily applicable across different
625:
Richardson, Leonard; Ruby, Mike
Amundsen; foreword by Sam (2013). "7".
572:
577:
76:
using JSON or XML. The alternative would be having to develop a
47:
35:
581:
89:
62:
39:
669:"HAL - Hypertext Application Language A lean hypermedia type"
399:"http://example.com/api/book/json-and-beyond"
441:"http://example.com/api/book/upcoming-books"
378:"http://example.com/api/book/hal-case-study"
357:"http://example.com/api/book/hal-cookbook"
200:"http://example.com/api/book/hal-cookbook"
133:"http://example.com/api/book/hal-cookbook"
72:
libraries and make it possible to interact with the
492:"http://example.com/api/author/shahadat"
251:"http://example.com/api/author/shahadat"
693:JSON Hypertext Application Language latest draft
420:"http://example.com/api/book/catalog"
8:
649:: CS1 maint: multiple names: authors list (
629:(First ed.). Sebastopol, CA: O'Reilly.
662:
660:
68:APIs that adopt HAL simplify the use of
61:which can be easily incorporated on any
594:
642:
604:"JSON Hypertext Application Language"
531:"http://author-example.com"
290:"http://author-example.com"
16:Proposed computer definition standard
7:
733:World Wide Web Consortium standards
14:
519:"Shahadat Hossain Khan"
278:"Shahadat Hossain Khan"
26:) is a convention for defining
42:code. It is documented in an
20:Hypertext Application Language
1:
602:Kelly, Mike (7 June 2012).
749:
713:Data serialization formats
667:Kelly, Mike (2011-06-13).
30:such as links to external
558:"HAL Cookbook"
546:"hal-cookbook"
327:
317:"HAL Cookbook"
305:"hal-cookbook"
170:
160:"HAL Cookbook"
148:"hal-cookbook"
103:
450:"_embedded"
209:"_embedded"
723:XML markup languages
525:"homepage"
507:"shahadat"
284:"homepage"
266:"shahadat"
728:XML-based standards
468:"_links"
459:"author"
333:"_links"
227:"_links"
218:"author"
176:"_links"
168:Embedded resource
109:"_links"
78:proprietary format
636:978-1-4493-5806-8
405:"first"
101:General Resource
740:
718:Markup languages
680:
679:
677:
675:
664:
655:
654:
648:
640:
627:RESTful Web APIs
622:
616:
615:
613:
611:
599:
562:
559:
556:
553:
552:"name"
550:
547:
544:
541:
538:
535:
532:
529:
526:
523:
520:
517:
514:
513:"name"
511:
508:
505:
502:
499:
496:
493:
490:
487:
486:"href"
484:
481:
478:
477:"self"
475:
472:
469:
466:
463:
460:
457:
454:
451:
448:
445:
442:
439:
436:
435:"href"
433:
430:
427:
426:"last"
424:
421:
418:
415:
414:"href"
412:
409:
406:
403:
400:
397:
394:
393:"href"
391:
388:
385:
384:"prev"
382:
379:
376:
373:
372:"href"
370:
367:
364:
363:"next"
361:
358:
355:
352:
351:"href"
349:
346:
343:
342:"self"
340:
337:
334:
331:
321:
318:
315:
312:
311:"name"
309:
306:
303:
300:
297:
294:
291:
288:
285:
282:
279:
276:
273:
272:"name"
270:
267:
264:
261:
258:
255:
252:
249:
246:
245:"href"
243:
240:
237:
236:"self"
234:
231:
228:
225:
222:
219:
216:
213:
210:
207:
204:
201:
198:
195:
194:"href"
192:
189:
186:
185:"self"
183:
180:
177:
174:
164:
161:
158:
155:
154:"name"
152:
149:
146:
143:
140:
137:
134:
131:
128:
127:"href"
125:
122:
119:
118:"self"
116:
113:
110:
107:
748:
747:
743:
742:
741:
739:
738:
737:
698:
697:
689:
684:
683:
673:
671:
666:
665:
658:
641:
637:
624:
623:
619:
609:
607:
601:
600:
596:
591:
569:
564:
563:
560:
557:
554:
551:
548:
545:
542:
539:
536:
533:
530:
527:
524:
521:
518:
515:
512:
509:
506:
503:
500:
497:
494:
491:
488:
485:
482:
479:
476:
473:
470:
467:
464:
461:
458:
455:
452:
449:
446:
443:
440:
437:
434:
431:
428:
425:
422:
419:
416:
413:
410:
407:
404:
401:
398:
395:
392:
389:
386:
383:
380:
377:
374:
371:
368:
365:
362:
359:
356:
353:
350:
347:
344:
341:
338:
335:
332:
329:
323:
322:
319:
316:
313:
310:
307:
304:
301:
298:
295:
292:
289:
286:
283:
280:
277:
274:
271:
268:
265:
262:
259:
256:
253:
250:
247:
244:
241:
238:
235:
232:
229:
226:
223:
220:
217:
214:
211:
208:
205:
202:
199:
196:
193:
190:
187:
184:
181:
178:
175:
172:
166:
165:
162:
159:
156:
153:
150:
147:
144:
141:
138:
135:
132:
129:
126:
123:
120:
117:
114:
111:
108:
105:
99:
86:
65:that uses HAL.
17:
12:
11:
5:
746:
744:
736:
735:
730:
725:
720:
715:
710:
700:
699:
696:
695:
688:
687:External links
685:
682:
681:
656:
635:
617:
593:
592:
590:
587:
586:
585:
580:, (or Compact
575:
568:
565:
540:"id"
501:"id"
328:
299:"id"
260:"id"
171:
142:"id"
104:
98:
95:
85:
82:
44:Internet Draft
15:
13:
10:
9:
6:
4:
3:
2:
745:
734:
731:
729:
726:
724:
721:
719:
716:
714:
711:
709:
706:
705:
703:
694:
691:
690:
686:
670:
663:
661:
657:
652:
646:
638:
632:
628:
621:
618:
605:
598:
595:
588:
583:
579:
576:
574:
571:
570:
566:
326:
169:
102:
96:
94:
91:
83:
81:
79:
75:
71:
66:
64:
60:
56:
51:
49:
45:
41:
37:
33:
29:
25:
21:
672:. Retrieved
626:
620:
608:. Retrieved
597:
325:Collections
324:
167:
100:
87:
67:
52:
23:
19:
18:
70:open source
702:Categories
610:16 October
589:References
84:Convention
28:hypermedia
645:cite book
59:libraries
32:resources
567:See also
674:23 July
573:HATEOAS
97:Example
55:domains
34:within
633:
606:. IETF
578:CURIE
708:JSON
676:2014
651:link
631:ISBN
612:2018
48:MIME
36:JSON
582:URI
90:URI
74:API
63:API
40:XML
38:or
24:HAL
704::
659:^
647:}}
643:{{
537:},
498:},
447:},
423:},
402:},
381:},
360:},
296:},
257:},
206:},
139:},
678:.
653:)
639:.
614:.
584:)
561:}
555::
549:,
543::
534:}
528::
522:,
516::
510:,
504::
495:}
489::
483:{
480::
474:{
471::
465:{
462::
456:{
453::
444:}
438::
432:{
429::
417::
411:{
408::
396::
390:{
387::
375::
369:{
366::
354::
348:{
345::
339:{
336::
330:{
320:}
314::
308:,
302::
293:}
287::
281:,
275::
269:,
263::
254:}
248::
242:{
239::
233:{
230::
224:{
221::
215:{
212::
203:}
197::
191:{
188::
182:{
179::
173:{
163:}
157::
151:,
145::
136:}
130::
124:{
121::
115:{
112::
106:{
22:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.