API

Workspace dan koleksi

Daftar workspace dan koleksimu untuk mendapat ID yang dibutuhkan setiap panggilan record.

Path record butuh ID workspace dan ID koleksi. Dua panggilan ini memberikan keduanya. Setiap contoh mengirim token dari Autentikasi.

Daftar workspace

GET /api/v1/workspaces

curl 'http://127.0.0.1:8080/api/v1/workspaces' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
const res = await fetch('http://127.0.0.1:8080/api/v1/workspaces', {
	headers: { Authorization: `Bearer ${token}` }
});
const { data: workspaces } = await res.json();
req, _ := http.NewRequest("GET", "http://127.0.0.1:8080/api/v1/workspaces", nil)
req.Header.Set("Authorization", "Bearer "+token)
res, err := http.DefaultClient.Do(req)
res = requests.get(
    "http://127.0.0.1:8080/api/v1/workspaces",
    headers={"Authorization": f"Bearer {token}"},
)
workspaces = res.json()["data"]

Respons:

{
	"data": [
		{
			"id": "1d6035d32788a9046a1e3209059e00a3",
			"name": "Acme CRM",
			"role": "owner",
			"role_name": "Owner",
			"capabilities": [
				"admin_access",
				"manage_members",
				"manage_roles",
				"manage_schema",
				"read_system",
				"write_records"
			],
			"collection_count": 7,
			"member_count": 1
		}
	],
	"meta": { "request_id": "...", "response_time": 2.1 }
}

capabilities menunjukkan apa yang boleh dilakukan peranmu di sana. Tanpa write_records, kamu hanya bisa membaca.

Daftar koleksi

GET /api/v1/workspaces/:workspace/collections

curl 'http://127.0.0.1:8080/api/v1/workspaces/YOUR_WORKSPACE_ID/collections' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
const res = await fetch(`http://127.0.0.1:8080/api/v1/workspaces/${workspaceId}/collections`, {
	headers: { Authorization: `Bearer ${token}` }
});
const { data: collections } = await res.json();
req, _ := http.NewRequest("GET", "http://127.0.0.1:8080/api/v1/workspaces/"+workspaceID+"/collections", nil)
req.Header.Set("Authorization", "Bearer "+token)
res, err := http.DefaultClient.Do(req)
res = requests.get(
    f"http://127.0.0.1:8080/api/v1/workspaces/{workspace_id}/collections",
    headers={"Authorization": f"Bearer {token}"},
)
collections = res.json()["data"]

Setiap koleksi menyertakan field-nya dan apa yang boleh kamu lakukan pada record-nya:

{
	"id": "6827046ffd8a5b4f737360bf4348139b",
	"workspace_id": "1d6035d32788a9046a1e3209059e00a3",
	"name": "deals",
	"state": "ready",
	"primary_key_kind": "hex32",
	"access": { "read": true, "create": true, "update": true, "delete": true },
	"fields": [
		{
			"id": "44e5cd49ad31b2da7a4ac5decb08a201",
			"name": "title",
			"type": "string",
			"required": true,
			"read_only": false
		}
	]
}

Pakai id koleksi di path record. name koleksi tidak berfungsi di sana.

Langkah berikutnya

Traktir kopi