Raws.dev

Docs

API reference

Everything you can do on Raws.dev, you can do from a script. Post a devlog from your deploy pipeline, pull your streak into a status page, sync launches into your own dashboard. JSON over HTTPS, token auth, no SDK required.

Base URL: https://raws.dev/api/v1

1. Authentication

Create a token under Settings → API tokens, then send it as a bearer token. The plaintext token is shown once, at creation — we only store a hash, so nobody can recover it for you afterwards.

curl -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Accept: application/json" \
     https://raws.dev/api/v1/me

Endpoints marked public below need no token at all. Everything else does.

2. Scopes

A token is either read-only or read-and-write, chosen when you create it. There is deliberately no finer granularity: every write endpoint acts on the same account, so splitting them further would suggest a separation that does not exist.

  • Read only — enough for dashboards, status pages, stats. Safe to paste into a CI log by accident.
  • Read and write — needed to publish devlogs, upvote, comment, manage projects. Treat it like your password.

A read-only token calling a write endpoint gets 403.

3. Rate limits

Per minute, by plan:

Plan Requests / min
No token40
Free60
Pro240
Builder600

Every response carries x-ratelimit-limit and x-ratelimit-remaining. Going over returns 429 with a retry-after header — wait that many seconds rather than retrying immediately.

4. Endpoints

36 endpoints. Paths are relative to https://raws.dev/api/v1.

collabs

GET /collabs public
POST /collabs write
DELETE /collabs/{collab} write

comments

GET /comments public
POST /comments write
DELETE /comments/{comment} write

devlogs

GET /devlogs public
GET /devlogs/{devlog} public
POST /devlogs write
DELETE /devlogs/{devlog} write

integrations

GET /integrations read
DELETE /integrations/{integration} write
POST /integrations/{integration}/sync write

launches

GET /launches public
GET /launches/{launch} public
POST /launches write
DELETE /launches/{launch} write

me

GET /me read

notifications

GET /notifications read
GET /notifications/unread-count read
POST /notifications/{id}/read write
POST /notifications/read-all write
DELETE /notifications/{id} write

projects

GET /projects public
GET /projects/{project} public
POST /projects write
PATCH /projects/{project} write
DELETE /projects/{project} write

search

GET /search public

ship

POST /ship write

upvotes

POST /upvotes write

users

GET /users/{handle} public
GET /users/{handle}/proof public
GET /users/{handle}/proof/{date} public
POST /users/{user}/follow write
DELETE /users/{user}/follow write

5. Errors

Standard HTTP status codes, with a JSON body carrying a message.

  • 401 — missing, malformed or revoked token.
  • 403 — the token lacks the write scope, or you don't own the resource.
  • 404 — no such resource, or it is private and not yours.
  • 422 — validation failed; errors lists the offending fields.
  • 429 — over your rate limit; see retry-after.

6. Recipes

Ship a quick update from anywhere

The Ship Inbox endpoint is the shortest path from a terminal, deploy hook or automation to a public ship. It always creates a streak-counted devlog. Use a project slug when you want the update attached to a project.

curl -X POST https://raws.dev/api/v1/ship \
     -H "Authorization: Bearer $RAWS_TOKEN" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -d '{"content":"Shipped the first onboarding flow.","project_slug":"my-project"}'

Pass "publish": false to save a private draft instead. The endpoint accepts either project_id or project_slug, never both.

Post a devlog when a deploy succeeds

Drop this at the end of your CI pipeline. Needs a write token.

curl -X POST https://raws.dev/api/v1/devlogs \
     -H "Authorization: Bearer $RAWS_TOKEN" \
     -H "Content-Type: application/json" \
     -H "Accept: application/json" \
     -d '{"content": "Shipped '"$GIT_TAG"' to production.", "kind": "devlog"}'

kind is post by default (a community share). Pass devlog to have it count toward your ship streak.

Pull your streak into a status page

Read-only token is enough.

curl -s -H "Authorization: Bearer $RAWS_TOKEN" \
     -H "Accept: application/json" \
     https://raws.dev/api/v1/me | jq '.data.streak.current_days'

Read a builder's public profile — no token

curl -s -H "Accept: application/json" https://raws.dev/api/v1/users/nammuseb

Embed a builder's public proof — no token

The proof payload includes the score, four capped dimensions, dated history points, source disclosures and a SHA-256 snapshot hash.

curl -s -H "Accept: application/json" https://raws.dev/api/v1/users/nammuseb/proof | jq '{score, level, as_of, snapshot_hash, trend}'

Historical snapshots can be verified at /api/v1/users/{handle}/proof/{YYYY-MM-DD}; the returned hash identifies that exact public snapshot.

Something missing from the API? Open a thread in the forums — the surface grows where people actually need it.