This is a little service for creating, viewing, and monitoring changes to small bits of temporary data online. This is aimed at creating prototypes or for use during hackathons.
The API is documented via OpenAPI 3. You can check out the full API reference via ReDoc .
How does it work?
Create a Blob with a Random Name
curl -X POST blob.fyi/blob -d "Hello World"
Great! You will get back a Location
header referencing a new blob.
Any Content-Type
you send will be associated with your new blob and returned
back with it.
Create or Update a Blob
curl -X PUT blob.fyi/blob/example -d "Hello!"
Now that you've got a name for your blob you can update it. This can either be from the
Location
header from a POST /blob/
or it can be any name you'd like.
Again, any Content-Type
you send will be associated with your new blob and returned
back with it.
Updating the blob will emit an update
event to any listener for this blob.
Retrieve a Blob
curl blob.fyi/blob/example
Your blob request accepts many headers to change the behavior of the blob retrieval.
Your blob will respond with the payload you sent to it, the Content-Type
,
along with a number of headers describing information about it.
Delete a Blob
curl -X DELETE blob.fyi/blob/example
Blob deletions take affect immediately. To prevent deletions of data you don't expect
to be deleting you can use If-Match
or If-None-Match
HTTP headers.
Deleting the blob will emit a delete
event to any listener for this blob.
Listen to Blob Updates
curl blob.fyi/blob/example/listen
Blob Updates may be listened to by using Server-Sent events. There are multiple event types to denote different lifecycle events.
update
is both a creation and an update of a blob.
delete
is emitted when a blob has been deleted.
This does not prevent you from continuing to listen to this blob.
Server-Sent events essentially have comments - when a line begins with :
.
As such, the blob server may periodically send :ping
to keep the connection
alive.