QC Cloud Key-Value API

A simple REST API for storing and retrieving key-value pairs in the cloud

TurboWarp Extension

Use this API in your TurboWarp projects with our custom extension

Dart Master Game

Live demo: A dart-throwing game that syncs player scores to the KV store in real time

Dart Master Scoreboard

Live demo: A scoreboard that polls the KV store to display ranked player scores

Base URL

https://kvstore.quincycoders.click

Overview

This API allows you to store key-value pairs organized by topics. Values automatically expire after 24 hours by default.

Note: All values expire after 24 hours (86,400 seconds) by default. Use the POST endpoint to set a custom TTL.

Size Limits

LimitValueNotes
Maximum item size400 KBDynamoDB limit for combined topic + key + value
Maximum request body6 MBLambda payload limit (POST endpoint)
Maximum URL length~2,000 charsRecommended limit for PUT endpoint values
Topic name2 KBDynamoDB partition key limit
Key name1 KBDynamoDB sort key limit
Tip: For storing large values, use the POST endpoint with a JSON body instead of the PUT endpoint which encodes values in the URL path.

Endpoints

GET /{topic}

List all keys in a topic.

Parameters

ParameterTypeDescription
topicstringThe topic/namespace to list keys from

Example Request

curl https://kvstore.quincycoders.click/myTopic

Response

200 Success

{
  "topic": "myTopic",
  "keys": ["key1", "key2", "key3"]
}

Try it

GET /{topic}/{key}

Retrieve a stored value by topic and key.

Parameters

ParameterTypeDescription
topicstringThe topic/namespace for the key
keystringThe key to retrieve

Example Request

curl https://kvstore.quincycoders.click/myTopic/myKey

Response

200 Success

{
  "value": "Hello, World!"
}

404 Not Found

{
  "error": "Key 'myKey' not found in topic 'myTopic'"
}

Try it

PUT /{topic}/{key}/{value}

Store a value using URL path parameters. The value is automatically URL-decoded.

Parameters

ParameterTypeDescription
topicstringThe topic/namespace for the key
keystringThe key to store
valuestringThe value to store (URL-encoded)

Example Request

curl -X PUT https://kvstore.quincycoders.click/myTopic/myKey/Hello%20World

Response

201 Created

{
  "message": "Value stored successfully",
  "topic": "myTopic",
  "key": "myKey"
}

Try it

POST /{topic}

Store a value using a JSON body. Allows setting a custom TTL.

URL Parameters

ParameterTypeDescription
topicstringThe topic/namespace for the key

Body Parameters

ParameterTypeRequiredDescription
keystringYesThe key to store
valueanyYesThe value to store
ttlnumberNoTime-to-live in seconds (default: 86400)

Example Request

curl -X POST https://kvstore.quincycoders.click/myTopic \
  -H "Content-Type: application/json" \
  -d '{"key": "myKey", "value": "Hello, World!", "ttl": 3600}'

Response

201 Created

{
  "message": "Value stored successfully",
  "topic": "myTopic",
  "key": "myKey"
}

Try it

DELETE /{topic}/{key}

Delete a stored value.

Parameters

ParameterTypeDescription
topicstringThe topic/namespace for the key
keystringThe key to delete

Example Request

curl -X DELETE https://kvstore.quincycoders.click/myTopic/myKey

Response

200 Success

{
  "message": "Value deleted successfully",
  "topic": "myTopic",
  "key": "myKey"
}

404 Not Found

{
  "error": "Key 'myKey' not found in topic 'myTopic'"
}

Try it

DELETE /{topic}

Delete all keys in a topic.

Parameters

ParameterTypeDescription
topicstringThe topic/namespace to delete

Example Request

curl -X DELETE https://kvstore.quincycoders.click/myTopic

Response

200 Success

{
  "message": "Topic deleted successfully",
  "topic": "myTopic",
  "deletedCount": 5
}

Try it

Error Responses

Status CodeDescription
400Bad Request - Missing required parameters
404Not Found - Key does not exist
500Internal Server Error