베타 사용자 엔드포인트

베타 사용자 엔드포인트 (Beta Users Endpoints)

(beta) Users API입니다. 인증된 사용자의 정체성(identity)을 조회하고, 소속된 조직·워크스페이스 목록을 가져오는 엔드포인트예요.

출처: 문서

본문

대시보드 사용자 컨텍스트 인증(DashboardUserContextAuth)을 써서 로그인한 사용자 정보를 읽어오는 API예요. 현재 사용자가 누구인지, 어떤 조직과 워크스페이스에 속해 있는지 확인할 수 있답니다.

GET /v1/users/me — Get Identity (내 정보 조회)

현재 인증된 사용자의 정체성을 가져옵니다.

응답 필드 (200 OK):

  • id#string (필수)
  • email#string|null (필수)
  • first_name#string|null (필수)
  • last_name#string|null (필수)
  • api_key#UserIdentityApiKey|null
  • organization#UserIdentityOrganization|null
  • workspace#UserIdentityWorkspace|null

TypeScript:

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral();

async function run() {
  const result = await mistral.beta.users.getIdentity({
    dashboardUserContextAuth: process.env["MISTRAL_DASHBOARD_USER_CONTEXT_AUTH"] ?? "",
  });

  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.users.get_identity()

    # Handle response
    print(res)

curl:

curl https://api.mistral.ai/v1/users/me \
 -X GET \
 -H 'DashboardUserContextAuth: YOUR_DASHBOARDUSERCONTEXTAUTH_HERE' \
 -H 'Authorization: Bearer ***'

응답 예시 (200):

{
  "email": null,
  "first_name": null,
  "id": "019b2bd7-96e7-7219-8c0b-45a73da50088",
  "last_name": null
}

GET /v1/users/me/organizations — List Organizations (조직 목록 조회)

인증된 사용자가 멤버인 모든 조직을 나열합니다. Identity-only: 호출자가 조직을 선택하지 않아도 되므로, 이 엔드포인트는 사용자만 읽고 활성 조직(active org)으로 스코프를 좁히지 않아요.

쿼리 파라미터:

  • offset#integer — 결과를 반환하기 전에 건너뛸 조직 수.
  • limit#integer — 반환할 최대 조직 수.

응답 필드 (200 OK):

  • organizations#array<UserOrganization> (필수) — 사용자가 멤버인 조직 목록.

curl:

curl https://api.mistral.ai/v1/users/me/organizations \
 -X GET \
 -H 'DashboardUserContextAuth: YOUR_DASHBOARDUSERCONTEXTAUTH_HERE' \
 -H 'Authorization: Bearer ***'

TypeScript:

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral();

async function run() {
  const result = await mistral.beta.users.listOrganizations({
    dashboardUserContextAuth: process.env["MISTRAL_DASHBOARD_USER_CONTEXT_AUTH"] ?? "",
  }, {});

  for await (const page of result) {
    console.log(page);
  }
}

run();

응답 예시 (200):

{
  "organizations": [
    {
      "id": "1a2b3c4d-5e6f-4a8b-9c0d-1e2f3a4b5c6d",
      "name": "Acme Corp"
    }
  ]
}

GET /v1/users/me/workspaces — List Workspaces (워크스페이스 목록 조회)

인증된 사용자가 모든 조직에 걸쳐 멤버인 모든 워크스페이스를 나열합니다. 각 워크스페이스는 소속 조직으로 태그됩니다.

쿼리 파라미터:

  • organization_id#string|null — 이 조직에 속한 워크스페이스만 반환.
  • offset#integer — 결과 전에 건너뛸 워크스페이스 수.
  • limit#integer — 반환할 최대 워크스페이스 수.

응답 필드 (200 OK):

  • workspaces#array<UserWorkspace> (필수) — 사용자가 멤버인 워크스페이스 목록(각각 소속 조직 태그 포함).

curl:

curl https://api.mistral.ai/v1/users/me/workspaces \
 -X GET \
 -H 'DashboardUserContextAuth: YOUR_DASHBOARDUSERCONTEXTAUTH_HERE' \
 -H 'Authorization: Bearer ***'

TypeScript:

import { Mistral } from "@mistralai/mistralai";

const mistral = new Mistral();

async function run() {
  const result = await mistral.beta.users.listWorkspaces({
    dashboardUserContextAuth: process.env["MISTRAL_DASHBOARD_USER_CONTEXT_AUTH"] ?? "",
  }, {
    organizationId: "1a2b3c4d-5e6f-4a8b-9c0d-1e2f3a4b5c6d",
  });

  for await (const page of result) {
    console.log(page);
  }
}

run();

응답 예시 (200):

{
  "workspaces": [
    {
      "id": "7f8e9d0c-1b2a-4c3d-8e9f-0a1b2c3d4e5f",
      "name": "production",
      "organization_id": "1a2b3c4d-5e6f-4a8b-9c0d-1e2f3a4b5c6d"
    }
  ]
}

더 알아보기 (Learn more)