Prosody

관리 · 단어장

단어장 API

조직별 치환 규칙을 만들고 DIVE 또는 FRTTS 합성 요청에 적용합니다.

1

단어장 생성

빈 entries를 가진 단어장을 생성합니다.

URL

POST
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1

인증 및 헤더

API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.

http
X-API-Key: {YOUR_API_KEY}
Content-Type: application/json

요청 필드

  • namestring필수

    단어장 이름입니다.

    1–100자

  • descriptionstring선택

    설명입니다.

    최대 500자

  • caseSensitiveboolean선택

    영문 대소문자를 구분할지 결정합니다.

    기본값 true

요청 예시

json
{
  "name": "제품명 발음",
  "description": "브랜드와 제품명 치환 규칙",
  "caseSensitive": true
}

응답

201

생성 결과

  • idUUID필수

    생성된 단어장 ID입니다.

생성 결과
{
  "id": "550e8400-e29b-41d4-a716-446655440000"
}
400

E4201 · 잘못된 JSON 또는 필드 타입

body가 JSON object가 아니거나 name, description, caseSensitive 타입이 계약과 다릅니다.

503

E5002 · 단어장 일시 사용 불가

요금제 확인, 단어장 개수 조회 또는 단어장 저장을 일시적으로 처리할 수 없습니다.

2

단어장 목록

조직의 활성 단어장을 생성 순서로 조회합니다.

URL

GET
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1

인증 및 헤더

API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.

http
X-API-Key: {YOUR_API_KEY}

응답

200

목록 응답

  • dictionariesobject[]필수

    id, name, description, caseSensitive 목록입니다.

목록 응답
{
  "dictionaries": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "name": "제품명 발음",
      "description": "브랜드와 제품명 치환 규칙",
      "caseSensitive": true
    }
  ]
}
503

E5002 · 단어장 일시 사용 불가

단어장 목록을 일시적으로 조회할 수 없습니다.

3

단어장 상세

entries를 포함한 단어장 하나를 조회합니다.

URL

GET
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1/{id}

인증 및 헤더

API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.

http
X-API-Key: {YOUR_API_KEY}

경로 파라미터

  • idUUID필수

    조회할 단어장 ID입니다.

응답

200

상세 응답

  • idUUID필수

    단어장 ID입니다.

  • namestring필수

    단어장 이름입니다.

  • descriptionstring | null선택

    설명입니다.

  • entriesRecord<string, string>필수

    원문과 치환문 쌍입니다.

  • caseSensitiveboolean필수

    대소문자 구분 여부입니다.

  • createdAtISO 8601필수

    생성 시각입니다.

  • updatedAtISO 8601필수

    마지막 수정 시각입니다.

상세 응답
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "제품명 발음",
  "description": null,
  "entries": { "API": "에이피아이" },
  "caseSensitive": true,
  "createdAt": "2026-07-28T00:00:00.000Z",
  "updatedAt": "2026-07-28T00:00:00.000Z"
}
404

E4301 · 단어장 없음 또는 접근 불가

조직에서 해당 단어장을 찾을 수 없거나 다른 조직의 단어장입니다.

503

E5002 · 단어장 일시 사용 불가

단어장 조회를 일시적으로 처리할 수 없습니다.

4

단어장 수정

전달한 필드만 변경하며 적어도 하나의 필드가 필요합니다.

URL

PATCH
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1/{id}

인증 및 헤더

API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.

http
X-API-Key: {YOUR_API_KEY}
Content-Type: application/json

경로 파라미터

  • idUUID필수

    수정할 단어장 ID입니다.

요청 필드

  • namestring선택

    변경할 이름입니다.

    1–100자

  • descriptionstring선택

    변경할 설명입니다.

    최대 500자

  • caseSensitiveboolean선택

    변경할 대소문자 구분 여부입니다.

  • entriesRecord<string, string>선택

    전체 치환 규칙 객체입니다.

    각 key와 value는 최대 100자; 요금제별 개수 제한

요청 예시

json
{
  "entries": {
    "API": "에이피아이",
    "Humelo": "휴멜로"
  }
}

응답

200

수정 완료

응답 body는 비어 있습니다.

400

E4201 · 잘못된 JSON 또는 필드 타입

body가 JSON object가 아니거나 name, description, caseSensitive, entries 타입이 계약과 다릅니다. 공백뿐인 name 또는 entries key/value도 거절하며 문자열 "false"는 boolean false로 변환하지 않습니다. 거절된 요청은 단어장을 변경하지 않습니다.

404

E4301 · 단어장 없음 또는 접근 불가

조직에서 해당 단어장을 찾을 수 없거나 다른 조직의 단어장입니다.

503

E5002 · 단어장 일시 사용 불가

소유권 확인, 요금제 제한 확인 또는 단어장 저장을 일시적으로 처리할 수 없습니다.

5

단어장 삭제

조직이 소유한 단어장을 삭제합니다.

URL

DELETE
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1/{id}

인증 및 헤더

API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.

http
X-API-Key: {YOUR_API_KEY}

경로 파라미터

  • idUUID필수

    삭제할 단어장 ID입니다.

응답

200

삭제 완료

응답 body는 비어 있습니다.

404

E4301 · 단어장 없음 또는 접근 불가

조직에서 해당 단어장을 찾을 수 없거나 다른 조직의 단어장입니다.

503

E5002 · 단어장 일시 사용 불가

소유권 확인 또는 단어장 삭제를 일시적으로 처리할 수 없습니다.