Aller au contenu principal

KytheraDB -- API Reference

Complete API endpoint documentation grouped by module. All endpoints return JSON unless otherwise noted.

Base URL: http://localhost:8000

Authentication: Endpoints marked "Auth: Yes" require an Authorization: Bearer <token> header.


Table of Contents

  1. Health
  2. Auth
  3. Projects
  4. Connections
  5. Schema
  6. Data (CRUD)
  7. Graphs
  8. SQL Console
  9. Mass Patch
  10. Bridge
  11. Anonymization
  12. Seeds
  13. QA Templates
  14. Validation
  15. Performance
  16. Preflight
  17. GDPR
  18. Export
  19. Import
  20. Jobs
  21. Configuration
  22. Profiling
  23. Activity
  24. References
  25. Annotations
  26. Plans
  27. Teams
  28. Governance

Health

MethodPathDescriptionAuthPlan
GET/healthHealth checkNo--

Auth

All auth routes are prefixed with /auth.

MethodPathDescriptionAuthPlan
POST/auth/registerRegister a new userNo--
POST/auth/loginAuthenticate and get JWT tokenNo--
GET/auth/meGet current user profileYes--
GET/auth/usersList all usersYesadmin
PATCH/auth/users/{user_id}/roleUpdate user roleYesadmin
PATCH/auth/users/{user_id}/planUpdate user planYesadmin
PATCH/auth/users/{user_id}/toggle-activeToggle user active statusYesadmin
POST/auth/users/inviteInvite a new userYesadmin
PATCH/auth/users/{user_id}Update user detailsYesadmin
DELETE/auth/users/{user_id}Delete a userYesadmin
POST/auth/users/{user_id}/reset-passwordReset user passwordYesadmin
GET/auth/users/{user_id}/activityGet user activity logYesadmin
GET/auth/activityGet platform activity log (paginated)Yesadmin

Projects

All project routes are prefixed with /projects.

MethodPathDescriptionAuthPlan
POST/projects/Create a new projectYes--
GET/projects/List user's projectsYes--
GET/projects/{project_id}Get project detailsYes--
GET/projects/{project_id}/check-accessCheck user access to projectYes--
PATCH/projects/{project_id}Update projectYes--
DELETE/projects/{project_id}Delete projectYes--

Connections

MethodPathDescriptionAuthPlan
POST/connections/testTest a connection configYes--
POST/projects/{project_id}/connectionsCreate a connectionYes--
GET/projects/{project_id}/connectionsList project connectionsYes--
GET/connections/{connection_id}Get connection detailsYes--
PATCH/connections/{connection_id}Update connectionYes--
POST/connections/{connection_id}/testTest existing connectionYes--
DELETE/connections/{connection_id}Delete connectionYes--

Schema

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/schemaIntrospect and snapshot schemaYes--
GET/projects/{project_id}/schemaGet latest schema snapshotYes--
GET/projects/{project_id}/tablesList tablesYes--
GET/projects/{project_id}/tables/{table_name}Get table detailsYes--
GET/projects/{project_id}/tables/{table_name}/columnsGet table columnsYes--
GET/projects/{project_id}/schema/snapshotsList schema snapshotsYes--
POST/projects/{project_id}/healthRun schema health auditYespro
GET/projects/{project_id}/schema/migrationGenerate migration scriptYesenterprise

Data (CRUD)

MethodPathDescriptionAuthPlan
GET/projects/{project_id}/data/{table_name}List rows (paginated)Yes--
GET/projects/{project_id}/data/{table_name}/form-schemaGet dynamic form schemaYes--
GET/projects/{project_id}/data/{table_name}/fk-options/{column_name}Get FK dropdown optionsYes--
GET/projects/{project_id}/data/{table_name}/{record_id}/360360-degree entity viewYes--
GET/projects/{project_id}/data/{table_name}/{record_id}Get single recordYes--
POST/projects/{project_id}/data/{table_name}Create recordYespro
PATCH/projects/{project_id}/data/{table_name}/{record_id}Update recordYespro
DELETE/projects/{project_id}/data/{table_name}/{record_id}Delete recordYespro

Graphs

MethodPathDescriptionAuthPlan
GET/projects/{project_id}/graphGet full relationship graphYes--
GET/projects/{project_id}/graph/focus/{table_name}Get focused graph for a tableYes--
GET/projects/{project_id}/dependenciesGet dependency orderYes--

SQL Console

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/sql/analyzeAnalyze SQL (parse, risk, guard rails)Yes--
POST/projects/{project_id}/sql/executeExecute SQL statementYes--
POST/projects/{project_id}/sql/previewPreview query results (dry-run)Yes--
POST/projects/{project_id}/sql/explainRun EXPLAIN on a queryYes--

Legacy playground endpoints:

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/playground/executeExecute SQL (legacy)Yes--
GET/projects/{project_id}/playground/autocompleteGet autocomplete suggestionsYes--

Mass Patch

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/patchesCreate a new patchYespro
GET/projects/{project_id}/patchesList patchesYespro
GET/projects/{project_id}/patches/{patch_id}Get patch detailsYespro
PUT/projects/{project_id}/patches/{patch_id}Update patchYespro
POST/projects/{project_id}/patches/{patch_id}/duplicateDuplicate a patchYespro
DELETE/projects/{project_id}/patches/{patch_id}Delete patchYespro
POST/projects/{project_id}/patches/{patch_id}/guard-railsRun guard rail validationYespro
POST/projects/{project_id}/patches/{patch_id}/dry-runExecute dry-run simulationYespro
POST/projects/{project_id}/patches/{patch_id}/approveApprove patch for executionYespro
POST/projects/{project_id}/patches/{patch_id}/executeExecute patch (creates job)Yespro
POST/projects/{project_id}/patches/{patch_id}/rollbackRollback executed patchYespro
GET/projects/{project_id}/patches/{patch_id}/diffGet before/after diffYespro
GET/projects/{project_id}/patches/{patch_id}/progressGet execution progressYespro
GET/projects/{project_id}/patches/{patch_id}/export/{fmt}Export patch (sql, liquibase)Yespro
POST/projects/{project_id}/patches/{patch_id}/test-memoryTest snapshot memory usageYespro
POST/projects/{project_id}/patches/analyze-sqlAnalyze SQL for a patchYespro
POST/projects/{project_id}/patches/generate-sqlGenerate SQL from templateYespro
GET/projects/{project_id}/guard-rail-policiesList guard rail policiesYespro
POST/projects/{project_id}/guard-rail-policiesCreate guard rail policyYespro

Bridge

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/bridge/validateValidate source/target connectionsYespro
POST/projects/{project_id}/bridge/transferExecute data transferYespro
POST/projects/{project_id}/bridge/previewPreview transfer (row count comparison)Yespro
POST/projects/{project_id}/bridge/missing-tablesDetect missing tables in targetYespro
POST/projects/{project_id}/bridge/clone-structureClone table structure to targetYespro
POST/projects/{project_id}/detect-hashDetect hashed columnsYespro
GET/projects/{project_id}/bridge/historyGet transfer historyYespro

Anonymization

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/anonymize/previewPreview anonymized dataYespro
POST/projects/{project_id}/anonymize/executeExecute in-place anonymizationYespro
POST/projects/{project_id}/anonymize/detectDetect sensitive columnsYespro
POST/projects/{project_id}/anonymize/copyAnonymize and copy to targetYesenterprise
POST/projects/{project_id}/anonymize/configSave anonymization configurationYespro
GET/projects/{project_id}/anonymize/configsList saved configurationsYespro
POST/projects/{project_id}/anonymize/config/loadLoad a saved configurationYespro
POST/projects/{project_id}/anonymize/bulkBulk anonymize multiple tablesYespro

Seeds

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/seed/generateGenerate seed data (standard)Yes--
POST/projects/{project_id}/seed/insertInsert seed dataYes--
POST/projects/{project_id}/seed/entityEntity-aware seedYespro
GET/projects/{project_id}/seed/historyGet seed historyYes--
GET/projects/{project_id}/seed/planGet seed plan (FK order)Yes--
GET/projects/{project_id}/seed/entity/configGet entity seed configurationYespro
POST/projects/{project_id}/seed/entity/previewPreview entity seedYespro
POST/projects/{project_id}/seed/entity/executeExecute entity seedYespro
POST/projects/{project_id}/seed/sqlSQL-based seedYesenterprise
POST/projects/{project_id}/seed/entity/fullFull entity seed pipelineYespro
POST/projects/{project_id}/seed/scenarioRun seed scenarioYespro
GET/projects/{project_id}/seed/scenariosList seed scenariosYespro
DELETE/projects/{project_id}/seed/scenarios/{scenario_id}Delete seed scenarioYespro
POST/projects/{project_id}/seed/scenario/duplicateDuplicate scenarioYespro

QA Templates

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/qa-templatesCreate QA templateYespro
GET/projects/{project_id}/qa-templatesList QA templatesYespro
GET/projects/{project_id}/qa-templates/{template_id}Get QA template detailsYespro
PUT/projects/{project_id}/qa-templates/{template_id}Update QA templateYespro
DELETE/projects/{project_id}/qa-templates/{template_id}Delete QA templateYespro
POST/projects/{project_id}/qa-templates/{template_id}/previewPreview template outputYespro
POST/projects/{project_id}/qa-templates/{template_id}/runExecute templateYespro
POST/projects/{project_id}/qa-templates/{template_id}/duplicateDuplicate templateYespro
GET/projects/{project_id}/qa-templates/{template_id}/runsGet template run historyYespro
POST/projects/{project_id}/qa-templates/validateValidate template definitionYespro

Validation

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/validation/rulesCreate validation ruleYespro
GET/projects/{project_id}/validation/rulesList validation rulesYespro
PUT/validation/rules/{rule_id}Update validation ruleYespro
DELETE/validation/rules/{rule_id}Delete validation ruleYespro
POST/projects/{project_id}/validation/validate-sqlValidate custom SQL ruleYespro
POST/projects/{project_id}/validation/scanRun validation scanYespro
POST/projects/{project_id}/validation/suggestAuto-suggest rules for columnsYespro
GET/validation/regex-libraryGet built-in regex patternsYespro
POST/validation/test-regexTest regex against sample dataYespro
GET/projects/{project_id}/validation/dashboardGet validation dashboard metricsYespro
GET/projects/{project_id}/validation/runs/compareCompare two scan runsYespro
GET/projects/{project_id}/validation/runs/{run_id}Get scan run detailsYespro
GET/projects/{project_id}/validation/runsList scan runsYespro

Performance

MethodPathDescriptionAuthPlan
GET/projects/{project_id}/performance/check/{connection_id}Check pg_stat_statements setupYesenterprise
GET/projects/{project_id}/performance/{connection_id}/schemasList available schemasYesenterprise
GET/projects/{project_id}/performance/{connection_id}/dashboardPerformance dashboard metricsYesenterprise
GET/projects/{project_id}/performance/{connection_id}/slow-queriesList slow queriesYesenterprise
GET/projects/{project_id}/performance/{connection_id}/table-statsTable-level statisticsYesenterprise
GET/projects/{project_id}/performance/{connection_id}/index-recommendationsIndex improvement suggestionsYesenterprise
POST/projects/{project_id}/performance/{connection_id}/explainRun EXPLAIN ANALYZE on a queryYesenterprise

Preflight

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/preflight/analyzeAnalyze single SQL statementYesenterprise
POST/projects/{project_id}/preflight/analyze-batchAnalyze multiple SQL statementsYesenterprise
GET/projects/{project_id}/preflight/environment/{connection_id}Get environment contextYesenterprise
GET/projects/{project_id}/preflight/historyGet analysis historyYesenterprise
GET/projects/{project_id}/preflight/statsGet analysis statisticsYesenterprise

GDPR

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/gdpr/scanRun compliance scanYespro
GET/gdpr/regulationsList available regulationsYes--

Export

MethodPathDescriptionAuthPlan
GET/projects/{project_id}/export/csv/{table_name}Export table as CSVYes--
GET/projects/{project_id}/export/csv/{table_name}/anonymizedExport table as anonymized CSVYesenterprise
GET/projects/{project_id}/export/full/sqlExport full database as SQLYespro
GET/projects/{project_id}/export/full/csvExport full database as CSV zipYes--
GET/projects/{project_id}/export/full/sql/anonymizedExport full DB as anonymized SQLYesenterprise
GET/projects/{project_id}/export/schema/sqlExport schema DDLYespro
GET/projects/{project_id}/export/doc/markdownExport schema as MarkdownYespro
GET/projects/{project_id}/export/doc/htmlExport schema as HTMLYesenterprise

Import

MethodPathDescriptionAuthPlan
POST/projects/{project_id}/import/validate/{table_name}Validate CSV file for importYespro
POST/projects/{project_id}/import/execute/{table_name}Execute CSV importYespro
POST/projects/{project_id}/import/sql/validateValidate SQL file for importYesenterprise
POST/projects/{project_id}/import/sql/executeExecute SQL importYesenterprise
POST/projects/{project_id}/import/bulk/validateValidate bulk CSV importYesenterprise
POST/projects/{project_id}/import/bulk/executeExecute bulk CSV importYesenterprise

Jobs

MethodPathDescriptionAuthPlan
GET/projects/{project_id}/jobsList jobs for projectYes--
GET/projects/{project_id}/jobs/{job_id}Get job detailsYes--
GET/projects/{project_id}/jobs/{job_id}/streamSSE stream for job progressYes--
POST/projects/{project_id}/jobs/{job_id}/cancelCancel a running jobYes--

Configuration

MethodPathDescriptionAuthPlan
GET/projects/{project_id}/configGet project configurationYes--
POST/projects/{project_id}/configUpdate project configurationYes--
GET/projects/{project_id}/config/guard-railsGet guard rail settingsYes--
POST/projects/{project_id}/config/guard-railsUpdate guard rail settingsYes--
GET/projects/{project_id}/config/environmentsGet environment definitionsYes--
POST/projects/{project_id}/config/environmentsUpdate environment definitionsYes--
GET/projects/{project_id}/config/securityGet security settingsYes--
POST/projects/{project_id}/config/securityUpdate security settingsYes--

Profiling

MethodPathDescriptionAuthPlan
GET/projects/{project_id}/profiling/{table_name}Profile all columns in a tableYespro
GET/projects/{project_id}/profiling/{table_name}/{column_name}Profile a specific columnYespro

Activity

MethodPathDescriptionAuthPlan
GET/projects/{project_id}/activityGet project activity logYes--
GET/projects/{project_id}/activity/statsGet activity statisticsYes--

References

MethodPathDescriptionAuthPlan
GET/projects/{project_id}/referencesList reference definitionsYespro
POST/projects/{project_id}/referencesCreate reference definitionYespro
PATCH/projects/{project_id}/references/{reference_id}Update reference definitionYespro
DELETE/projects/{project_id}/references/{reference_id}Delete reference definitionYespro
GET/projects/{project_id}/references/values/{table_name}/{column_name}Get reference values for a columnYespro
POST/projects/{project_id}/detectAuto-detect reference columnsYespro

Annotations

MethodPathDescriptionAuthPlan
GET/projects/{project_id}/annotationsList project annotationsYespro
POST/projects/{project_id}/annotationsCreate annotationYespro
PATCH/annotations/{annotation_id}Update annotationYespro
DELETE/annotations/{annotation_id}Delete annotationYespro

Plans

All plan routes are prefixed with /plans.

MethodPathDescriptionAuthPlan
GET/plansList all available plansYes--
GET/plans/meGet current user's planYes--
PATCH/plans/meUpdate current user's planYes--
GET/plans/me/limitsGet current plan limitsYes--

Teams

All team routes are prefixed with /teams.

MethodPathDescriptionAuthPlan
POST/teams/Create a teamYesadmin
GET/teams/List teamsYesadmin
GET/teams/{team_id}Get team details with membersYesadmin
PATCH/teams/{team_id}Update teamYesadmin
DELETE/teams/{team_id}Delete teamYesadmin
POST/teams/{team_id}/membersAdd member to teamYesadmin
DELETE/teams/{team_id}/members/{user_id}Remove member from teamYesadmin
PATCH/teams/{team_id}/members/{user_id}Update member role in teamYesadmin
GET/teams/{team_id}/projectsList team's projectsYesadmin
POST/teams/{team_id}/projectsCreate project under teamYesadmin

Governance

All governance routes are prefixed with /governance. Requires super_admin role.

MethodPathDescriptionAuthRole
GET/governance/dashboardDSI dashboard with aggregate metricsYessuper_admin
GET/governance/usersList all users with detailsYessuper_admin
POST/governance/users/{user_id}/blockBlock a userYessuper_admin
POST/governance/users/{user_id}/unblockUnblock a userYessuper_admin
POST/governance/users/{user_id}/force-logoutForce logout a userYessuper_admin
GET/governance/teamsList all teamsYessuper_admin
POST/governance/teamsCreate a teamYessuper_admin
GET/governance/teams/{team_id}Get team detailsYessuper_admin
DELETE/governance/teams/{team_id}Delete a teamYessuper_admin
GET/governance/projectsList all projectsYessuper_admin
GET/governance/projects/{project_id}/detailGet project audit detailYessuper_admin
GET/governance/auditSearch audit trail (paginated)Yessuper_admin
GET/governance/audit/exportExport audit trail as CSVYessuper_admin
GET/governance/alertsGet governance alertsYessuper_admin
GET/governance/sessionsList active sessionsYessuper_admin
POST/governance/sessions/{user_id}/revokeRevoke user sessionYessuper_admin
GET/governance/deleted-projectsList deleted projectsYessuper_admin
POST/governance/projects/{project_id}/permissionsGrant project permission to userYessuper_admin
GET/governance/projects/{project_id}/permissionsList project permissionsYessuper_admin
DELETE/governance/projects/{project_id}/permissions/{user_id}Revoke project permissionYessuper_admin