Ireferensi ye-API
Ukubuka ngokubanzi
Leli khasi lichaza isivumelwano samanje sama-ejenti e-AI angaphandle se-Nibomo.
Uma iklayenti lakho likhuluma i-MCP, isixhumi se-MCP yindlela elula kakhulu yokuxhuma futhi sisonga yona le ngxenye yedatha. Leli khasi lichaza isivumelwano se-HTTP sokuthola, se-SQL, semihlahlandlela, nesokubuyekeza esisetshenziswa ama-ejenti e-CLI.
Qala endaweni yokungena yokuthola esemthethweni:
GET https://api.nibomo.com/v1/
Okuqukethwe okufanayo kokuthola kuyatholakala naku-GET /v1/agent, kodwa /v1/ yiyona ndawo yokungena eyinhloko yomphakathi.
Impendulo yokuthola itshela i-ejenti ukuthi:
- iqale kanjani ukungena nge-OTP ye-imeyili
- ishintshanise kanjani i-OTP ngokhiye we-API ohlala isikhathi eside
- ilayishe kanjani imininingwane ye-akhawunti
- idale noma ikhethe kanjani indawo yokusebenza
- iqhubeke kanjani ngengxenye ye-SQL eshicilelwe
- ilande kanjani imihlahlandlela yereferensi futhi ibuyekeze amakhadi ngalinye ngalinye
Ukuthola ngesikhathi sokusebenza nekhodi yomthombo
I-OpenAPI ayitholakali. Ama-URL amane angaphambili okucaciswa angezansi manje abuyisa isaziso esifanayo sokuthola se-JSON esine-"openapiAvailable": false esikhundleni se-schema:
https://api.nibomo.com/v1/agent/openapi.jsonhttps://api.nibomo.com/v1/agent/swagger.jsonhttps://api.nibomo.com/v1/openapi.jsonhttps://api.nibomo.com/v1/swagger.json
Sebenzisa i-GET https://api.nibomo.com/v1/ ukuze uthole imininingwane yamanje yokuthola ngesikhathi sokusebenza. Landela i-docs.discoveryUrl ebuyisiwe ukuze uthole imizila yesikhathi sokusebenza kanye ne-docs.source.agentRoutesUrl ukuze uthole imininingwane yokwakhiwa.
Ukuqalisa ukuqinisekisa ubuwena
Ukuqalisa nge-OTP kwenzeka kusevisi yokuqinisekisa ubuwena:
POST https://auth.nibomo.com/api/agent/send-codePOST https://auth.nibomo.com/api/agent/verify-code
Inqubo imi kanje:
- Biza i-
GET /v1/. - Thumela i-imeyili yomsebenzisi ku-
send-code. - Funda i-
otpSessionTokenempendulweni. - Cela umsebenzisi ikhodi ye-imeyili yakamuva enezinombolo ezingu-8.
- Biza i-
verify-codenge-code,otpSessionToken, ne-label. - Gcina ukhiye we-API obuyisiwe ngaphandle kwenkumbulo yengxoxo.
Okuguquguqukayo kwemvelo okunconywayo:
export FLASHCARDS_OPEN_SOURCE_API_KEY="fca_ABCDEFGH_0123456789ABCDEFGHJKMNPQRS"
Izicelo eziqinisekisiwe zisebenzisa:
Authorization: ApiKey <key>
Isibonelo sokulandelana kokuqalisa:
curl https://api.nibomo.com/v1/
curl -X POST https://auth.nibomo.com/api/agent/send-code \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com"}'
curl -X POST https://auth.nibomo.com/api/agent/verify-code \
-H "Content-Type: application/json" \
-d '{
"code":"12345678",
"otpSessionToken":"...",
"label":"Codex on MacBook"
}'
Ingxenye yama-ejenti ngemva kokungena
Ngemva kokuqinisekisa, ingxenye yamanje yama-ejenti yile:
GET /v1/agent/meGET /v1/agent/workspacesPOST /v1/agent/workspacesPOST /v1/agent/workspaces/{workspaceId}/selectPOST /v1/agent/sql/query(ukufunda kuphela)POST /v1/agent/sql/execute(ukubhala)GET /v1/agent/guide/{topic}(ukufunda kuphela)POST /v1/agent/reviews/next(ukufunda kuphela)POST /v1/agent/reviews/reveal(ukufunda kuphela)POST /v1/agent/reviews/submit(ukubhala)
Ukuqalisa okujwayelekile kubukeka kanje:
GET /v1/agent/meGET /v1/agent/workspaces?limit=100- Uma kudingeka,
POST /v1/agent/workspacesnge-{"name":"Personal"} - Uma kudingeka,
POST /v1/agent/workspaces/{workspaceId}/select - Sebenzisa i-
POST /v1/agent/sql/queryukuze ufunde ne-POST /v1/agent/sql/executeukuze ubhale
Ukukhethwa kwendawo yokusebenza kwenziwa ngokucacile koxhumo ngalunye lokhiye we-API. Ama-ejenti kufanele alandele umbhalo we-instructions obuyisiwe kanye ne-docs.discoveryUrl ukuze athole imizila yesikhathi sokusebenza, kanye ne-docs.source.agentRoutesUrl ukuze athole imininingwane yokwakhiwa, esikhundleni sokuqagela isinyathelo esilandelayo.
Imizila ye-SQL neyokubuyekeza iphinde yamukele i-workspaceId engaphoqelekile emzimbeni we-JSON. Ikhomba leyo ndawo yokusebenza ekubizweni okukodwa ngaphandle kokushintsha ukukhetha; yishiye ukuze usebenzise indawo yokusebenza ekhethiwe. Uma kungekho ukukhetha noma i-workspaceId, iphendula nge-409 WORKSPACE_SELECTION_REQUIRED.
Ingxenye ye-SQL
I-POST /v1/agent/sql/query yingxenye yokufunda kuphela ngokuqinile (SHOW TABLES, DESCRIBE, SHOW COLUMNS, SELECT) futhi i-POST /v1/agent/sql/execute yingxenye yokubhala (INSERT, UPDATE, DELETE); ukubiza okukodwa kufanele kube ngokwemiyalo yokufunda kuphela noma yokubhala kuphela.
Ilinganiselwe ngamabomu futhi ayiyona i-PostgreSQL ephelele. Le mibhalo ichaza kuphela uhlobo lwe-SQL olusekelwayo, hhayi ireferensi yokuhambisana ne-PostgreSQL.
Ayikho indlela yokufunda elungisa idatha, ebala kabusha ukuhlela, noma eshintsha isimo sekhadi. Sebenzisa
i-POST /v1/agent/sql/execute kukho konke ukubhala kwamakhadi namaqoqo amakhadi. I-SQL ayikwazi ukubhala
i-review_events noma isimo sokuhlela se-FSRS; rekhoda ukubuyekeza
nge-POST /v1/agent/reviews/submit.
Izinhlobo zemiyalo zamanje:
SHOW TABLESDESCRIBE <resource>SHOW COLUMNS FROM <resource>SELECTINSERTUPDATEDELETE
Izinsiza ezingokomqondo ezishicilelwe okwamanje zihlanganisa:
workspacecardsdecksreview_events
Amanothi:
- i-
LIMITngokuzenzakalela ingu-100futhi ikhawulelwe ku-100 - sebenzisa i-
ORDER BYuma udinga ukwehlukaniswa kwamakhasi okuzinzile - sebenzisa i-
SHOW TABLESnoma i-DESCRIBE cardsukuze uthole i-schema - konke ukubiza kwe-SQL kukhawulelwe endaweni yokusebenza eyodwa: i-
workspaceIdesemzimbeni, noma indawo yokusebenza ekhethiwe
Isibonelo sesicelo:
curl -X POST https://api.nibomo.com/v1/agent/sql/query \
-H "Content-Type: application/json" \
-H "Authorization: ApiKey $FLASHCARDS_OPEN_SOURCE_API_KEY" \
-d '{"sql":"SHOW TABLES"}'
Isibonelo sombuzo wamakhadi:
curl -X POST https://api.nibomo.com/v1/agent/sql/query \
-H "Content-Type: application/json" \
-H "Authorization: ApiKey $FLASHCARDS_OPEN_SOURCE_API_KEY" \
-d '{
"sql":"SELECT card_id, front_text, back_text, tags FROM cards ORDER BY updated_at DESC LIMIT 20 OFFSET 0"
}'
Isibonelo soshintsho:
curl -X POST https://api.nibomo.com/v1/agent/sql/execute \
-H "Content-Type: application/json" \
-H "Authorization: ApiKey $FLASHCARDS_OPEN_SOURCE_API_KEY" \
-d '{
"sql":"UPDATE cards SET back_text = '\''Updated answer'\'' WHERE card_id = '\''50b5b928-7f04-4cc8-878d-6cd0e8b98474'\''"
}'
Iseva ye-MCP ekude iyatholakala futhi ku-https://mcp.nibomo.com/mcp isebenzisa i-OAuth 2.1 (Dynamic Client Registration + PKCE). Inikeza ukuhlukaniswa okufanayo kwe-SQL njenge-sql_query (ukufunda kuphela ngokuqinile) ne-sql_execute (ukubhala), kanye ne-list_workspaces, get_guide, namathuluzi okubuyekeza next_review_card, reveal_answer, ne-submit_review; bheka isixhumi se-MCP.
Ukuphepha nobubanzi
Ingxenye ye-SQL iwuhlobo lwe-SQL oluvalelekile, oluphoqelelwa yi-parser, hhayi i-PostgreSQL eluhlaza. Izivikelo yilezi:
- Uhlu oluvaliwe lwemiyalo evunyelwe: kuphela i-
SHOW TABLES,DESCRIBE,SHOW COLUMNS, ne-SELECTyokufunda, kanye ne-INSERT,UPDATE, ne-DELETEyokubhala. Noma yini enye yenqatshwa ngesikhathi sokuhlaziya umyalo. - Izinsiza ezilinganiselwe: imiyalo ingathinta kuphela izinsiza
workspace,cards,decks, ne-review_events. - Ububanzi bendawo yokusebenza ngayinye: wonke umyalo ukhawulelwe endaweni yokusebenza eyodwa ongayifinyelela, kungaba yi-
workspaceIdesemzimbeni wesicelo noma indawo yakho yokusebenza ekhethiwe, kungekho kufinyelela phakathi kwezindawo zokusebenza ezahlukene. - Imizimba yezicelo eqinile: imizila ye-SQL neyokubuyekeza yenqaba inkambu yomzimba engaziwa, ngakho i-
workspaceIdebhalwe ngephutha iyahluleka esikhundleni sokusebenza endaweni yokusebenza ekhethiwe. - Imikhawulo: kufika emigqeni engu-
100emyalweni ngamunye, kufika emiyalweni engu-50esixheni ngasinye, kanye nomkhawulo womphumela ocishe ube ngamathokheni angu-12k. Izixha zokushintsha zisebenza ngokuphelele noma zingasebenzi nhlobo. - Ukuhlukaniswa kokufunda nokubhala: i-
sql_queryne-list_workspacesangamathuluzi okufunda kuphela ngokuqinile (readOnlyHint) futhi awalokothi alungise idatha, abale kabusha ukuhlela, noma ashintshe isimo sekhadi. I-sql_executeyiyona kuphela ithuluzi le-SQL lokubhala futhi lenza ukubhala (destructiveHint); ukubiza okukodwa kufanele kube ngokwemiyalo yokufunda kuphela noma yokubhala kuphela. I-SQL ayikwazi ukubhala i-review_eventsnoma isimo sokuhlela se-FSRS; kuphela i-POST /v1/agent/reviews/submit(ithuluzi le-MCPsubmit_review) erekhoda ukubuyekeza.
Imihlahlandlela
I-GET /v1/agent/guide/{topic} ibuyisa umhlahlandlela wereferensi owodwa ku-data.guide, umzimba ofanayo olethwa yithuluzi le-MCP get_guide. Izihloko:
sql_dialect: uhlelo lolimi lwe-SQL oluphelele, imikhawulo, nezibonelocard_authoring: isivumelwano sekhadi, amathegi, ukuhlola izimpinda, nokufomethabulk_authoring: ukuhlukanisa nokuqinisekisa umsebenzi omkhulu wokubhalareview_flow: umjikelezo wokubuyekeza nokulinganisa
Isihloko esingaziwa siphendula nge-400 kanye nohlu lwezihloko ezisekelwayo. Landa umhlahlandlela ofanele ngaphambi kokubhala amakhadi, ukubhala ngobuningi, noma ukuqhuba ukubuyekeza, futhi uphinde ufunde i-sql_dialect ngemva komyalo owenqatshiwe.
curl https://api.nibomo.com/v1/agent/guide/sql_dialect \
-H "Authorization: ApiKey $FLASHCARDS_OPEN_SOURCE_API_KEY"
Ukubuyekeza
Imizila yokubuyekeza ivumela i-ejenti ukuthi ibuze umfundi ikhadi elilodwa ngesikhathi futhi igcine isilinganiso ngasinye ohlelweni lwe-FSRS lwekhadi. Ithatha ama-agumenti e-JSON afanayo namathuluzi okubuyekeza e-MCP:
- I-
POST /v1/agent/reviews/nextibuyisa i-cardene-cardIdne-frontText, noma i-card: nulluma kungekho okusesikhathini sokubuyekezwa. I-tagsengaphoqelekile (noma iyiphi yawo) noma i-deckIdinciphisa umugqa, kodwa hhayi zombili ndawonye; isicelo esingenamzimba sivumelekile. - I-
POST /v1/agent/reviews/revealidinga i-cardIdfuthi ibuyisa i-backTextyalelo khadi. - I-
POST /v1/agent/reviews/submitidinga i-cardId, i-UUID ye-reviewIdeyenziwe yiklayenti, i-ratingengu-Again,Hard,Good, nomaEasy, kanye ne-reviewedTimeZoneye-IANA yomfundi. Iseva ibeka isikhathi sokubuyekeza futhi ibuyisa uhlelo olusha lwekhadi, kuhlanganise ne-dueAt,state,reps, ne-lapses.
Yomithathu imizila yamukela i-workspaceId engaphoqelekile. Gcina i-reviewId ngaphambi kokuthumela, futhi uzame futhi ukuthumela okungaqinisekile ngesicelo esifanayo ncamashi; akulokothi kurekhode ukubuyekeza kwesibili. Imizila yokubuyekeza ingaphinde iphendule ngokuthi:
409 REVIEW_EVENT_CONFLICT: ukubuyekeza kwase kurekhodiwe, futhi i-error.details.reviewScheduleiqukethe uhlelo lwamanje lwekhadi.409 REVIEW_ID_CARD_MISMATCH: i-reviewIdisivele ikhomba ukubuyekezwa kwekhadi elihlukile, ngakho akukho okugciniwe; thumela futhi nge-reviewIdentsha.409 REVIEW_STALE: isikhathi sokubuyekeza esigcinwe ekhadini silingana noma singemva kwesikhathi samanje seseva; buyekeza elinye ikhadi.400 REVIEW_INPUT_INVALID: i-agumenti ayikho, ayivumelekile, noma ayisekelwa, kuhlanganise ne-tagsehlanganiswe ne-deckIdnoma ithegi engasetshenziswa yindawo yokusebenza.
Isibonelo sokuthumela:
curl -X POST https://api.nibomo.com/v1/agent/reviews/submit \
-H "Content-Type: application/json" \
-H "Authorization: ApiKey $FLASHCARDS_OPEN_SOURCE_API_KEY" \
-d '{
"cardId":"693c4863-28a2-45e8-8f55-9fa31fc95ff2",
"reviewId":"429bb7cc-40fb-49f3-bb50-48a5db2826d1",
"rating":"Good",
"reviewedTimeZone":"Europe/Sofia"
}'
Ama-API abantu nawokuvumelanisa
I-Nibomo iphinde ibe nama-API ahlukene amaklayenti abantu nawokuvumelanisa okusebenza kuqala ngaphandle kwe-inthanethi, kodwa awasona isivumelwano esiyinhloko sama-ejenti angaphandle:
- izinqubo zesiphequluli zisebenzisa amakhukhi esizinda esabiwe kanye nesivikelo se-CSRF
- amaklayenti asebenza kuqala ngaphandle kwe-inthanethi asebenzisa imizila yokuvumelanisa esetshenzisiwe ngaphansi kwe-
/v1/workspaces/{workspaceId}/sync/pushne-/v1/workspaces/{workspaceId}/sync/pull - imizila yokuvumelanisa ihlukile engxenyeni yama-ejenti angaphandle