> ## Documentation Index
> Fetch the complete documentation index at: https://developers.bottari.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 토큰

> 연동 토큰의 형식과 확인 위치, 다시 만드는 방법을 정리합니다.

API 요청은 연동 토큰으로 인증합니다. 토큰은 연동마다 하나이고, 화면에는 `비밀값`으로 표시됩니다.

```http theme={null}
Authorization: Bearer bti_...
Bottari-Version: 2026-03-11
```

## 토큰 형식

`bti_` 뒤에 영문자 · 숫자 · `_` · `-`로 된 43자가 붙습니다. 앱 로그인 토큰으로는 API를 호출할 수 없습니다. 연동 토큰으로는 이 API 외의 Bottari 기능을 호출할 수 없습니다.

## 토큰 관리하기

토큰은 팀 소유자만 볼 수 있습니다. `설정` → `팀` → `API 연동`에서 연동을 열면 `비밀값`이 있습니다.

* `보기` · `복사`: 현재 토큰을 표시하거나 복사합니다. 여러 번 볼 수 있고, 볼 때마다 감사 기록에 남습니다.
* `새로 만들기`: 새 토큰을 만듭니다. 현재 토큰은 그 즉시 거절됩니다.

`연동 지우기`를 누르면 그 토큰의 요청을 바로 거절하고 연결도 모두 끊습니다. 지운 연동의 봇이 쓴 행에는 봇 ID가 그대로 남습니다.

연동 만들기 · 새 토큰 만들기 · 웹훅 구독 만들기 · 인증 전 구독의 주소 변경은 합쳐서 팀마다 시간당 10번까지입니다. 연동은 팀마다 25개까지 만들 수 있습니다.

## 인증 오류

| 응답 | 메시지 | 원인 |
| - | - | - |
| 401 `unauthorized` | `Authorization header must use the format "Bearer <token>".` | 헤더가 없거나 형식이 틀렸습니다. |
| 401 `unauthorized` | `API token is invalid.` | 토큰이 틀렸거나, 토큰을 새로 만들어 더는 쓸 수 없거나, 연동을 지웠습니다. `additional_data.reason`은 `token_invalid`입니다. |
| 400 `validation_error` | `Bottari-Version "..." is not supported by this server...` | `2026-03-11`이 아닌 버전을 보냈습니다. |

서버는 경로 · JSON · 인증 · 버전 · 본문 순서로 검사합니다. 없는 경로는 토큰을 확인하기 전에 400 `invalid_request_url`로 거절합니다.

## 연동 봇

연동마다 봇 사용자가 하나씩 있습니다. `GET /v1/users/me`의 `id`가 그 봇의 ID입니다.

* 연동이 만든 행의 `created_by`와 고친 행의 `last_edited_by`에 이 ID가 들어갑니다.
* 웹훅의 `authors`에도 `{ "id": "<봇 ID>", "type": "bot" }`로 들어갑니다. 자신이 쓴 변경을 거를 때 사용하세요.
* 연동을 만든 사람이나 데이터베이스를 연결한 사람이 팀을 떠나도 연동은 남습니다.

## 토큰 안전하게 사용하기

* 토큰은 서버의 환경 변수나 비밀값 저장소에 두세요. 브라우저로 전달되는 코드에는 넣지 마세요.
* 작업마다 연동을 따로 만들고, 필요한 권한과 데이터베이스만 지정하세요.
* 토큰이 유출되면 `새로 만들기`를 눌러 이전 토큰을 바로 막으세요.

**참고:** 데이터베이스 · 행 · 본문 읽기와 쓰기, 토큰 보기는 팀 감사 기록에 남습니다.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.