API Reference · 사용자 콘텐츠 데이터

사용자 콘텐츠 데이터 저장

세션 유저의 콘텐츠 K/V 데이터를 키 단위로 저장합니다. 같은 (user, content, namespace, key) 가 이미 있으면 value 를 덮어쓰고, 없으면 새로 만듭니다(upsert).

PUT/api/v1/contents/{content_id}/data/{namespace}/{key}
namespace · key · value 규칙
namespace 는 1–64자, key 는 1–128자이며 모두 영숫자로 시작해 이후 [A-Za-z0-9._-] 만 허용합니다. value 는 임의 JSON(객체·배열·문자열·숫자·boolean)이며 null 은 허용하지 않습니다(키 제거는 삭제 API 사용). 직렬화 크기는 256 KiB 이하여야 합니다.

요청 파라미터

  • content_id (path, uuid, required) — 콘텐츠 ID. 세션 토큰의 콘텐츠와 일치해야 합니다.
  • namespace (path, string, required) — 분류 키 (예: save, settings).
  • key (path, string, required) — 항목 키.
  • value (body, any, required) — 저장할 JSON 값.

요청예시

shell
curl -X PUT "https://added.blomics.net/api/v1/contents/{content_id}/data/save/level" \
  -H "Authorization: Bearer sess_prod_0192a1b2-3c4d-7e8f-9012-3456789abcde" \
  -H "Content-Type: application/json" \
  -d '{ "value": { "stage": 7, "coins": 1280 } }'

응답 필드

200 OK — 저장된 항목. 신규 생성·갱신 모두 200 입니다.

  • content_id (uuid)
  • namespace (string)
  • key (string)
  • value (any) — 저장된 JSON 값.
  • created_at / updated_at (ISO 8601)

응답예시

json
{
  "content_id": "0193a1b2-3c4d-5e6f-7890-abcdef012345",
  "namespace": "save",
  "key": "level",
  "value": { "stage": 7, "coins": 1280 },
  "created_at": "2026-05-19T09:00:00.000Z",
  "updated_at": "2026-05-19T09:00:00.000Z"
}

에러처리

  • 400 INVALID_PARAM content_id 형식 오류, namespace/key 규칙 위반, 본문 JSON 오류,value 누락·null·크기 초과.
  • 401 UNAUTHORIZED — 인증 실패.
  • 404 NOT_FOUND — 세션 토큰의 콘텐츠와 불일치(404 은닉).
  • 500 INTERNAL_ERROR — 서버 오류.