Skip to content
A hypermedia API media type
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
_layouts
demo
tests
.gitignore
Gemfile
README.md
_config.yml
design.md
fieldset.md
form.md
input.md
intro.md
json.md
label.md
link.md
microforms.js
output.md
package.json
schema.js
xml.md

README.md

permalink published
index.html
true

Microforms is an early proposal for a structural, domain-agnostic hypermedia API media type designed to expose REST APIs.

Microforms intermingles domain-specific data and general-purpose hyperdata, enabling API clients to make decisions (e.g. create/delete/update a resource) without using out-of-band information (e.g. human readable documentation).

The JSON/JSON-LD notation is designed to allow data to be intermingled (but still be distinguishable, visually and programatically) with hyperdata and look (and behave) as similiar as possible to HTML:

{
  "@context": "https://schema.org/",
  "@type": "Restaurant",
  "name": "Sam's place",
  "description": "Best food ever",
  "address": "1234 main street, mountain view, ca",

  "<form name='create' action='/create.php' method='POST'>": {
    "<label>": "Create new issues",
    "<label for='title'>": "The name of the issue",
    "<input name='title' required='true'>": {},
    "<label for='description'>": "The description of the issue",
    "<input name='description'>": {}
  }
}

Microforms comes up a set of builtin hypermedia affordances available in a data type and a set of conventions that clients use for the programatic discovery, documentation, validation, execution (e.g. key management and quota management) of REST APIs.

You can learn more about microforms here.

We would love your feedback and participation here.

You can’t perform that action at this time.