베타 라이브러리 엔드포인트
베타 라이브러리 엔드포인트 (Beta Libraries Endpoints)
(beta) Libraries API로 문서를 인덱싱해 에이전트 능력을 확장하는 라이브러리를 만들고 관리합니다.
출처: 문서
본문
라이브러리(문서 컬렉션)를 만들고 관리하는 베타 엔드포인트 모음이에요. 라이브러리를 만들면 그 안에 문서를 넣어 에이전트가 참고할 지식 베이스로 쓸 수 있고, 나중에 이름·설명을 수정하거나 통째로 삭제할 수 있답니다.
GET /v1/libraries — List all libraries you have access to (접근 가능한 라이브러리 목록)
내가 만들었거나 공유받은 모든 라이브러리를 나열합니다.
응답 필드 (200 Successful Response):
data#array<Library>(필수) — 라이브러리 목록.next_page_token#string|null— 다음 페이지용 불투명 연속 토큰. 다음 페이지를 가져오려면page_token으로 다시 넘기면 돼요. 더 이상 결과가 없으면 null이에요. deprecated된offset페이지 파라미터보다 이걸 선호해요.pagination#PaginationInfo|null— Deprecated: offset 페이지네이션 메타데이터. deprecatedpage파라미터를 쓰는 호출자에게만 채워지고,page_token을 쓰면 생략돼요. RBAC 필터링이 롤아웃되는 동안total_items는 대략적인 추정치(라이브러리별 검사 전 후보 수)예요.next_page_token을 쓰고, 이 필드는 offset 페이징이 은퇴하면 제거될 거예요.
TypeScript:
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: proces...EY"] ?? "",
});
async function run() {
const result = await mistral.beta.libraries.list({});
console.log(result);
}
run();
Python:
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.libraries.list(page_size=100, page=0)
# Handle response
print(res)
curl:
curl https://api.mistral.ai/v1/libraries \
-X GET \
-H 'Authorization: Bearer ***'
응답 예시 (200):
{
"data": [
{
"chunk_size": null,
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"nb_documents": "426",
"owner_id": null,
"owner_type": "User",
"total_size": "6436546",
"updated_at": "2025-12-17T10:41:03.469341Z"
}
]
}
POST /v1/libraries — Create a new Library (라이브러리 생성)
새 라이브러리를 만듭니다. 만들면 당신이 소유자가 되고, 다른 사람과 공유할 수 있는 건 소유자뿐이에요. 처음 생성되면 본인만 접근할 수 있어요.
요청 본문:
name#string(필수) — 라이브러리 이름.description#string|nullchunk_size#integer|null— 문서 텍스트를 나눌 청크 크기(문자 수). 256~32768 사이여야 해요.owner_type#"User"|"Workspace"— 생성된 라이브러리의 소유자 결정.'User'는 소유자만 접근하는 비공개 라이브러리를 만들고,'Workspace'는 워크스페이스와 공유하는 라이브러리를 만들어요. API 키 세션에선 기본'Workspace'예요. 비공개 사용자 소유 라이브러리를 만들 수 있는 건 'Private and shared connectors' 커넥터 접근 스코프를 가진 API 키뿐이에요.
응답 필드 (201 Successful Response):
id#string(필수),name#string(필수),chunk_size#integer|null(필수),created_at#date-time,updated_at#date-time,description#string|null,emoji#string|null,explicit_user_members_count#integer|null,explicit_workspace_members_count#integer|null,generated_description#string|null,generated_name#string|null,nb_documents#integer(필수),org_sharing_role#string|null,owner_id#string|null(필수),owner_type#string(필수),total_size#integer(필수)
TypeScript:
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: proces...EY"] ?? "",
});
async function run() {
const result = await mistral.beta.libraries.create({
name: "<value>",
});
console.log(result);
}
run();
Python:
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.libraries.create(name="<value>")
# Handle response
print(res)
curl:
curl https://api.mistral.ai/v1/libraries \
-X POST \
-H 'Authorization: Bearer ***' \
-H 'Content-Type: application/json' \
-d '{
"name": "My Library"
}'
응답 예시 (201):
{
"chunk_size": null,
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"nb_documents": "426",
"owner_id": null,
"owner_type": "User",
"total_size": "6436546",
"updated_at": "2025-12-17T10:41:03.469341Z"
}
GET /v1/libraries/{library_id} — Detailed information about a specific Library (라이브러리 상세 조회)
라이브러리 ID로 해당 라이브러리에 대한 상세 정보를 제공합니다.
경로 파라미터:
library_id#string(필수)
응답 필드 (200 Successful Response): 생성 응답과 동일한 Library 필드 목록입니다.
TypeScript:
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: proces...EY"] ?? "",
});
async function run() {
const result = await mistral.beta.libraries.get({
libraryId: "d0d23a1e-bfe5-45e7-b7bb-22a4ea78d47f",
});
console.log(result);
}
run();
Python:
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.libraries.get(library_id="d0d23a1e-bfe5-45e7-b7bb-22a4ea78d47f")
# Handle response
print(res)
curl:
curl https://api.mistral.ai/v1/libraries/{library_id} \
-X GET \
-H 'Authorization: Bearer ***'
응답 예시 (200):
{
"chunk_size": null,
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"nb_documents": "426",
"owner_id": null,
"owner_type": "User",
"total_size": "6436546",
"updated_at": "2025-12-17T10:41:03.469341Z"
}
PUT /v1/libraries/{library_id} — Update a library (라이브러리 갱신)
라이브러리 ID로 이름과 설명을 갱신합니다.
경로 파라미터:
library_id#string(필수)
요청 본문:
name#stringdescription#string|null
응답 필드 (200 Successful Response): Library 필드 목록.
TypeScript:
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: "MISTR...EY",
});
async function run() {
const result = await mistral.beta.libraries.librariesUpdateV1({
libraryId: "e01880c3-d0b5-4a29-8b1b-abdb8ce917e4",
updateLibraryRequest: {},
});
console.log(result);
}
run();
Python:
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.libraries.libraries_update_v1(library_id="e01880c3-d0b5-4a29-8b1b-abdb8ce917e4")
# Handle response
print(res)
curl:
curl https://api.mistral.ai/v1/libraries/{library_id} \
-X PUT \
-H 'Authorization: Bearer ***' \
-H 'Content-Type: application/json' \
-d '{}'
응답 예시 (200):
{
"chunk_size": null,
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"nb_documents": "426",
"owner_id": null,
"owner_type": "User",
"total_size": "6436546",
"updated_at": "2025-12-17T10:41:03.469341Z"
}
DELETE /v1/libraries/{library_id} — Delete a library and all of it's document (라이브러리와 문서 삭제)
라이브러리 ID로 그 라이브러리와 업로드된 모든 문서를 함께 삭제합니다. 참고: 응답은 향후 버전에서 200(삭제된 라이브러리 반환)에서 204 No Content로 바뀔 예정입니다.
경로 파라미터:
library_id#string(필수)
응답 (200): Library deleted (deprecated, 204로 대체 예정). 응답 필드는 Library와 동일합니다.
TypeScript:
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: proces...EY"] ?? "",
});
async function run() {
const result = await mistral.beta.libraries.delete({
libraryId: "6cad0b6e-fd2e-4d11-a48b-21d30fb7c17a",
});
console.log(result);
}
run();
Python:
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.libraries.delete(library_id="6cad0b6e-fd2e-4d11-a48b-21d30fb7c17a")
assert res is not None
# Handle response
print(res)
curl:
curl https://api.mistral.ai/v1/libraries/{library_id} \
-X DELETE \
-H 'Authorization: Bearer ***' \
-H 'Content-Type: application/json'
응답 예시 (200):
{
"chunk_size": null,
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"nb_documents": "426",
"owner_id": null,
"owner_type": "User",
"total_size": "6436546",
"updated_at": "2025-12-17T10:41:03.469341Z"
}
PATCH /v1/libraries/{library_id} — Update a library (라이브러리 갱신)
라이브러리 ID로 이름과 설명을 부분 갱신합니다.
경로 파라미터:
library_id#string(필수)
요청 본문:
name#stringdescription#string|null
응답 필드 (200 Successful Response): Library 필드 목록.
TypeScript:
import { Mistral } from "@mistralai/mistralai";
const mistral = new Mistral({
apiKey: proces...EY"] ?? "",
});
async function run() {
const result = await mistral.beta.libraries.update({
libraryId: "74a30b7a-ba52-49f7-a8a3-7157e1adf565",
updateLibraryRequest: {},
});
console.log(result);
}
run();
Python:
from mistralai.client import Mistral
import os
with Mistral(
api_key=os.getenv("MISTRAL_API_KEY", ""),
) as mistral:
res = mistral.beta.libraries.update(library_id="74a30b7a-ba52-49f7-a8a3-7157e1adf565")
# Handle response
print(res)
curl:
curl https://api.mistral.ai/v1/libraries/{library_id} \
-X PATCH \
-H 'Authorization: Bearer ***' \
-H 'Content-Type: application/json' \
-d '{}'
응답 예시 (200):
{
"chunk_size": null,
"created_at": "2025-12-17T10:25:07.818693Z",
"id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
"name": "My resource",
"nb_documents": "426",
"owner_id": null,
"owner_type": "User",
"total_size": "6436546",
"updated_at": "2025-12-17T10:41:03.469341Z"
}
더 알아보기 (Learn more)
- Beta Libraries Endpoints — 공식 API 문서
- Libraries — 라이브러리 안내