Skip to Content
API시작하기

API 시작하기

그리디 워크스페이스의 테이블을 바깥 프로그램에서 읽고 쓸 수 있습니다. 대시보드, 자동화 스크립트, 직접 만든 웹 서비스가 그리디를 데이터베이스처럼 씁니다.

요청 규격은 PostgREST를 따릅니다. @supabase/supabase-js 클라이언트가 코드 수정 없이 그대로 붙습니다.

준비물은 두 가지입니다

키를 발급하고, 바깥에 열어 줄 테이블을 고릅니다. 둘 다 해야 합니다. 키만 발급하면 아무 테이블도 보이지 않습니다.

API 키 발급

유저 메뉴 → 설정 → 외부 연결 → API 키에서 키 발급을 누릅니다.

  • 이름 어디에 쓰는 키인지 알아볼 이름을 적습니다.
  • 권한 읽기만 할지, 읽고 쓰기까지 할지 여기서 정합니다. 발급한 뒤에는 바꿀 수 없습니다.
  • 만료 기간을 정하거나 만료 없이 둡니다.

발급 직후 화면에서 키를 복사하세요. 창을 닫으면 다시 볼 수 없습니다. 그리디는 키의 해시만 저장하기 때문에 관리자도, 저희도 원래 값을 알지 못합니다. 잃어버렸다면 폐기하고 새로 발급하면 됩니다.

키는 발급한 사람의 권한을 그대로 물려받습니다. 내가 볼 수 없는 테이블은 내 키로도 보이지 않습니다. 반대로 내가 편집할 수 있는 테이블은 읽기·쓰기 키를 쥔 쪽에서 편집할 수 있습니다. 키를 넘길 때는 계정을 빌려주는 것과 같다고 생각하세요.

테이블 열기

테이블 화면 우측 상단 메뉴에서, 또는 설정 → 데이터베이스의 테이블 목록에서 API 연결을 켭니다.

설정 화면에서는 여러 테이블을 한 번에 켜고 끌 수 있습니다. 내가 읽기 권한만 가진 테이블은 스위치 대신 읽기 전용 표시가 붙습니다.

켜지 않은 테이블은 API에서 존재 자체가 보이지 않습니다. 이름을 정확히 알고 불러도 404가 돌아옵니다.

첫 요청

orders라는 테이블을 열어 두었다고 하겠습니다.

import { createClient } from "@supabase/supabase-js"; // 주소에는 오리진만 넣습니다. 경로를 붙이면 클라이언트가 잘못 조합합니다. const gridie = createClient("https://gridie.ai", process.env.GRIDIE_API_KEY); const { data, error } = await gridie .from("orders") .select("id, customer, total") .eq("status", "paid") .order("created_at", { ascending: false }) .limit(20);

응답은 감싸는 키 없이 행 배열입니다.

[ { "id": 1, "customer": "김지훈", "total": 42000 }, { "id": 2, "customer": "이서연", "total": 18000 } ]

주소

정식 주소는 하나입니다.

https://gridie.ai/api/v1

Supabase 클라이언트를 쓴다면 오리진만 넘기세요. 이유와 주소 규칙은 Supabase 호환에 적어 두었습니다.

인증

키는 헤더로 보냅니다. 두 가지 형식을 모두 받습니다.

-H "apikey: gsk_..." -H "Authorization: Bearer gsk_..."

브라우저에서 직접 부를 수도 있습니다. CORS 프리플라이트에 응답하고, 개수를 읽을 수 있도록 Content-Range 헤더를 노출합니다. 다만 키가 브라우저 코드에 들어가면 방문자 모두가 그 키를 갖게 됩니다. 공개 페이지에서는 서버를 한 단계 두는 편이 안전합니다.

키 확인하기

프로그램이 여러 키를 다룰 때, 지금 쥔 키가 무엇인지 물어볼 수 있습니다.

curl "https://gridie.ai/api/v1/me" -H "apikey: $GRIDIE_API_KEY"
{ "workspace": { "id": "0b1e…", "name": "우리 회사" }, "permission": "read", "expiresAt": null, "tableCount": 3 }

permissionread 또는 write이고, tableCount는 이 키로 볼 수 있는 테이블 수입니다. 0이라면 아직 테이블을 열지 않은 것입니다.

다음

REST API에서 조회, 추가, 수정, 삭제와 필터 문법을 다룹니다. Supabase 클라이언트로 붙일 계획이라면 Supabase 호환을 먼저 보세요.

Last updated on

알림

입력

도입 문의

기업 도입에 관한 문의를 남겨주세요. 영업 담당자가 빠르게 연락드리겠습니다.
첨부파일