make_post_sell/docs/tickets
russell@unturf.com b72fc6bf3b feat: REST API v1 — HMAC-signed product/content creation and file upload
Adds a public/private key pair authentication system and REST API endpoints
for programmatic product and content management. Designed for CI/CD pipelines
(permacomputer.com image hosting).

Auth: HMAC-SHA256 signed requests using public/private key pairs.
The secret key never travels over the wire. Replay window: 300 seconds.

Endpoints:
  POST /api/v1/products              create product (fiat/crypto priced)
  POST /api/v1/content               create content (free)
  GET  /api/v1/products/{id}         get product
  GET  /api/v1/content/{id}          get content
  POST /api/v1/products/{id}/upload-url     presigned S3 POST for direct upload
  POST /api/v1/content/{id}/upload-url      presigned S3 POST for direct upload
  POST /api/v1/products/{id}/files/confirm  confirm upload, register metadata
  POST /api/v1/content/{id}/files/confirm   confirm upload, register metadata

Key management UI in shop settings. Secret shown once on generation.

Migration: mps_api_key table (id, shop_id, public_key, secret_key, label,
created_timestamp, last_used_timestamp, is_active)

Tests: 12 MpsApiKey unit tests, 8 REST API functional tests (269 total passing)
2026-04-06 15:23:30 -04:00
..
an-algo Price history on product pages, Fresh toggle, media type filters for ring 2026-02-11 19:22:44 -05:00
mps-0.md Add AJAX comment submission to preserve media playback 2026-02-07 11:19:58 -05:00
mps-1.md Add YouTube-style watch mode with sticky video, autoplay, and related content 2026-02-07 14:57:37 -05:00
mps-2.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
mps-3.md Isolate parallel test runs with PID-based database filenames 2026-02-09 16:24:25 -05:00
mps-4.md Add tickets MPS-4 and MPS-5 for 502 worker recycling fix 2026-02-11 10:13:52 -05:00
mps-5.md Add tickets MPS-4 and MPS-5 for 502 worker recycling fix 2026-02-11 10:13:52 -05:00
mps-6.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
mps-7.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
mps-8.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
mps-9.md docs: add MPS-6 through MPS-9 tickets, architecture diagram, update JS docs 2026-03-05 06:19:56 -05:00
mps-10.md feat: add gift card system for shops (MPS-10 through MPS-13) 2026-03-07 15:38:40 -05:00
mps-11.md feat: add gift card system for shops (MPS-10 through MPS-13) 2026-03-07 15:38:40 -05:00
mps-12.md feat: add gift card system for shops (MPS-10 through MPS-13) 2026-03-07 15:38:40 -05:00
mps-13.md feat: add gift card system for shops (MPS-10 through MPS-13) 2026-03-07 15:38:40 -05:00
mps-14.md docs: add tickets MPS-14 (dev/stage shops), MPS-15 (free trial), MPS-16 (BYOB) 2026-03-07 17:30:05 -05:00
mps-15.md docs: add tickets MPS-14 (dev/stage shops), MPS-15 (free trial), MPS-16 (BYOB) 2026-03-07 17:30:05 -05:00
mps-16.md docs: add tickets MPS-14 (dev/stage shops), MPS-15 (free trial), MPS-16 (BYOB) 2026-03-07 17:30:05 -05:00
mps-17.md feat: REST API v1 — HMAC-signed product/content creation and file upload 2026-04-06 15:23:30 -04:00