/jsonbin

A personal JSON store as a RESTful service

Primary LanguageJavaScript

NAME

jsonbin.org - A personal JSON store as a RESTful service

SYNOPSIS

curl https://jsonbin.org/remy/blog

To save data, you'll first need to sign in to get an API key.

DESCRIPTION

jsonbin.org is a personal key/value JSON store as a service. Protected behind authentication and API key requests, data is stored as JSON and can be deep linked. A permissioning model also allows specific paths to your store to become public to share with others.

The aim of the project is to provide a simplified data store for tinkerers.

Important: jsonbin is currently in open beta. If you have questions, please get in touch.

Authentication

By default all user store data is protected behind auth either via browser sign in, or an authorization token. The token is your apikey. For example:

curl -X POST https://jsonbin.org/remy/blog \
     -H 'Authorization: token abcd-xyz-123' \
     -d '{ url: "https://remysharp.com" }'

Endpoints

A private namespace URL "_" is used for jsonbin specific endpoints:

The following methods with your authorization header will access your data store against https://jsonbin.org/:username/:

  • GET return given path mapped to a JSON path.
  • POST store the payload (supports JSON and files).
  • PATCH merge the payload with the endpoint.
  • DELETE store path.

By default all endpoints are private, but you can modify a specific entry point to be public by default by changing the permissions:

  • PUT /:username/:path/_perms make the :path public.
  • DELETE /:username/:path/_perms make :path private.
  • GET /:username/:path/_perms check permissions of :path.

Public endpoints accept GET requests without the authorization header.

Example usage

You can use jsonbin as a shared clipboard across machines. Creating an alias to upload STDIN via curl could be posted to a public URL:

alias jsonbin="curl -X 'POST' \
      -H'authorization: token abcd-xyz-123' \
      -F'content=@-' \
      https://jsonbin.org/remy/clipboard"
echo "foo" | jsonbin

BUGS

This project lives at github/jsonbin. Please report bugs to github/jsonbin/issues.

AUTHOR

Remy Sharp <remy@leftlogic.com>

LICENSE

MIT