단어장 API
조직별 치환 규칙을 만들고 DIVE 또는 FRTTS 합성 요청에 적용합니다.
단어장 생성
빈 entries를 가진 단어장을 생성합니다.
URL
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1인증 및 헤더
API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.
X-API-Key: {YOUR_API_KEY}
Content-Type: application/json요청 필드
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
name | string | 필수 | 단어장 이름입니다. 1–100자 |
description | string | 선택 | 설명입니다. 최대 500자 |
caseSensitive | boolean | 선택 | 영문 대소문자를 구분할지 결정합니다. 기본값 true |
요청 예시
{
"name": "제품명 발음",
"description": "브랜드와 제품명 치환 규칙",
"caseSensitive": true
}응답
생성 결과
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
id | UUID | 필수 | 생성된 단어장 ID입니다. |
{
"id": "550e8400-e29b-41d4-a716-446655440000"
}E4201 · 잘못된 JSON 또는 필드 타입
body가 JSON object가 아니거나 name, description, caseSensitive 타입이 계약과 다릅니다.
E5002 · 단어장 DB/RPC 일시 불가
요금제 확인, 개수 조회 또는 단어장 저장 DB/RPC를 일시적으로 사용할 수 없습니다.
단어장 목록
조직의 활성 단어장을 생성 순서로 조회합니다.
URL
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1인증 및 헤더
API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.
X-API-Key: {YOUR_API_KEY}응답
목록 응답
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
dictionaries | object[] | 필수 | id, name, description, caseSensitive 목록입니다. |
{
"dictionaries": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "제품명 발음",
"description": "브랜드와 제품명 치환 규칙",
"caseSensitive": true
}
]
}E5002 · 단어장 DB 일시 불가
단어장 목록 DB를 일시적으로 사용할 수 없습니다.
단어장 상세
entries를 포함한 단어장 하나를 조회합니다.
URL
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1/{id}인증 및 헤더
API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.
X-API-Key: {YOUR_API_KEY}경로 파라미터
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
id | UUID | 필수 | 조회할 단어장 ID입니다. |
응답
상세 응답
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
id | UUID | 필수 | 단어장 ID입니다. |
name | string | 필수 | 단어장 이름입니다. |
description | string | null | 선택 | 설명입니다. |
entries | Record<string, string> | 필수 | 원문과 치환문 쌍입니다. |
caseSensitive | boolean | 필수 | 대소문자 구분 여부입니다. |
createdAt | ISO 8601 | 필수 | 생성 시각입니다. |
updatedAt | ISO 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"
}E4301 · 단어장 없음 또는 접근 불가
조직에서 해당 단어장을 찾을 수 없거나 다른 조직의 단어장입니다.
E5002 · 단어장 DB/RPC 일시 불가
단어장 조회 DB/RPC를 일시적으로 사용할 수 없습니다.
단어장 수정
전달한 필드만 변경하며 적어도 하나의 필드가 필요합니다.
URL
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1/{id}인증 및 헤더
API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.
X-API-Key: {YOUR_API_KEY}
Content-Type: application/json경로 파라미터
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
id | UUID | 필수 | 수정할 단어장 ID입니다. |
요청 필드
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
name | string | 선택 | 변경할 이름입니다. 1–100자 |
description | string | 선택 | 변경할 설명입니다. 최대 500자 |
caseSensitive | boolean | 선택 | 변경할 대소문자 구분 여부입니다. |
entries | Record<string, string> | 선택 | 전체 치환 규칙 객체입니다. 각 key와 value는 최대 100자; 요금제별 개수 제한 |
요청 예시
{
"entries": {
"API": "에이피아이",
"Humelo": "휴멜로"
}
}응답
수정 완료
응답 body는 비어 있습니다.
E4201 · 잘못된 JSON 또는 필드 타입
body가 JSON object가 아니거나 name, description, caseSensitive, entries 타입이 계약과 다릅니다. 공백뿐인 name 또는 entries key/value도 거절하며 문자열 "false"는 boolean false로 변환하지 않습니다. 거절 시 DB 행은 변경되지 않습니다.
E4301 · 단어장 없음 또는 접근 불가
조직에서 해당 단어장을 찾을 수 없거나 다른 조직의 단어장입니다.
E5002 · 단어장 DB/RPC 일시 불가
소유권 확인, 요금제 제한 확인 또는 단어장 저장 DB/RPC를 일시적으로 사용할 수 없습니다.
단어장 삭제
조직이 소유한 단어장을 삭제합니다.
URL
https://agitvxptajouhvoatxio.supabase.co/functions/v1/dictionaries-v1/{id}인증 및 헤더
API Key는 서버 환경변수에 보관하고 요청 헤더로만 전달하세요.
X-API-Key: {YOUR_API_KEY}경로 파라미터
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
id | UUID | 필수 | 삭제할 단어장 ID입니다. |
응답
삭제 완료
응답 body는 비어 있습니다.
E4301 · 단어장 없음 또는 접근 불가
조직에서 해당 단어장을 찾을 수 없거나 다른 조직의 단어장입니다.
E5002 · 단어장 DB 일시 불가
소유권 확인 또는 단어장 삭제 DB를 일시적으로 사용할 수 없습니다.