Skip to content

API පිරිවිතර

East Agile Tracker API හි සියලු REST endpoint සඳහා සම්පූර්ණ යොමුව: සත්‍යාපනය සහ භූමිකා, ව්‍යාපෘති, story, epic, පුනරාවර්තන, සිදුවීම්, ආයාත සහ අපනයන.

සම්පූර්ණ REST endpoint යොමුව. tutorials සහ උදාහරණ සඳහා, API මාර්ගෝපදේශය බලන්න.

ව්‍යාපෘති member කෙනෙකුට web UI එකේ කළ හැකි සියල්ල මෙහි ලබා ගත හැකිය — SPA එක මෙම එකම API එක පරිභෝජනය කරයි. manager භූමිකාව අවශ්‍ය ක්‍රියා (manager) ලෙස සලකුණු කර ඇත; අනෙක් සියල්ලට අවශ්‍ය වන්නේ ව්‍යාපෘති සාමාජිකත්වය පමණි (හෝ, (viewer) ලෙස සලකුණු කළ reads සඳහා, ඕනෑම ප්‍රවේශ මට්ටමක්). පහත වගු සේවාදායකය mount කරන සෑම route කණ්ඩායමක්ම නම් කරයි; තනි පේළියකින් සාරාංශ කළ ඒවා සජීවී openapi.json හි සම්පූර්ණයෙන් විස්තර කර ඇත.

https://api.eastagiletracker.com/api/v1

API එකට එයටම ආවේණික host එකක් ඇත: eastagiletracker.com වෙබ් යෙදුම සේවය කරන අතර /api/v1/… වෙත 404 සමඟ පිළිතුරු දෙයි. multipart පිළිගන්නා ගොනු-උඩුගත endpoints කිහිපයක් හැර, සියලුම requests සහ responses JSON වේ.

කණ්ඩායම් දෙකක් /api/v1 වෙනුවට /api යටතේ, එක් මට්ටමක් ඉහළින් පිහිටයි: සත්‍යාපන මතුපිට (/api/auth/*) සහ පොදු සම්බන්ධතා පෝරමය (/api/contact). ඒවායේ /api/v1/… ආකාරයන් 404 ආපසු දෙයි.

සෑම සත්‍යාපිත request එකක්ම පහත එකකින් අක්තපත්‍රයක් යවයි:

  • X-TrackerToken: <key>
  • Authorization: Bearer <key>

User keys ea_user_ වලින්, agent keys ea_agent_ වලින්, සහ MCP access tokens ea_mcp_ වලින් ආරම්භ වේ. API මාර්ගෝපදේශය → අක්තපත්‍ර වර්ග තුනක් බලන්න.

සත්‍යාපනය නොකළ endpoints: /openapi.json, /docs, /api/auth/* endpoints, සහ reference-data lookups (/story_types, /story_states, /effort_scales, /priority_scales). /meta සත්‍යාපිතය — ඕනෑම වලංගු යතුරක් ක්‍රියා කරයි, නමුත් එය ව්‍යාපෘති-පරිමාණ නොවේ (ව්‍යාපෘතියට බැඳුණු agent key එකක්ද එයට ළඟා වේ).

ව්‍යාපෘති-පරිමාණ endpoints මට්ටම් හතරක් ගේට්ටු කරයි:

මට්ටමසමත් වන්නේ කවුදසාමාන්‍ය ක්‍රියා
public viewerඕනෑම අයෙක්, දෘශ්‍යතාව පොදු වූ ව්‍යාපෘතියකබෝඩ් එකේ reads: ස්ටෝරි, ඉටරේෂන්, search, ස්ටෝරි සහ epic ක්‍රියාකාරකම් (actor විස්තර සඟවා)
viewerviewer, member, managerreads (ස්ටෝරි list/get, search, metrics, export ආකෘති ලැයිස්තුව)
membermember, managerසියලුම work-item writes (stories, tasks, comments, …), event stream එක
managermanager පමණිව්‍යාපෘති සැකසුම්, සාමාජිකත්ව කළමනාකරණය, agent keys, delete, import, export බාගැනීම්, backups, audit log

ඒජන්තයන් සාමාජිකයන්ට සමාන භූමිකාවන් දරයි — viewer, member, හෝ manager — යතුර mint කළ සාමාජිකයාගේ භූමිකාවෙන් සීමා වේ. සාමාජිකයෙකු නොවන අයෙකුට පෞද්ගලික ව්‍යාපෘති මාර්ග මත 404 unfound_resource (403 නොව) ලැබේ, ඒ නිසා ව්‍යාපෘති IDs ගණනය කළ නොහැකිය.

MethodPathවිස්තරය
GET/openapi.jsonසජීවී OpenAPI 3 spec එක, request bodies ඇතුළුව. සත්‍යාපනය නොකළ.
GET/docsSwagger UI. සත්‍යාපනය නොකළ.
GET/metaCaller අනන්‍යතාව (auth.kind/key_id/agent_id/project_id) + story-type transition graph එක. සත්‍යාපිතය (ඕනෑම වලංගු යතුරක්; ව්‍යාපෘති-පරිමාණ නොව). මෙය මුලින්ම ඇමතන්න.
GET/api/health · /api/configජීවමානතාව, සහ deployment එකේ පොදු වින්‍යාසය (තනි-ආයතන ප්‍රකාරය, සක්‍රිය විකල්ප විශේෂාංග, instance එකේ නම). සත්‍යාපනය නොකළ, /v1 වලින් පිටත.

Auth (/api/auth/*, /v1 වලින් පිටත)

Section titled “Auth (/api/auth/*, /v1 වලින් පිටත)”

සැසි endpoints, සඳහන් කර නොමැති නම් සත්‍යාපනය නොකළ. SPA එක මේවා ධාවනය කරයි; scripts සාමාන්‍යයෙන් ඒ වෙනුවට API key එකක් භාවිතා කරයි.

MethodPathවිස්තරය
POST/auth/registerනව ගිණුමක් ලියාපදිංචි කරන්න — reCAPTCHA-ආරක්ෂිත; ඉන්පසු ගිණුම SMS අභියෝගය පසු කරයි
POST/auth/sms/challenge · /auth/sms/status · /auth/sms/bypassලියාපදිංචි SMS කේතය යවන්න / පරීක්ෂා කරන්න (bypass ක්‍රියාකරු විසින් ගේට්ටු කර ඇත)
GET/auth/configdeployment එක ලබා දෙන පුරනය වීමේ ක්‍රම මොනවාද
POST/auth/loginඊමේල් + මුරපදය සමඟ පුරනය වන්න; සැසි JWT එකක්, හෝ TOTP අභියෝගයක් ආපසු දෙයි
POST/auth/login/totpauthenticator කේතයකින් හෝ ප්‍රතිසාධන කේතයකින් පුරනය වීමක් අවසන් කරන්න
POST/auth/passkey/login/start · /auth/passkey/login/finishමුරපද රහිත WebAuthn පුරනය
GET/auth/oauth/github/start · /auth/oauth/github/callback · /auth/oauth/google/start · /auth/oauth/google/callback · POST /auth/oauth/exchangeGitHub හෝ Google සමඟ OAuth පුරනය
POST/auth/refresh · /auth/refresh/revokerefresh token එක භ්‍රමණය කරන්න / අවලංගු කරන්න
POST/auth/logoutපිටවන්න (සත්‍යාපනය අවශ්‍යයි; මෙම session එකේ refresh token එක අවලංගු කරයි)
POST/auth/forgot-password · /auth/reset-passwordනැවත සැකසීමේ ඊමේල් එකක් ඉල්ලන්න / reset token එක භාවිතා කරන්න
POST/auth/accept-invite/lookup · /auth/accept-inviteinvitation token එකක් → ඊමේල් වෙත විසඳන්න / ව්‍යාපෘති ආරාධනාව accept කරන්න (සත්‍යාපනයෙන් පසු)
POST/auth/oauth/link/preview · …/link/confirm · /auth/oauth/merge/preview · …/merge/confirmGitHub හෝ Google ගිණුමක් පවතින ගිණුමකට සම්බන්ධ කරන්න, හෝ ගිණුම් දෙකක් ඒකාබද්ධ කරන්න
POST/auth/email_addresses/primary/preview · …/primary/confirmඊමේල් කළ තහවුරු කිරීමේ සබැඳියෙන් ප්‍රාථමික-ඊමේල් වෙනස් කිරීමක් සම්පූර්ණ කරන්න

ගිණුම / අනන්‍යතාව

Section titled “ගිණුම / අනන්‍යතාව”

මේවා caller මත ක්‍රියා කරන අතර ව්‍යාපෘති භූමිකාවක් අවශ්‍ය නොවේ. ඒවාට සාමාජික අනන්‍යතාවයක් අවශ්‍යයි — agent key එකකට 401 ලැබේ (ඒජන්තයන් /agent/me භාවිතා කරයි). අක්තපත්‍ර වෙනස් කරන ඇමතුම් — මුරපදය, TOTP, passkeys, ගිණුම මකා දැමීම, ඊමේල් වෙනස් කිරීමක්, token නැවත ජනනය — සඳහා browser session එකක් අවශ්‍යයි; API key එකකට 403 ලැබේ.

MethodPathවිස්තරය
GET/meවත්මන් පරිශීලක profile
PUT/meProfile යාවත්කාලීන කරන්න
DELETE/meගිණුම මකන්න — ඔබ ආයතනයක හෝ වෙනත් සාමාජිකයන් සිටින ව්‍යාපෘතියක එකම owner වන තාක් ප්‍රතික්ෂේප කෙරේ
GET/me/deletion-impactගිණුම මකා දැමීමෙන් ඉවත් වන්නේ කුමක්ද සහ එය අවහිර කරන්නේ කුමක්ද
PUT/me/passwordමුරපදය වෙනස් කරන්න
PUT/me/settingsසැකසුම් යාවත්කාලීන කරන්න (theme, notification preferences)
POST / DELETE/me/avatarඔබේ avatar උඩුගත කරන්න (multipart) / ඉවත් කරන්න
POST/me/api-token/regenerateසියලුම sessions වලින් පිටවී නව session token එකක් ආපසු දෙයි; API keys වලට බලපෑමක් නැත
GET / POST/me/email_addresses · GET …/email_addresses/offers · PUT …/email_addresses/primaryඔබේ ඊමේල් ලිපින; සම්බන්ධිත provider එකක ලිපිනය විකල්ප ලිපිනයක් ලෙස ගන්න; ප්‍රාථමික වෙනස් කිරීමක් ඉල්ලන්න (ඊමේල් මගින් තහවුරු කෙරේ)
GET/me/oauth_identities · DELETE …/oauth_identities/{provider} · POST …/oauth_identities/{provider}/linkසම්බන්ධිත පුරනය වීමේ ගිණුම් (GitHub, Google): ලැයිස්තුගත කරන්න, විසන්ධි කරන්න, සම්බන්ධ කිරීමක් අරඹන්න
GET/me/api_keys · POST /me/api_keys · DELETE /me/api_keys/{id}User (ea_user_) API keys කළමනාකරණය කරන්න
GET/me/totp · POST /me/totp/setup · /me/totp/verify · /me/totp/disableදෙ-සාධක (TOTP) ලියාපදිංචිය; verify ප්‍රතිසාධන කේත එක් වරක් ආපසු දෙයි
GET/me/passkeys · POST /me/passkeys/register/start · /me/passkeys/register/finish · DELETE /me/passkeys/{credential_id}Passkey ලියාපදිංචිය සහ ඉවත් කිරීම
GET/me/oauth_grants · DELETE /me/oauth_grants/{grant_id}Connected apps — ඔබ අවසර දී ඇති MCP clients සහ OAuth යෙදුම්
GET/me/activityසියලුම ව්‍යාපෘති හරහා ඔබේ ක්‍රියාකාරකම්
GET/me/storiestoken එකට ළඟා විය හැකි සෑම ව්‍යාපෘතියක් පුරාම ඔබ අයිති, ඉල්ලූ, හෝ follow කරන ස්ටෝරි — role=owned|requested|following, state=, cursor= / limit= (උපරිමය 200)
GET/me/mentions · POST /me/mentions/{mention_id}/ack@-සඳහන් එන ලිපි පෙට්ටිය (පෙරීමට unacked=true) සහ පිළිගැනීම — පහත දැනුම්දීම් සංග්‍රහයටද ඒකාබද්ධ කර ඇත
GET/me/data-exportඔබේ දත්ත වල GDPR ස්ව-export
GET/me/consent · POST /me/consentConsent කියවන්න / පටිගත කරන්න ({ consent_type, granted })
GET/legal/pending · POST /legal/acceptපොරොත්තු clickwrap docs / පිළිගැනීම පටිගත කරන්න
GET / PUT/agent/meagent key එකක තමන්ගේම අනන්‍යතාව සහ profile, ඒජන්තයාට කියවිය හැකි සහ සංස්කරණය කළ හැකි (/me හි agent-පාර්ශ්ව සමානය)
POST/api/contact · /api/v1/feedback · /api/v1/feedback/with-screenshotContact + යෙදුම් ඇතුළත feedback; IP අනුව rate-limited

Reference data (සත්‍යාපනය නොකළ)

Section titled “Reference data (සත්‍යාපනය නොකළ)”

ස්ටෝරි සෑදීමේදී/තක්සේරු කිරීමේදී භාවිතා කරන seed lookups. ස්ථාවර IDs.

MethodPathවිස්තරය
GET/story_typesfeature, bug, chore, release (+ allow_points)
GET/story_statesunstarted … accepted, rejected
GET/effort_scalesලබා ගත හැකි estimate scales
GET/effort_scales/{scale_id}/valuesපරිමාණයක ඇති point values
GET/priority_scales · /priority_scales/{scale_id}/valuesප්‍රමුඛතා පරිමාණ සහ ඒවායේ අගයන් (ස්ටෝරියක priority_id මෙහි විසඳේ)

සත්කාරක සේවාවේ පමණි — ස්වයං-සත්කාරක ස්ථාපනයක් තනි-ආයතන ප්‍රකාරයේ ධාවනය වන අතර මේවා mount නොකරයි (ආයතන ලැයිස්තුව හැර). භූමිකාවන් ආයතන භූමිකාවන් වේ: owner, admin, member.

MethodPathවිස්තරය
GET / POST/organizationsඔබේ ආයතන ලැයිස්තුගත කරන්න / එකක් සාදන්න
GET / PUT / DELETE/organizations/{oid}කියවන්න, නැවත නම් කරන්න (නම + slug; owner හෝ admin), මකන්න
GET / POST/organizations/{oid}/memberships · PUT / DELETE …/memberships/{member_id}සාමාජිකයන් සහ ආරාධනා; ආරාධනා භූමිකා සීමාවක් දරයි (කිසිවිටෙක ඇමතුම්කරුගේ භූමිකාවට ඉහළින් නොවේ; owner කිසිවිටෙක ආරාධනා නොකෙරේ)
POST/organizations/{oid}/memberships/bulk-role · …/memberships/bulk-removeඑකවර සාමාජිකයින් 200 දක්වා භූමිකාව වෙනස් කරන්න හෝ ඉවත් කරන්න. සියල්ල හෝ කිසිවක් නැත: අවසාන owner ඉවත් කරන හෝ ව්‍යාපෘතියක් හිමිකරුවෙකු නොමැතිව තබන කණ්ඩායමක් සම්පූර්ණයෙන් ප්‍රතික්ෂේප වේ; reassign_confirmed සමඟ ඔබ එම ව්‍යාපෘතිවල හිමිකරු වේ
DELETE/organizations/{oid}/invitations/{invitation_id}පොරොත්තු ආරාධනාවක් අවලංගු කරන්න
POST/organizations/{oid}/transfer-ownershipowner භූමිකාව වෙනත් සාමාජිකයෙකුට භාර දෙන්න
GET/organization-invitations/{token} · POST …/{token}/acceptඊමේල් කළ ආයතන ආරාධනාවක් විසඳන්න / accept කරන්න
GET/organizations/{oid}/export · POST …/export/jobs · GET …/export/jobs/{job_id} · …/export/jobs/{job_id}/downloadOwner-පමණක් ආයතන export: SQL dump එකක් සහ සෑම attachment එකක්ම සහිත zip එකක්, job එකක් ලෙස ධාවනය වේ
MethodPathවිස්තරය
GET/projectsඔබේ ව්‍යාපෘති ලැයිස්තුගත කරන්න (limit ≤ 200)
POST/projectsව්‍යාපෘතියක් සාදන්න
GET/projects/{id}ව්‍යාපෘති විස්තර ලබා ගන්න (viewer)
PUT/projects/{id}ව්‍යාපෘති සැකසුම් යාවත්කාලීන කරන්න (manager)
DELETE/projects/{id}ව්‍යාපෘතියක් මකන්න (manager)
POST / DELETE/projects/{id}/pinඔබේ ව්‍යාපෘති ලැයිස්තුවේ ව්‍යාපෘතිය pin / unpin කරන්න
POST/projects/{id}/transfer-organizationව්‍යාපෘතිය වෙනත් ආයතනයකට ගෙන යන්න — caller ව්‍යාපෘතියේ කළමනාකරු (Manager) සහ ඉලක්ක ආයතනයේ org owner හෝ admin විය යුතුය
POST/projects/{id}/slack/testව්‍යාපෘතියේ Slack feed එකට පරීක්ෂණ පණිවිඩයක් යවන්න (manager)
GET / POST/projects/{id}/showcase_claim_eligibility · /projects/{id}/showcase_claim · /projects/{id}/showcase_seedපොදු showcase ව්‍යාපෘති: ඔබට එකක් හිමිකර ගත හැකිද යන්න පරීක්ෂා කරන්න, එය හිමිකර ගන්න, එය බීජ කරන්න (බීජ කිරීම නිෂ්පාදන පරිපාලකයන් සඳහා පමණි; වෙනත් ඕනෑම අයෙකුට 404 ලැබේ)
GET/projects/{id}/audit-logAudit log කියවීම — ව්‍යාපෘති ඉතිහාසය සහ surface= හරහා ස්ටෝරිය අනුව / epic අනුව ක්‍රියාකාරකම්; ප්‍රවේශය surface අනුව වෙනස් වේ, පහත බලන්න
GET/projects/{id}/eventsCursor-paginated event stream (member) — Events බලන්න

Audit log query පරාමිතීන්: event_type= (එක් වර්ගයක් හෝ කොමාවෙන් වෙන් කළ ලැයිස්තුවක්), limit= (පෙරනිමිය 50, 1000 ට සීමා කෙරේ), before= (keyset cursor <ISO-8601>|<audit_id> — පෙර පිටුවේ next_cursor ලබා දෙන්න), surface= (project_history, story_activities, epic_activities), target_id= (ස්ටෝරියේ/epic එකේ id — surface=story_activities හෝ epic_activities විට අවශ්‍යයි). ප්‍රවේශය: පෙරහන් නොකළ ලොගය (manager) වේ; surface=project_history (viewer) වේ, ව්‍යාපෘතිය සාමාජික ඊමේල් සඟවන විට ඒවා සඟවා ඇත; story_activities / epic_activities ව්‍යාපෘතියේ ඕනෑම සාමාජිකයෙකුට කියවිය හැකි අතර, පොදු ව්‍යාපෘතිවල නිර්නාමිකවද — ක්‍රියාකරුගේ PII සඟවා ඇත.

සාමාජිකයන්, ඒජන්තයන්, සහ agent keys

Section titled “සාමාජිකයන්, ඒජන්තයන්, සහ agent keys”
MethodPathවිස්තරය
GET/projects/{id}/membershipsසාමාජිකයන් ලැයිස්තුගත කරන්න (viewer)
POST/projects/{id}/membershipsඊමේල් මගින් සාමාජිකයෙකුට ආරාධනා කරන්න (manager)
PUT/projects/{id}/memberships/{mid}භූමිකාව යාවත්කාලීන කරන්න (manager)
DELETE/projects/{id}/memberships/{mid}සාමාජිකයෙකු ඉවත් කරන්න (manager)
POST/projects/{id}/memberships/bulk-role · …/memberships/bulk-removeසාමාජිකයන් රැසකගේ භූමිකාව එකවර වෙනස් කරන්න, හෝ ඔවුන් ඉවත් කරන්න (manager)
GET/projects/{id}/addable-members · POST /projects/{id}/members/add-existingතවමත් ව්‍යාපෘතියේ නැති ආයතන සාමාජිකයන් / ඊමේල් ආරාධනාවකින් තොරව එකක් එක් කරන්න — (manager) සහ org owner හෝ admin කෙනෙකු
POST/projects/{id}/members/joinආයතන owner හෝ admin කෙනෙකු තමන්ගේ ආයතනයේ ව්‍යාපෘතියකට manager කෙනෙකු ලෙස එක් වේ, හෝ තමන්වම එකෙකු ලෙස උසස් කරයි (ව්‍යාපෘති ලැයිස්තුවේ Make me owner ක්‍රියාව)
GET / POST/projects/{id}/agent_keysAgent keys ලැයිස්තුගත (manager) / mint කරන්න — ව්‍යාපෘතියේ creator-roles policy එකෙහි භූමිකාව ඇති පුද්ගලයන්; agent keys වලට mint කළ නොහැක
PUT / DELETE/projects/{id}/agent_keys/{kid}key එකක නම, භූමිකාව, හෝ response hints සංස්කරණය කරන්න / එය අවලංගු කරන්න (manager)
GET/projects/{id}/agent_keys/onboardingonboarding bundle එක: පොදු agent clients සඳහා prompts සහ config ගොනු
GET/projects/{id}/agents · GET / PUT / DELETE /projects/{id}/agents/{aid}ව්‍යාපෘතියේ ඒජන්තයන් සහ ඔවුන්ගේ profiles (නම, මුලකුරු, විස්තරය, වර්ණය); DELETE ඒජන්තයා සහ එහි සියලුම keys අවලංගු කරයි — manager කෙනෙකු හෝ ඒජන්තයා සෑදූ අය
POST/projects/{id}/agents/{aid}/rotate-key · /projects/{id}/agents/{aid}/avatarඒජන්තයෙකුගේ යතුර භ්‍රමණය කරන්න (අනන්‍යතාව සහ ඉතිහාසය තබා ගනී) / එහි avatar එක උඩුගත කරන්න

සියලුම story writes වලට member භූමිකාව අවශ්‍ය වේ. පසුදින දැමූ දිනයන්, import ප්‍රභවය (import_source / import_external_id), හෝ බාහිර owners හෝ requester සහිතව ස්ටෝරියක් සෑදීමට (manager) අවශ්‍යයි.

MethodPathවිස්තරය
GET/projects/{id}/storiesස්ටෝරි ලැයිස්තුගත කරන්න (paginated, filterable) (viewer)
POST/projects/{id}/storiesස්ටෝරියක් සාදන්න
GET/projects/{id}/stories/{sid}එක් ස්ටෝරියක් ලබා ගන්න (viewer)
PUT/projects/{id}/stories/{sid}ස්ටෝරියක් යාවත්කාලීන කරන්න
DELETE/projects/{id}/stories/{sid}ස්ටෝරියක් මකන්න
POST/projects/{id}/stories/{sid}/transitionsවලංගුකරණය සමඟ තත්ත්වය වෙනස් කරන්න
POST/projects/{id}/stories/{sid}/reject · /projects/{id}/stories/{sid}/restartdelivered ස්ටෝරියක් reject කරන්න / reject කළ එකක් නැවත started වෙත පත් කරන්න (/transitions සඳහා rejected අවසාන තත්ත්වයකි)
POST/projects/{id}/stories/{sid}/archive · /projects/{id}/stories/{sid}/unarchiveඑක් ස්ටෝරියක් archive / unarchive කරන්න
POST/projects/{id}/stories/bulk-unarchiveස්ටෝරි රැසක් unarchive කරන්න
POST/projects/{id}/stories/bulk_transitionස්ටෝරි බොහෝමයක් (1–100) එකවර මාරු කරන්න
POST/projects/{id}/stories/bulk-archive · bulk-delete · bulk-duplicate · bulk-moveස්ටෝරි බොහෝමයක් archive, delete, duplicate, හෝ (පැනලයකට / ස්ථානයකට) move කරන්න
POST/projects/{id}/stories/{sid}/duplicateඑක් ස්ටෝරියක් අනුපිටපත් කරන්න
POST / DELETE/projects/{id}/stories/{sid}/epics · …/epics/{eid}ස්ටෝරියේ epic සාමාජිකත්වය
GET/short-links/{code} · /story-references/s/<code> කෙටි සබැඳියක් එහි ස්ටෝරියට විසඳන්න / references 100ක් දක්වා — codes= (කොමාවෙන් වෙන් කළ කෙටි-සබැඳි codes) සහ ids= (කොමාවෙන් වෙන් කළ project_id:story_id) — ඇමතුම්කරුට කියවිය හැකි ස්ටෝරි වලට විසඳන්න

ස්ටෝරි-ලැයිස්තු query parameters: archived= (exclude පෙරනිමිය / include / only — ත්‍රි-අවස්ථා archived පෙරහන; අත්හළ include_archived=true වෙනුවට යෙදේ, එය දැන් archived=include සඳහා alias එකකි), include_done=true (පසුගිය iterations මත ශීත කළ Done පැනලයේ ස්ටෝරි ඇතුළත් කරයි; පෙරනිමියෙන් බැහැර වේ). Pagination (cursor= / limit= / offset=) සහ sparse fieldsets (fields=) Pagination සහ ක්ෂේත්‍ර ප්‍රක්ෂේපනය අනුගමනය කරයි.

Create (POST …/stories): { "name" (required), "story_type": "feature|bug|chore|release", "description"?, "estimate"?, "current_state"?, "icebox"?, "labels"? }. estimate යනු පරිමාණ අගයේ label එක string එකක් ලෙසයි ("3", "13"); JSON අංකයක් ප්‍රතික්ෂේප කෙරේ. labels ["auth"] හෝ [{ "name": "auth" }] පිළිගනියි; නොදන්නා labels සාදනු ලැබේ. පෙරනිමි: story_type=feature, current_state=unstarted.

Update (PUT …/stories/{sid}): එම ක්ෂේත්‍ර, සියල්ල විකල්ප, ඊට අමතරව "position" (float), "force_state_change" (bool), සහ "expected_version" (පූර්ණ සංඛ්‍යාව, ස්ටෝරියේ version — එම අනුවාදයෙන් පසු විස්තරය වෙනස් වී ඇත්නම් විස්තර සුරැකීමක් 409 stale_write සමඟ ප්‍රතික්ෂේප කෙරේ). පැරණි "expected_updated_at" (RFC 3339) අත්හැර දමා ඇති අතර තවත් එක් නිකුතුවක් සඳහා ක්‍රියා කරයි: විස්තරයක් සමඟ expected_version නොමැතිව යැවූ විට, එය ස්ටෝරියේ updated_at ට සමාන නොවේ නම් සුරැකීම 409 stale_write සමඟ ප්‍රතික්ෂේප කෙරේ. Story writes ස්ටෝරියේ ETag එකට එරෙහිව If-Match ද ගරු කරයි; නොගැළපීමක් 412 precondition_failed වේ.

Transition (POST …/transitions): { "to": "<state>" }. ක්ෂේත්‍රය to වේ. { story_id, state } ආපසු දෙයි. නීති විරෝධී මාරුව → 422 invalid_transition, details: { from, to, allowed } සමඟ.

Bulk transition (POST …/bulk_transition): { "story_ids": [int,…] (1–100), "to": "<state>" }. එක් එක් ස්ටෝරිය ස්වාධීනව විනිශ්චය කරයි; { results: [ { id, status: "ok" } | { id, status: "failed", error } ] } ආපසු දෙයි.

සියල්ල member. බොහෝමයක List/GET (viewer) වේ. attachment එකක් හෝ link attachment එකක් මකා දැමීමට එය උඩුගත කළ අය හෝ (manager) අවශ්‍යයි.

MethodPathBody / සටහන්
GET / POST/projects/{id}/stories/{sid}/tasks · PUT/DELETE …/tasks/{tid}{ description (or task_desc), complete?, task_order? }
GET / POST/projects/{id}/stories/{sid}/comments · PUT/DELETE …/comments/{cid}{ text (or comment_text) } හෝ { comment_emoji }. GET මගින් fields= (allowlist: comment_id, story_comment_id, story_id, comment_text, comment_emoji, member, created) සහ cursor= / limit= (≤ 200) / order=asc|desc ද පිළිගනියි
GET / POST/projects/{id}/stories/{sid}/blockers · PUT/DELETE …/blockers/{bid}{ blocker_desc, resolved? }
GET / POST/projects/{id}/stories/{sid}/links · PUT/DELETE …/links/{lid}සෑදීම: { url, link_type?, title? }; යාවත්කාලීන කිරීම: { url, title? } — link_type ∈ relates_to, duplicates, blocks, is_blocked_by, pull_request, branch, other; GitHub /pull/ සහ /tree/ URLs ස්වයංක්‍රීයව වර්ගීකරණය කෙරේ
GET / POST/projects/{id}/stories/{sid}/reviews · PUT/DELETE …/reviews/{rid}Create: { reviewer_id? / reviewer_agent_id?, comment? } — ඔබවම පැවරීමට දෙකම අත්හරින්න. Update: { status, comment? }
GET / POST/projects/{id}/stories/{sid}/owners · DELETE …/owners/{mid} · DELETE …/owners/agents/{aid}{ member_id? / agent_id? } — caller එක් කිරීමට දෙකම අත්හරින්න
GET / POST/projects/{id}/stories/{sid}/followers · DELETE …/followers/{mid} · DELETE …/followers/agents/{aid}{ member_id? / agent_id? }
GET / POST/projects/{id}/stories/{sid}/labels · DELETE …/labels/{lid}{ label_id } — පවතින ව්‍යාපෘති label එකක්; POST /projects/{id}/labels සමඟ labels සාදන්න, නැතහොත් ස්ටෝරියේ PUT එකෙහි labels යවන්න
GET / POST/projects/{id}/stories/{sid}/attachments (+ /json) · DELETE …/attachments/{aid}multipart upload — වීඩියෝ ≤ 200 MB, PDF / Word / Excel ≤ 25 MB, රූප / CSV / පෙළ ≤ 10 MB; list (viewer) වේ
GET / POST/projects/{id}/stories/{sid}/link-attachments · DELETE …/link-attachments/{laid}Link attachments — code link එකක් ලෙස නොව ගොනු attachments සමඟ තබා ඇති බාහිර URL එකක්
GET/attachments/{token} · /api/v1/avatars/{token}attachment එකක හෝ avatar එකක token-ලිපිනගත reads — API එක ලබා දෙන URLs; X-TrackerToken අවශ්‍ය නැත

ස්ටෝරි වලට සමාන හැඩය, තත්ත්ව යන්ත්‍රය හැර. writes සඳහා සහ comment, owner, සහ follower ලැයිස්තු සඳහා member; epic ලැයිස්තුව, තනි epic එකක්, සහ attachment ලැයිස්තු සඳහා (viewer).

MethodPathවිස්තරය
GET / POST/projects/{id}/epics · GET / PUT / DELETE …/epics/{eid}Epics නමක්, Markdown විස්තරයක්, සහ ඒවායේ ස්ටෝරි එකට බැඳෙන පසුබිම් label එකක් දරයි
GET / POST / PUT / DELETE…/epics/{eid}/comments · …/comments/{cid}Epic comments
GET / POST / DELETE…/epics/{eid}/owners · …/followers (+ /agents/{aid} variants)Owners සහ followers, සාමාජිකයන් හෝ ඒජන්තයන් — epic එකක owners එහි ස්ටෝරි වෙත ප්‍රචාරණය වේ
GET / POST / DELETE…/epics/{eid}/attachments (+ /json) · …/link-attachmentsAttachments, ස්ටෝරි වලට සමාන සීමා
GET/projects/{id}/analytics/epics · …/analytics/epics/{eid}එක් එක් epic අනුව ප්‍රගතිය: burnup, throughput, සෞඛ්‍යය, පුරෝකථනය (viewer)

writes සඳහා member, reads සඳහා (viewer).

MethodPathවිස්තරය
GET / POST/projects/{id}/labelslabel එකක් ලැයිස්තුගත / සාදන්න
GET / PUT / DELETE/projects/{id}/labels/{lid}label එකක් කියවන්න / යාවත්කාලීන / මකන්න
POST/projects/{id}/labels/{lid}/archivelabel එකක් archive (soft-hide) කරන්න

Reads ඕනෑම ව්‍යාපෘති භූමිකාවකට විවෘත වන අතර, පොදු ව්‍යාපෘතියක නිර්නාමික වේ.

MethodPathවිස්තරය
GET/projects/{id}/iterationsඉටරේෂන් ලැයිස්තුගත කරන්න (පිටුවකට ≤ 500; කපා හැරි විට ETag එකක් සහ X-Tracker-Pagination-* අඛණ්ඩ headers දරයි)
GET/projects/{id}/iterations/{itid}එක් ඉටරේෂන් එකක්
GET/projects/{id}/iterations/first-previewබීජ ලිවීමක් නිර්මාණය කරන ඉටරේෂන් එකේ, හෝ වත්මන් ඉටරේෂන් එක ඇති විට එහි කාල පරාසය, ප්‍රක්ෂේපිත වෙලොසිටිය සහ Backlog පිරවීම (member)
POST/projects/{id}/iterationsmanual ඉටරේෂන් එකක් සාදන්න (manager)
DELETE/projects/{id}/iterations/{itid}ඉටරේෂන් එකක් මකන්න (manager)
PUT/projects/{id}/iterations/{itid}/velocityව්‍යාපෘති strategy එක වෙනස් නොකර එක් ඉටරේෂන් එකක වෙලොසිටිය ඉක්මවා යන්න (manager)
GET/projects/{id}/iterations/{itid}/done-storiesවසා දැමූ ඉටරේෂන් එකක accepted ස්ටෝරි, paginated
MethodPathවිස්තරය
GET/projects/{id}/search?q=…ප්‍රබල සෙවුම — සම්පූර්ණ-පෙළ + facet / date-range / people qualifiers (GitHub-විලාසයේ DSL); { results, total, limit, offset } ආපසු දෙයි. query යනු q සඳහා alias එකකි; limit= (පෙරනිමිය 50, උපරිමය 1000) / offset= පිටු කරයි; sort= relevance (පෙරනිමිය), created, created_asc, state, හෝ updated අනුව අනුපිළිවෙළ කරයි. (viewer) — මාර්ගෝපදේශය බලන්න
GET/projects/{id}/metrics/{velocity,burndown,story-types,contributors}Metrics පිටුවේ series (viewer); epic metrics ඉහත /analytics/epics යටතේ ඇත
GET/projects/{id}/backlog/groupingBacklog හි ප්‍රක්ෂේපිත ඉටරේෂන් කණ්ඩායම් (viewer)
GET / PUT/projects/{id}/preferencesමෙම ව්‍යාපෘතිය සඳහා ඔබේ board preferences — ඕනෑම ව්‍යාපෘති භූමිකාවක්, ඔබේම පේළිය පමණි
MethodPathවිස්තරය
GET/projects/{id}/eventsCursor-paginated event stream (member) — viewers ට 403 ලැබේ

Query parameters: since_id=<event_id> (since යනු පැරණි alias එකයි; දෙකම යැවූ විට since_id ජය ගනී), types=story.created,story.transitioned,comment.added,…, limit= (පෙරනිමිය 100, ≤ 500), cursor=. ප්‍රතිචාරය { items, next_since_id, next_cursor } වේ: නැවත ආරම්භ කිරීමට next_since_id ගබඩා කර එය since_id ලෙස ආපසු ලබා දෙන්න; අවසන් පිටුවේ next_cursor null වේ.

යෙදුම තුළ ඒකාබද්ධ දැනුම්දීම් සංග්‍රහය: ප්‍රථම-පන්තියේ දැනුම්දීම් පේළි (සමාලෝචන ඉල්ලීම්, story ක්‍රියාකාරකම්, ආරාධනා, …) @-සඳහන් එන ලිපි සමඟ ඒකාබද්ධ කර අලුත්ම පළමුව අනුපිළිවෙළින් එක් ප්‍රවාහයක් ලෙස. සංග්‍රහ id වලට මූලාශ්‍ර උපසර්ගයක් ඇත (nt-… / sc-… / ec-…). සාමාජික සැසි සහ ea_user_* යතුරු ඔවුන්ගේ සාමාජික-පාර්ශ්ව පේළි කියවයි; ea_agent_* යතුරු ඔවුන්ගේ agent-පාර්ශ්ව පේළි.

MethodPathවිස්තරය
GET/me/notificationsඔබේ දැනුම්දීම් සංග්‍රහය. පෙරහන්: unread=true, since_id=, kind= (mentions / reviews / stories / invitations); පිටු කිරීම cursor= / limit= මගින්
GET/me/notifications/unread-countනොකියවූ එකතු — { unread_count, by_category: { mentions, reviews, stories, invitations } }
POST/me/notifications/read-allසියල්ල කියවූ ලෙස සලකුණු කරන්න; නැවුම් ගණන් ලබා දෙයි
POST/me/notifications/{id}/ackඑක් අයිතමයක් කියවූ ලෙස සලකුණු කරන්න (idempotent)
POST/me/notifications/{id}/acceptසංග්‍රහයෙන්ම ව්‍යාපෘති / සංවිධාන ආරාධනාවක් පිළිගන්න (සාමාජික ටෝකන පමණි)
POST/me/notifications/{id}/declineව්‍යාපෘති / සංවිධාන ආරාධනාවක් ප්‍රතික්ෂේප කරන්න (සාමාජික ටෝකන පමණි)
GET/me/notifications/resolve-invite?token=…ඊමේල් මගින් ලැබුණු ආරාධනා ටෝකනය ඔබේ දැනුම්දීම් id වෙත ගැළපීම — { "id": "nt-…" } හෝ { "id": null }
GET/me/notifications/streamසජීවී push — Server-Sent Events (text/event-stream); පහත බලන්න

stream endpoint එක JSON endpoint එකක් නොවන නිසා එය OpenAPI පිරිවිතරයේ නැත: එය සම්බන්ධතාව විවෘතව තබාගෙන අලුත් දෙයක් පැමිණෙන සෑම විටම payload රහිත රාමුවක් ({"type":"notification","kind":…}) නිකුත් කරයි, සංග්‍රහය නැවත ලබාගන්නා ලෙස client ට දන්වයි. සම්බන්ධතා සේවාදායක පාර්ශ්වයෙන් මිනිත්තු 45 කට පසු අවසන් වේ — නැවත සම්බන්ධ වී නැවත සත්‍යාපනය කරන්න. සාමාජික සැසි සහ ea_user_* යතුරු පමණි; ea_agent_* යතුරුවලට 403 ලැබේ.

MethodPathවිස්තරය
POST/projects/{id}/importගොනු මූලාශ්‍ර: source= ∈ pivotal, jira, asana, gitlab, shortcut, trello, linear, plane, plane_json, eat. Multipart file=. සමමුහුර්ත — ප්‍රතිඵල ගණන් සමඟ පිළිතුරු දෙයි.
POST/projects/{id}/import/jsonJSON body; source=github හට ගොනුවක් අවශ්‍ය නැත — owner, repo, විකල්ප token, සහ opt-in flags include_pull_requests / include_milestones / include_releases / include_dependencies, සහ include_comments (පෙරනිමි true); ගොනු මූලාශ්‍ර file_base64 යවයි. අසමමුහුර්ත: 202 { import_id, status } ආපසු දෙයි. සේවාදායකය GitHub හි GraphQL API හරහා ලබා ගනී, එය නිර්නාමික ඇමතුම්කරුවන් ප්‍රතික්ෂේප කරයි, ඒ නිසා GitHub වෙත සැමවිටම token එකක් ළඟා වේ — ඔබේම එක, හෝ deployment එකේ බෙදාගත් එක. මාර්ගෝපදේශය බලන්න.
GET/projects/{id}/imports/{import_id}job එකක් poll කරන්න: status pending → fetching → writing → done | failed ලෙස ධාවනය වේ, fetching අතරතුර progress_current / progress_total සහ done මත ප්‍රතිඵල ගණන් සමඟ

ව්‍යාපෘතියකට වරකට ධාවනය වන්නේ එක් JSON import එකක් පමණි; එකක් ක්‍රියාත්මක වෙමින් තිබියදී දෙවන POST …/import/json එකක් 409 import_already_running වේ. check_unpointed_estimates: true සමඟ (file මූලාශ්‍ර සඳහා; github සඳහා නොසලකයි), ව්‍යාපෘතිය ලකුණු නොදෙන දෝෂ හෝ කාර්ය ඇස්තමේන්තු අඩංගු file එකක් කිසිදු job එකක් ආරම්භ වීමට පෙර 409 import_unpointed_estimates සහ details.count සමඟ ප්‍රතික්ෂේප කෙරේ; flag එක නොමැතිව import එක එම ඇස්තමේන්තු ඉවත දමා ප්‍රතිඵලයේ warnings හි { code: "estimates_unpointed_dropped", count } වාර්තා කරයි. dry_run: true (JSON body හෝ dry_run=true multipart) ඕනෑම මූලාශ්‍රයක් පෙරදසුන් කරයි: parse, resolve, de-dupe කර, එම { imported, skipped, errors, unmatched } counts ම ආපසු දී, පසුව rollback කරයි — කිසිවක් නොලියයි. සීමා: 10 MiB ගොනුවක් (400 import_too_large) සහ ගොනු-පාදක මූලාශ්‍ර සඳහා per import ස්ටෝරි 5,000 (400 import_too_many_records); කිසිවක් නොලියයි. 16 MiB ඉක්මවන request body එකක් 413 request_too_large සමඟ කලින්ම ප්‍රතික්ෂේප වේ. GitHub මූලාශ්‍රයට සීමාවක් නැත — එය තනි ගනුදෙනුවක් වෙනුවට කොටස් වශයෙන් commit කරයි. නැවත-import එක source id අනුව idempotent — දැනටමත් import කළ පේළි අනුපිටපත් නොකර මඟ හැරේ.

MethodPathවිස්තරය
GET/projects/{id}/export/formatsලියාපදිංචි ආකෘති: { id, name, content_type, drops, includes_archived }. ඕනෑම ව්‍යාපෘති භූමිකාවක්.
GET/projects/{id}/export/{format}එකක් බාගන්න (manager). Interchange: eat (සම්පූර්ණ නිරවද්‍යතාව), jira, pivotal, shortcut, trello, asana, gitlab, linear, plane, plane_json; documents: pdf, docx.
GET/projects/{id}/export/attachmentsසෑම attachment එකක්ම browse කළ හැකි එක් zip එකක් ලෙස (ගොනු මුල් නම් තබා ගනී; JSON + CSV manifest) (manager).

Document exports (pdf, docx) අමතර query parameters පිළිගනියි: page_size= (letter පෙරනිමිය / a4 / legal / folio), from= / to= (ස්ටෝරි කවුළු සීමා — RFC 3339 හෝ සරල YYYY-MM-DD; ස්ටෝරියක created හෝ completed_at ඒ තුළට වැටෙන විට එය පරාසයේ ඇත), include_icebox= / include_backlog= (දෙකම පෙරනිමියෙන් false, එබැවින් බෙදාගත හැකි export එකක පෙන්වන්නේ කාලසටහන්ගත / ක්‍රියාත්මක වෙමින් පවතින වැඩ පමණි). Interchange CSV formats ඒවා නොසලකා හරියි.

MethodPathවිස්තරය
GET / POST/projects/{id}/backups · GET …/backups/{snapshot_id} · …/backups/healthsnapshots ලැයිස්තුගත කරන්න, දැන් එකක් ගන්න, එකක් කියවන්න, සහ රඳවා තබා ගැනීමේ සෞඛ්‍ය සාරාංශය
POST/projects/{id}/restores · POST …/restores/partial · GET …/restores/{restore_id}මුළු snapshot එකක්ම, හෝ එකකින් තෝරාගත් වගු, restore කර restore එක poll කරන්න

POSTs sensitive rate-limit ස්තරයේ පිහිටයි (පහත).

East Agile Tracker යනු MCP clients සඳහා OAuth 2.1 සපයන්නෙකි. client එකක් එය /.well-known/oauth-authorization-server සහ /.well-known/oauth-protected-resource/mcp හි සොයා ගනී, ඔබව /oauth/authorize (කැමැත්ත පිටුව) වෙත යවයි, /oauth/token හි කේතය හුවමාරු කරයි, ඉන්පසු ලැබෙන ea_mcp_* token එක සමඟ /mcp හි MCP කථා කරයි. Grants /me/oauth_grants හි ලැයිස්තුගත කර අවලංගු කෙරේ. සපයන්නාගේ endpoints වලට තමන්ගේම rate-limit ස්තරයක් ඇත.

Write endpoints (POST, PUT, DELETE) Idempotency-Key header එකක් පිළිගනියි. එම යතුර + එම body එක cached ප්‍රතිචාරය නැවත ධාවනය කරයි (පැය 24 කවුළුවක්); එම යතුර + වෙනස් body එකක් 409 idempotency_conflict ආපසු දෙයි. යතුර එය යැවූ අක්තපත්‍රයට පරිමාණය කර ඇත. GET/HEAD/OPTIONS, /openapi.json සහ /docs, /api/auth/*, /mcp, /attachments අඩංගු ඕනෑම මාර්ගයක්, හෝ ඕනෑම multipart/* request එකක් වෙත යොදන්නේ නැත; අක්තපත්‍රයක් නොමැති request එකක් කිසිවිටෙක cache නොකෙරේ. domain පිළිතුරකට පෙර නැවතුණු ප්‍රතිචාර කිසිවිටෙක cache නොකෙරේ — 401, 403, 404, 429, සහ සෑම 5xx එකක්ම — ඒ නිසා ඒවායින් ඕනෑම එකකට පසු retry එකක් handler වෙත ළඟා වේ; 400, 409, 412, සහ 422 domain එකේ පිළිතුර වන අතර සාර්ථකත්වයක් මෙන් නැවත ධාවනය වේ.

List endpoints cursor=<opaque> සහ limit=<n> පිළිගනියි. සකසා ඇති විට, ප්‍රතිචාරය { "items": [...], "next_cursor": "<str|null>" } වේ; page කිරීමට next_cursor ආපසු ලබා දෙන්න. limit සීමාව endpoint අනුව වේ: ස්ටෝරි, comments, සහ ව්‍යාපෘති මත 200; events මත 500; audit log මත 1000. Search cursor එකක් වෙනුවට limit (≤ 1000) සහ offset සමඟ page කරන අතර { results, total, limit, offset } ආපසු දෙයි.

එහි ප්‍රතිචාරය කපා හැරීමට සිදු වූ සරල ලැයිස්තුවක් (cursor/limit නැති) එය headers වල පවසයි — X-Tracker-Pagination-Truncated, X-Tracker-Pagination-Limit, X-Tracker-Pagination-Offset, සහ X-Tracker-Pagination-Next-Offset; ඊළඟ පිටුව සඳහා අවසාන එක offset= ලෙස ආපසු ලබා දෙන්න. සම්පූර්ණ-ගණන් header එකක් නැත.

ක්ෂේත්‍ර ප්‍රක්ෂේපනය

Section titled “ක්ෂේත්‍ර ප්‍රක්ෂේපනය”

stories, comments, සහ projects ලැයිස්තු නිශ්චිත ක්ෂේත්‍ර පමණක් ආපසු දීමට fields= (කොමාවෙන් වෙන් කළ) පිළිගනියි. resource එකේ id සැමවිටම ඇතුළත් වේ (story_id, story_comment_id සහ comment_id, project_id); නොදන්නා ක්ෂේත්‍ර නමක් 400 validation_failed ආපසු දෙයි, details.fields හි වැරදිකරු නම් සමඟ.

GET /projects/123/stories?fields=story_id,name,current_state,owners

සෑම JSON දෝෂයකටම code සහ error ඇත; සමහර ඒවා details එක් කරයි:

{ "code": "invalid_transition",
"error": "Cannot move story from `unstarted` to `accepted`",
"details": { "from": "unstarted", "to": "accepted", "allowed": ["started"] } }
Statuscodeකවදාද
400invalid_parameterනරක input; පණිවිඩය error හි. ක්ෂේත්‍ර වලංගුකරණය (blank/length/null-byte/email) details.fields සහ details.constraint එක් කරයි; details නොමැත්තේ සරල bad-request දෝෂයකට පමණි
400validation_failedව්‍යුහගත input දෝෂය; details.fields යනු වැරදිකරු ක්ෂේත්‍ර නම් වල array එකකි
400domain codesතමන්ගේම code එකක් සහිත සහ details නොමැති මාර්ග-විශේෂිත ප්‍රතික්ෂේප කිරීමක් — උදා. unsupported_export_format, import_too_large, import_unknown_source
401unauthenticatedtoken නැති/අවලංගු
403unauthorized_operationසත්‍යාපිත නමුත් ප්‍රමාණවත් නොවන භූමිකාව
404unfound_resourceනොමැත — සාමාජිකයන් නොවන අයටද ආපසු දෙයි
409conflictresource ගැටුම (උදා. අනුපිටපත)
409idempotency_conflictIdempotency-Key වෙනස් body එකක් සමඟ නැවත භාවිතා කර ඇත
409stale_write · import_already_running · import_unpointed_estimatesඔබේ expected_version පසු විස්තරය වෙනස් වී ඇත (හෝ expected_updated_at තවදුරටත් නොගැළපේ) · import එකක් දැනටමත් ක්‍රියාත්මක වෙමින් පවතී · file එකේ ව්‍යාපෘතිය ලකුණු නොදෙන දෝෂ හෝ කාර්ය ඇස්තමේන්තු ඇත (details.count)
412precondition_failedIf-Match සම්පතේ වත්මන් ETag එකට නොගැළපුණි; details expected සහ current දරයි
413request_too_largebody එක route එකේ ප්‍රමාණ සීමාව ඉක්මවයි
422invalid_transitionනීති විරෝධී තත්ත්ව මාරුව; details { from, to, allowed } දරයි
429rate_limitedrate-limited route එකක මෙම IP එකෙන් ඉල්ලීම් වැඩිය; Retry-After header
500internal_errorසේවාදායක දෝෂය — සාමාන්‍ය පණිවිඩය; retry කිරීම ආරක්ෂිතය
502upstream_errorමාර්ගය රඳා පවතින සේවාවක් (උදා. GitHub) අසාර්ථක විය
503not_configuredමෙම route එකට අවශ්‍ය integration එක deployment එකේ නැත (SMS, object storage, …)

details.fields යනු ක්ෂේත්‍ර නම් වල JSON array එකකි (උදා. ["to"]), සමහර විට max වැනි අමතර යතුරු සමඟ. ක්ෂේත්‍ර→පණිවිඩ සිතියමක් නැත.

{ "code": "validation_failed", "error": "unknown field(s): foo", "details": { "fields": ["foo"] } }

සේවාදායක IP අනුව, routes අතලොස්සක් මත; වෙනත් තැන්වල සත්‍යාපිත API ගමනාගමනය rate-limited නොවේ. පෙරනිමි (සෑම යුගලයක්ම තිරසාර අනුපාතය සහ burst, ක්‍රියාකරුට සුසර කළ හැකි):

  • Auth — /api/auth/*: 0.5 req/s, burst 20.
  • OAuth provider — /oauth/*: 1 req/s, burst 60.
  • Public — /api/contact: 0.2 req/s, burst 10.
  • Feedback — /api/v1/feedback සහ /api/v1/feedback/with-screenshot: ගොඩගැසූ ස්තර තුනක් — තත්පර 15කට එක් ඉදිරිපත් කිරීමක්, පැයකට 10, දිනකට 36.
  • Avatars — සත්‍යාපනය නොකළ avatar redirect: 20 req/s, burst 200.
  • Sensitive — backup සහ restore POSTs: ~0.002 req/s, burst 5.

ඉක්මවූ සීමාවක් Retry-After header එකක් සහ සම්මත JSON දෝෂ envelope එක, code: "rate_limited" සමඟ 429 ආපසු දෙයි.