• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
project logo

jkulton

Ditto

An HTTP API as a key/value store
Public
Like
3
Ditto
Home
Code
2
README.md
H
main.tsx
Branches
1
Pull requests
Remixes
History
Environment variables
1
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
README.md
Code
/
README.md
Search
8/27/2025
Viewing readonly version of main branch: v46
View latest version
README.md

ditto

ditto is what happens when you combine a key/value store and an HTTP API

  • Send some JSON to a path via an HTTP PUT and the JSON will get stored on that path
  • Send a GET request to any path you've PUT data on and it will be retrieved

ditto is useful for testing or prototyping an API that doesn't yet exist.

Example

(using httpie, but you can send the request any way you like)

$ http PUT https://jkulton--fad998c882d711f092ca0224a6c84d84.web.val.run/books/1 \
  x-api-key:SUPER_SECRET \
  title="The Great Gatsby" \
  cover_image="https://www.gutenberg.org/cache/epub/64317/pg64317.cover.medium.jpg"
HTTP/1.1 200 OK
$ http GET https://jkulton--fad998c882d711f092ca0224a6c84d84.web.val.run/books/1 \
  x-api-key:SUPER_SECRET
HTTP/1.1 200 OK
{
    "cover_image": "https://www.gutenberg.org/cache/epub/64317/pg64317.cover.medium.jpg",
    "title": "The Great Gatsby"
}

Setup

  1. Fork the Val
  2. Create a DITTO_API_KEY env var
  3. Ensure you pass the API key as a x-api-key header with all your requests
  4. Send PUT requests to a path to store data, send GET requests to a path to retrieve data
  5. Have fun!
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2026 Val Town, Inc.