databay-cli 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. databay/__init__.py +5 -0
  2. databay/__main__.py +7 -0
  3. databay/agent_skill.py +184 -0
  4. databay/api.py +626 -0
  5. databay/cli/__init__.py +0 -0
  6. databay/cli/auth.py +377 -0
  7. databay/cli/build.py +89 -0
  8. databay/cli/commands/__init__.py +0 -0
  9. databay/cli/commands/alerting_webhook.py +19 -0
  10. databay/cli/commands/alerting_webhook_tag.py +14 -0
  11. databay/cli/commands/alerting_webhook_type.py +14 -0
  12. databay/cli/commands/alerting_webhook_undelivered.py +15 -0
  13. databay/cli/commands/announcement.py +17 -0
  14. databay/cli/commands/api_key.py +18 -0
  15. databay/cli/commands/api_key_project.py +16 -0
  16. databay/cli/commands/backfill_reason_code.py +14 -0
  17. databay/cli/commands/backfill_run.py +17 -0
  18. databay/cli/commands/canvas.py +16 -0
  19. databay/cli/commands/canvas_graph.py +15 -0
  20. databay/cli/commands/canvas_table_check.py +15 -0
  21. databay/cli/commands/dashboards.py +21 -0
  22. databay/cli/commands/dashboards_card.py +20 -0
  23. databay/cli/commands/dashboards_dataset.py +14 -0
  24. databay/cli/commands/dashboards_folder.py +16 -0
  25. databay/cli/commands/dashboards_home.py +17 -0
  26. databay/cli/commands/dashboards_placement.py +16 -0
  27. databay/cli/commands/db.py +19 -0
  28. databay/cli/commands/db_column.py +14 -0
  29. databay/cli/commands/docs_article.py +16 -0
  30. databay/cli/commands/dq_result.py +14 -0
  31. databay/cli/commands/dq_rule.py +16 -0
  32. databay/cli/commands/feature.py +14 -0
  33. databay/cli/commands/google_ads_source.py +14 -0
  34. databay/cli/commands/google_analytics_source.py +14 -0
  35. databay/cli/commands/instagram_account.py +14 -0
  36. databay/cli/commands/instagram_source.py +14 -0
  37. databay/cli/commands/linkedin_account.py +14 -0
  38. databay/cli/commands/linkedin_source.py +14 -0
  39. databay/cli/commands/me.py +14 -0
  40. databay/cli/commands/meta_ads_source.py +14 -0
  41. databay/cli/commands/metric_models.py +26 -0
  42. databay/cli/commands/metrics.py +14 -0
  43. databay/cli/commands/models.py +16 -0
  44. databay/cli/commands/nlq.py +15 -0
  45. databay/cli/commands/notebook_credential.py +16 -0
  46. databay/cli/commands/org.py +14 -0
  47. databay/cli/commands/org_member.py +17 -0
  48. databay/cli/commands/org_offboarding.py +14 -0
  49. databay/cli/commands/pipe.py +26 -0
  50. databay/cli/commands/pipe_backfill_run.py +14 -0
  51. databay/cli/commands/pipe_config_option.py +14 -0
  52. databay/cli/commands/pipe_destination.py +16 -0
  53. databay/cli/commands/pipe_leftover.py +16 -0
  54. databay/cli/commands/pipe_sink_type.py +14 -0
  55. databay/cli/commands/pipe_source_type.py +14 -0
  56. databay/cli/commands/pipe_status_bucket.py +14 -0
  57. databay/cli/commands/pipe_stuck_delete.py +14 -0
  58. databay/cli/commands/plan.py +14 -0
  59. databay/cli/commands/project.py +21 -0
  60. databay/cli/commands/project_budget.py +15 -0
  61. databay/cli/commands/project_member.py +18 -0
  62. databay/cli/commands/project_privilege.py +16 -0
  63. databay/cli/commands/project_share.py +16 -0
  64. databay/cli/commands/provision.py +14 -0
  65. databay/cli/commands/provisioning.py +14 -0
  66. databay/cli/commands/registry.py +14 -0
  67. databay/cli/commands/resource_home.py +14 -0
  68. databay/cli/commands/schema_change.py +18 -0
  69. databay/cli/commands/schema_history.py +17 -0
  70. databay/cli/commands/schema_version.py +16 -0
  71. databay/cli/commands/shopify_store.py +14 -0
  72. databay/cli/commands/sink_data_type.py +14 -0
  73. databay/cli/commands/source.py +24 -0
  74. databay/cli/commands/source_catalog.py +15 -0
  75. databay/cli/commands/source_check_run.py +17 -0
  76. databay/cli/commands/source_hidden_type.py +14 -0
  77. databay/cli/commands/source_name.py +14 -0
  78. databay/cli/commands/source_pipe.py +14 -0
  79. databay/cli/commands/source_publication.py +16 -0
  80. databay/cli/commands/source_readiness_override.py +15 -0
  81. databay/cli/commands/source_setup_choice.py +16 -0
  82. databay/cli/commands/source_stream.py +15 -0
  83. databay/cli/commands/source_table.py +14 -0
  84. databay/cli/commands/ssbi_job.py +18 -0
  85. databay/cli/commands/transform_type.py +14 -0
  86. databay/cli/commands/usage.py +14 -0
  87. databay/cli/commands/warehouse.py +21 -0
  88. databay/cli/commands/warehouse_access_assignment.py +16 -0
  89. databay/cli/commands/warehouse_access_role.py +22 -0
  90. databay/cli/commands/warehouse_access_settings.py +17 -0
  91. databay/cli/commands/warehouse_login.py +20 -0
  92. databay/cli/commands/warehouse_principal.py +17 -0
  93. databay/cli/commands/warehouse_service_account.py +17 -0
  94. databay/cli/commands/warehouse_service_account_credential.py +18 -0
  95. databay/cli/common.py +93 -0
  96. databay/cli/console.py +121 -0
  97. databay/cli/flags.py +183 -0
  98. databay/cli/handwritten.py +22 -0
  99. databay/cli/main.py +198 -0
  100. databay/cli/metrics.py +171 -0
  101. databay/cli/org.py +193 -0
  102. databay/cli/output.py +134 -0
  103. databay/cli/pipe_wait.py +357 -0
  104. databay/cli/profile.py +230 -0
  105. databay/cli/runner.py +432 -0
  106. databay/cli/skill.py +64 -0
  107. databay/cli/sql.py +84 -0
  108. databay/compat.py +161 -0
  109. databay/credentials.py +217 -0
  110. databay/error_catalog.py +226 -0
  111. databay/error_codes.py +3265 -0
  112. databay/errors.py +222 -0
  113. databay/feature_header.py +40 -0
  114. databay/invoke.py +225 -0
  115. databay/locks.py +41 -0
  116. databay/login_flow.py +245 -0
  117. databay/model_base.py +40 -0
  118. databay/models/__init__.py +0 -0
  119. databay/models/alerting_webhook.py +46 -0
  120. databay/models/alerting_webhook_tag.py +11 -0
  121. databay/models/alerting_webhook_type.py +11 -0
  122. databay/models/alerting_webhook_undelivered.py +23 -0
  123. databay/models/announcement.py +37 -0
  124. databay/models/api_key.py +81 -0
  125. databay/models/api_key_project.py +29 -0
  126. databay/models/backfill_reason_code.py +11 -0
  127. databay/models/backfill_run.py +41 -0
  128. databay/models/canvas.py +68 -0
  129. databay/models/canvas_graph.py +86 -0
  130. databay/models/canvas_table_check.py +181 -0
  131. databay/models/dashboards.py +79 -0
  132. databay/models/dashboards_card.py +37 -0
  133. databay/models/dashboards_dataset.py +27 -0
  134. databay/models/dashboards_folder.py +18 -0
  135. databay/models/dashboards_home.py +28 -0
  136. databay/models/db.py +34 -0
  137. databay/models/db_column.py +11 -0
  138. databay/models/docs_article.py +59 -0
  139. databay/models/dq_result.py +27 -0
  140. databay/models/dq_rule.py +43 -0
  141. databay/models/feature.py +15 -0
  142. databay/models/google_ads_source.py +11 -0
  143. databay/models/google_analytics_source.py +11 -0
  144. databay/models/instagram_source.py +11 -0
  145. databay/models/linkedin_source.py +11 -0
  146. databay/models/me.py +71 -0
  147. databay/models/meta_ads_source.py +11 -0
  148. databay/models/metric_models.py +274 -0
  149. databay/models/metrics.py +158 -0
  150. databay/models/models.py +73 -0
  151. databay/models/nlq.py +92 -0
  152. databay/models/notebook_credential.py +51 -0
  153. databay/models/org.py +44 -0
  154. databay/models/org_member.py +123 -0
  155. databay/models/org_offboarding.py +36 -0
  156. databay/models/pipe.py +340 -0
  157. databay/models/pipe_config_option.py +25 -0
  158. databay/models/pipe_destination.py +128 -0
  159. databay/models/pipe_leftover.py +51 -0
  160. databay/models/pipe_sink_type.py +11 -0
  161. databay/models/pipe_source_type.py +11 -0
  162. databay/models/pipe_status_bucket.py +13 -0
  163. databay/models/pipe_stuck_delete.py +25 -0
  164. databay/models/plan.py +37 -0
  165. databay/models/project.py +154 -0
  166. databay/models/project_budget.py +22 -0
  167. databay/models/project_member.py +67 -0
  168. databay/models/project_privilege.py +21 -0
  169. databay/models/project_share.py +76 -0
  170. databay/models/provision.py +12 -0
  171. databay/models/provisioning.py +20 -0
  172. databay/models/registry.py +18 -0
  173. databay/models/resource_home.py +35 -0
  174. databay/models/schema_change.py +96 -0
  175. databay/models/schema_history.py +32 -0
  176. databay/models/schema_version.py +23 -0
  177. databay/models/shared.py +875 -0
  178. databay/models/shopify_store.py +19 -0
  179. databay/models/sink_data_type.py +11 -0
  180. databay/models/source.py +263 -0
  181. databay/models/source_catalog.py +82 -0
  182. databay/models/source_check_run.py +63 -0
  183. databay/models/source_hidden_type.py +13 -0
  184. databay/models/source_name.py +18 -0
  185. databay/models/source_pipe.py +16 -0
  186. databay/models/source_publication.py +30 -0
  187. databay/models/source_readiness_override.py +13 -0
  188. databay/models/source_setup_choice.py +33 -0
  189. databay/models/source_stream.py +65 -0
  190. databay/models/source_table.py +27 -0
  191. databay/models/sql.py +31 -0
  192. databay/models/ssbi_job.py +97 -0
  193. databay/models/transform_type.py +40 -0
  194. databay/models/usage.py +112 -0
  195. databay/models/warehouse.py +38 -0
  196. databay/models/warehouse_access_assignment.py +70 -0
  197. databay/models/warehouse_access_role.py +148 -0
  198. databay/models/warehouse_access_settings.py +35 -0
  199. databay/models/warehouse_login.py +20 -0
  200. databay/models/warehouse_principal.py +49 -0
  201. databay/models/warehouse_service_account.py +35 -0
  202. databay/models/warehouse_service_account_credential.py +11 -0
  203. databay/oidc.py +205 -0
  204. databay/operation.py +191 -0
  205. databay/operations/__init__.py +0 -0
  206. databay/operations/alerting_webhook.py +317 -0
  207. databay/operations/alerting_webhook_tag.py +35 -0
  208. databay/operations/alerting_webhook_type.py +35 -0
  209. databay/operations/alerting_webhook_undelivered.py +74 -0
  210. databay/operations/announcement.py +135 -0
  211. databay/operations/api_key.py +198 -0
  212. databay/operations/api_key_project.py +130 -0
  213. databay/operations/backfill_reason_code.py +35 -0
  214. databay/operations/backfill_run.py +245 -0
  215. databay/operations/canvas.py +136 -0
  216. databay/operations/canvas_graph.py +102 -0
  217. databay/operations/canvas_table_check.py +101 -0
  218. databay/operations/dashboards.py +441 -0
  219. databay/operations/dashboards_card.py +406 -0
  220. databay/operations/dashboards_dataset.py +50 -0
  221. databay/operations/dashboards_folder.py +146 -0
  222. databay/operations/dashboards_home.py +176 -0
  223. databay/operations/dashboards_placement.py +152 -0
  224. databay/operations/db.py +337 -0
  225. databay/operations/db_column.py +57 -0
  226. databay/operations/docs_article.py +101 -0
  227. databay/operations/dq_result.py +43 -0
  228. databay/operations/dq_rule.py +155 -0
  229. databay/operations/feature.py +35 -0
  230. databay/operations/google_ads_source.py +40 -0
  231. databay/operations/google_analytics_source.py +40 -0
  232. databay/operations/instagram_account.py +47 -0
  233. databay/operations/instagram_source.py +40 -0
  234. databay/operations/linkedin_account.py +47 -0
  235. databay/operations/linkedin_source.py +40 -0
  236. databay/operations/me.py +57 -0
  237. databay/operations/meta_ads_source.py +40 -0
  238. databay/operations/metric_models.py +612 -0
  239. databay/operations/metrics.py +218 -0
  240. databay/operations/models.py +123 -0
  241. databay/operations/nlq.py +100 -0
  242. databay/operations/notebook_credential.py +95 -0
  243. databay/operations/org.py +79 -0
  244. databay/operations/org_member.py +192 -0
  245. databay/operations/org_offboarding.py +43 -0
  246. databay/operations/pipe.py +882 -0
  247. databay/operations/pipe_backfill_run.py +72 -0
  248. databay/operations/pipe_config_option.py +50 -0
  249. databay/operations/pipe_destination.py +178 -0
  250. databay/operations/pipe_leftover.py +110 -0
  251. databay/operations/pipe_sink_type.py +35 -0
  252. databay/operations/pipe_source_type.py +35 -0
  253. databay/operations/pipe_status_bucket.py +35 -0
  254. databay/operations/pipe_stuck_delete.py +52 -0
  255. databay/operations/plan.py +35 -0
  256. databay/operations/project.py +346 -0
  257. databay/operations/project_budget.py +135 -0
  258. databay/operations/project_member.py +226 -0
  259. databay/operations/project_privilege.py +143 -0
  260. databay/operations/project_share.py +160 -0
  261. databay/operations/provision.py +35 -0
  262. databay/operations/provisioning.py +35 -0
  263. databay/operations/registry.py +35 -0
  264. databay/operations/resource_home.py +80 -0
  265. databay/operations/schema_change.py +222 -0
  266. databay/operations/schema_history.py +136 -0
  267. databay/operations/schema_version.py +115 -0
  268. databay/operations/shopify_store.py +40 -0
  269. databay/operations/sink_data_type.py +43 -0
  270. databay/operations/source.py +1207 -0
  271. databay/operations/source_catalog.py +135 -0
  272. databay/operations/source_check_run.py +242 -0
  273. databay/operations/source_hidden_type.py +59 -0
  274. databay/operations/source_name.py +69 -0
  275. databay/operations/source_pipe.py +57 -0
  276. databay/operations/source_publication.py +139 -0
  277. databay/operations/source_readiness_override.py +96 -0
  278. databay/operations/source_setup_choice.py +161 -0
  279. databay/operations/source_stream.py +99 -0
  280. databay/operations/source_table.py +59 -0
  281. databay/operations/sql.py +54 -0
  282. databay/operations/ssbi_job.py +242 -0
  283. databay/operations/transform_type.py +35 -0
  284. databay/operations/usage.py +35 -0
  285. databay/operations/warehouse.py +343 -0
  286. databay/operations/warehouse_access_assignment.py +179 -0
  287. databay/operations/warehouse_access_role.py +473 -0
  288. databay/operations/warehouse_access_settings.py +172 -0
  289. databay/operations/warehouse_login.py +308 -0
  290. databay/operations/warehouse_principal.py +174 -0
  291. databay/operations/warehouse_service_account.py +206 -0
  292. databay/operations/warehouse_service_account_credential.py +285 -0
  293. databay/paths.py +32 -0
  294. databay/platform_check.py +20 -0
  295. databay/profiles.py +181 -0
  296. databay/redact.py +22 -0
  297. databay/reference.py +218 -0
  298. databay/resource.py +167 -0
  299. databay/resources/__init__.py +0 -0
  300. databay/resources/alerting_webhook.py +84 -0
  301. databay/resources/alerting_webhook_tag.py +21 -0
  302. databay/resources/alerting_webhook_type.py +21 -0
  303. databay/resources/alerting_webhook_undelivered.py +35 -0
  304. databay/resources/announcement.py +45 -0
  305. databay/resources/api_key.py +56 -0
  306. databay/resources/api_key_project.py +47 -0
  307. databay/resources/backfill_reason_code.py +21 -0
  308. databay/resources/backfill_run.py +78 -0
  309. databay/resources/canvas.py +43 -0
  310. databay/resources/canvas_graph.py +38 -0
  311. databay/resources/canvas_table_check.py +38 -0
  312. databay/resources/dashboards.py +105 -0
  313. databay/resources/dashboards_card.py +97 -0
  314. databay/resources/dashboards_dataset.py +27 -0
  315. databay/resources/dashboards_folder.py +47 -0
  316. databay/resources/dashboards_home.py +59 -0
  317. databay/resources/dashboards_placement.py +47 -0
  318. databay/resources/db.py +87 -0
  319. databay/resources/db_column.py +28 -0
  320. databay/resources/docs_article.py +37 -0
  321. databay/resources/dq_result.py +25 -0
  322. databay/resources/dq_rule.py +48 -0
  323. databay/resources/feature.py +21 -0
  324. databay/resources/google_ads_source.py +25 -0
  325. databay/resources/google_analytics_source.py +25 -0
  326. databay/resources/instagram_account.py +27 -0
  327. databay/resources/instagram_source.py +25 -0
  328. databay/resources/linkedin_account.py +27 -0
  329. databay/resources/linkedin_source.py +25 -0
  330. databay/resources/me.py +27 -0
  331. databay/resources/meta_ads_source.py +25 -0
  332. databay/resources/metric_models.py +154 -0
  333. databay/resources/metrics.py +57 -0
  334. databay/resources/models.py +42 -0
  335. databay/resources/nlq.py +34 -0
  336. databay/resources/notebook_credential.py +41 -0
  337. databay/resources/org.py +29 -0
  338. databay/resources/org_member.py +53 -0
  339. databay/resources/org_offboarding.py +25 -0
  340. databay/resources/pipe.py +208 -0
  341. databay/resources/pipe_backfill_run.py +28 -0
  342. databay/resources/pipe_config_option.py +26 -0
  343. databay/resources/pipe_destination.py +49 -0
  344. databay/resources/pipe_leftover.py +42 -0
  345. databay/resources/pipe_sink_type.py +21 -0
  346. databay/resources/pipe_source_type.py +21 -0
  347. databay/resources/pipe_status_bucket.py +21 -0
  348. databay/resources/pipe_stuck_delete.py +27 -0
  349. databay/resources/plan.py +21 -0
  350. databay/resources/project.py +92 -0
  351. databay/resources/project_budget.py +38 -0
  352. databay/resources/project_member.py +68 -0
  353. databay/resources/project_privilege.py +48 -0
  354. databay/resources/project_share.py +47 -0
  355. databay/resources/provision.py +21 -0
  356. databay/resources/provisioning.py +21 -0
  357. databay/resources/registry.py +21 -0
  358. databay/resources/resource_home.py +29 -0
  359. databay/resources/schema_change.py +62 -0
  360. databay/resources/schema_history.py +52 -0
  361. databay/resources/schema_version.py +43 -0
  362. databay/resources/shopify_store.py +25 -0
  363. databay/resources/sink_data_type.py +25 -0
  364. databay/resources/source.py +132 -0
  365. databay/resources/source_catalog.py +34 -0
  366. databay/resources/source_check_run.py +67 -0
  367. databay/resources/source_hidden_type.py +25 -0
  368. databay/resources/source_name.py +27 -0
  369. databay/resources/source_pipe.py +28 -0
  370. databay/resources/source_publication.py +47 -0
  371. databay/resources/source_readiness_override.py +37 -0
  372. databay/resources/source_setup_choice.py +50 -0
  373. databay/resources/source_stream.py +38 -0
  374. databay/resources/source_table.py +27 -0
  375. databay/resources/sql.py +27 -0
  376. databay/resources/ssbi_job.py +69 -0
  377. databay/resources/transform_type.py +21 -0
  378. databay/resources/usage.py +21 -0
  379. databay/resources/warehouse.py +136 -0
  380. databay/resources/warehouse_access_assignment.py +51 -0
  381. databay/resources/warehouse_access_role.py +118 -0
  382. databay/resources/warehouse_access_settings.py +56 -0
  383. databay/resources/warehouse_login.py +81 -0
  384. databay/resources/warehouse_principal.py +51 -0
  385. databay/resources/warehouse_service_account.py +61 -0
  386. databay/resources/warehouse_service_account_credential.py +78 -0
  387. databay/sdk.py +77 -0
  388. databay/settings.py +90 -0
  389. databay/skill/SKILL.md +357 -0
  390. databay/skill/references/commands.md +7025 -0
  391. databay/skill/references/errors.md +727 -0
  392. databay/spec.py +362 -0
  393. databay/stored_token.py +134 -0
  394. databay/tokens.py +108 -0
  395. databay/transport.py +357 -0
  396. databay/update_check.py +151 -0
  397. databay/version.py +6 -0
  398. databay/waits.py +330 -0
  399. databay_cli-0.1.0.dist-info/METADATA +42 -0
  400. databay_cli-0.1.0.dist-info/RECORD +403 -0
  401. databay_cli-0.1.0.dist-info/WHEEL +4 -0
  402. databay_cli-0.1.0.dist-info/entry_points.txt +2 -0
  403. databay_cli-0.1.0.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,727 @@
1
+ # databay errors
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+
5
+ When output is captured, a failed command prints one JSON object on stderr:
6
+ `{"error": {"code", "message", "hint", "next", "recovery", "context", ...}}`.
7
+ Read `recovery.action` first; the exit code is the coarse class.
8
+
9
+ ## Exit codes
10
+
11
+ | Exit | Meaning |
12
+ |---|---|
13
+ | 0 | ok |
14
+ | 1 | the server refused; fix the input or ask a human |
15
+ | 2 | usage: the command line is incomplete or inconsistent |
16
+ | 3 | a profile or a token is needed |
17
+ | 4 | still pending: run `next`, the same wait |
18
+ | 5 | the wait ended in failure |
19
+ | 6 | transient: retry later |
20
+ | 7 | version mismatch: upgrade the side the message names |
21
+ | 8 | the client is outdated or hit a bug: upgrade it or report it |
22
+ | 9 | not ready: fix what the answer names, then check again |
23
+
24
+ ## Client codes
25
+
26
+ | Code | Exit | Action | Side effects | Hint |
27
+ |---|---|---|---|---|
28
+ | `access_denied` | 3 | ask_human | none | The sign-in was refused in the browser. Run databay login again to retry. |
29
+ | `cancelled` | 1 | ask_human | none | Nothing was changed. Run the command again and answer y. |
30
+ | `confirmation_required` | 2 | ask_human | none | This command removes or overwrites state. Pass --yes once a human has agreed. |
31
+ | `credential_missing` | 3 | do_first | none | The profile has no stored sign-in. Run the command `next` names. |
32
+ | `expired_token` | 3 | retry | none | The sign-in code expired before it was approved. Run databay login again. |
33
+ | `feature_disabled` | 1 | ask_human | none | This feature is off for you or on this server; `details` names it and why. Ask whoever runs the server. |
34
+ | `internal_error` | 8 | ask_human | unknown | The CLI failed unexpectedly. Report it with the crash log it names. |
35
+ | `interrupted` | 1 | ask_human | unknown | Stopped after the request was sent: check its result before running it again. A create is safe to repeat only with the --idempotency-key it printed. |
36
+ | `keyring_unavailable` | 3 | fix_and_retry | none | No usable OS keyring. Pass --token-store file to keep tokens in a 0600 file under the config dir. |
37
+ | `login_failed` | 3 | ask_human | none | Keycloak refused the sign-in; the message names its OAuth error. |
38
+ | `login_required` | 3 | do_first | none | Sign in again with the command `next` names, then run this command again. |
39
+ | `login_timeout` | 3 | retry | none | The browser did not come back in time. Run databay login again, or pass --device. |
40
+ | `network_error` | 6 | retry | unknown | Check the server URL and the network, then run it again. |
41
+ | `no_active_project` | 2 | fix_and_retry | none | Pass --project <project_id>, or set active_project in the profile. |
42
+ | `no_profile` | 3 | do_first | none | Sign in with databay login --server URL, or pass --profile NAME. |
43
+ | `non_databay_answer` | 1 | fix_and_retry | none | Something other than Databay answered (a proxy, a gateway or a wrong server URL): check the profile's server. |
44
+ | `not_ready` | 9 | fix_and_retry | none | Fix what the answer names, then run the check again. |
45
+ | `offline_access_not_granted` | 3 | ask_human | none | Keycloak did not grant offline_access: ask whoever runs the server to give your user that role (docs/cli.md, Sign in). |
46
+ | `org_choice_required` | 2 | fix_and_retry | partial | You are signed in, but you belong to several organizations and none is active. Run databay org switch <organization>, or sign in again with --org. |
47
+ | `org_not_in_token` | 1 | ask_human | complete | The server stored the organization, but the new token names another one. Run databay status; if it persists, ask whoever runs the server. |
48
+ | `profile_invalid` | 3 | fix_and_retry | none | Fix config.toml as the message says. |
49
+ | `project_conflict` | 2 | fix_and_retry | none | Send one project: X-Databay-Project-ID must match the route and the body. |
50
+ | `response_invalid` | 8 | ask_human | unknown | The answer does not match this CLI's models. Upgrade the CLI or report it. |
51
+ | `revoke_failed` | 1 | ask_human | partial | The local credential is deleted, but Keycloak may still hold the session: ask whoever runs the server to revoke it (docs/cli.md, Sign out). |
52
+ | `secret_required` | 2 | fix_and_retry | none | Pass the secret with --<field>-env NAME or --<field>-stdin; it is never a flag. |
53
+ | `server_too_old` | 7 | ask_human | none | This command needs a newer server. Upgrade the server or use an older CLI. |
54
+ | `server_unavailable` | 6 | retry | unknown | The server answered without a Databay error body. Try again later. |
55
+ | `server_version_mismatch` | 7 | ask_human | none | The CLI and the server speak different API majors. Upgrade the older side. |
56
+ | `skill_exists` | 2 | ask_human | none | A skill from another CLI version is installed there. Pass --force to replace it with this version's. |
57
+ | `skill_write_failed` | 2 | ask_human | none | Nothing changed. Make the folder the message names writable, or install with the other --scope. |
58
+ | `stopped` | 1 | retry | none | Stopped while only reading; nothing changed. Run it again, or run `next` to resume a wait. |
59
+ | `token_file_insecure` | 3 | fix_and_retry | none | Run chmod 600 on the file the message names; it holds tokens. |
60
+ | `token_missing` | 3 | do_first | none | Set DATABAY_TOKEN to an access token; the profile reads it from there. |
61
+ | `token_source_conflict` | 2 | fix_and_retry | none | Unset DATABAY_TOKEN, or pass --profile with a profile whose auth is env; the CLI never picks one for you. |
62
+ | `uncoded_error` | 8 | ask_human | unknown | The server answered an error without a code. Report it with the request id. |
63
+ | `unexpected_wait_state` | 5 | ask_human | complete | The server reported a state this CLI does not know. Upgrade the CLI. |
64
+ | `unknown_error_code` | 8 | ask_human | unknown | The server answered a code this CLI does not know. Upgrade the CLI. |
65
+ | `unsupported_platform` | 2 | ask_human | none | Run databay on Linux or macOS; on Windows, use WSL. |
66
+ | `unsupported_product` | 7 | ask_human | none | This server runs Databay for Shopify, which the CLI does not support. |
67
+ | `unsupported_target` | 2 | fix_and_retry | none | Pass --target claude or --target codex; no other agent has a verified skill format. |
68
+ | `usage_invalid` | 2 | fix_and_retry | none | Read the command's --help and pass the flags it names. |
69
+ | `wait_failed` | 5 | ask_human | complete | The operation ran and ended in a failure state; read the error it reports. |
70
+ | `wait_feature_disabled` | 5 | ask_human | unknown | What the wait polled is behind a feature that is off, so it cannot tell how the operation ended. Ask whoever runs the server, then check the result before running a write again. |
71
+ | `wait_pending` | 4 | retry | complete | Run `next`: it resumes the same wait and starts nothing again. |
72
+ | `wait_target_gone` | 5 | ask_human | unknown | What the wait polled no longer exists; it was deleted while waiting. |
73
+
74
+ ## Server codes
75
+
76
+ | Code | Exit | Action | Side effects | Max retries | Hint |
77
+ |---|---|---|---|---|---|
78
+ | `access_capability_unsupported` | 1 | fix_and_retry | none | | Remove the columns or row filter, or pick a warehouse that supports them. |
79
+ | `access_check_unavailable` | 6 | retry | none | 3 | Access could not be checked; retry in a moment. |
80
+ | `access_management_unsupported` | 1 | fix_and_retry | none | | Pick a warehouse whose type supports access roles and logins. |
81
+ | `access_pending` | 6 | retry | none | 5 | Try again in a moment; your warehouse access is still being set up. |
82
+ | `access_role_name_taken` | 1 | fix_and_retry | none | | Pick another name for the access role. |
83
+ | `access_role_revision_conflict` | 1 | fix_and_retry | none | | Reload the access settings, then make the change again. |
84
+ | `account_already_a_source` | 1 | fix_and_retry | none | | Use the source that already reads this account, or choose another account. |
85
+ | `account_choice_required` | 1 | fix_and_retry | none | | Name one of the accounts detail lists. |
86
+ | `account_lookup_failed` | 1 | fix_and_retry | none | | Check the credentials, then try again. |
87
+ | `account_not_in_grant` | 1 | fix_and_retry | none | | Pick an account the credentials reach. |
88
+ | `activation_unavailable` | 6 | retry | unknown | 3 | Retry the activation; contact support if it keeps failing. |
89
+ | `active_org_not_stored` | 1 | ask_human | none | | Contact support; your organization choice could not be saved. |
90
+ | `actor_required` | 1 | fix_and_retry | none | | Name an acting user who belongs to an organization. |
91
+ | `ai_busy_today` | 1 | do_first | none | | Try again after resets_at, or write the query in the SQL editor. |
92
+ | `ai_daily_limit` | 1 | do_first | none | | Wait until resets_at, or contact us for more questions. |
93
+ | `ai_plan_unknown` | 1 | ask_human | none | | Contact support; the AI assistant cannot read your plan. |
94
+ | `ai_quota_unavailable` | 6 | retry | none | 3 | Try again shortly. |
95
+ | `alert_instance_not_found` | 1 | fix_and_retry | none | | List the alerts and pick one you can see. |
96
+ | `allowed_hosts_invalid` | 1 | fix_and_retry | none | | List IP addresses or networks, or leave allowed hosts empty for any host. |
97
+ | `already_connected` | 1 | fix_and_retry | none | | Use the connected source; this type allows one per organization. |
98
+ | `already_member` | 1 | fix_and_retry | none | | Change their role instead. |
99
+ | `already_org_shared` | 1 | fix_and_retry | none | | Skip the share; the resource is already available in every project of the organization. |
100
+ | `ambiguous_org` | 1 | do_first | none | | Sign in again; if this persists, an operator must remove the extra organization. |
101
+ | `ambiguous_warehouse` | 1 | fix_and_retry | none | | Name one of the listed warehouses and ask again. |
102
+ | `announcement_not_found` | 1 | fix_and_retry | none | | Check the announcement uuid. |
103
+ | `api_key_last_project` | 1 | do_first | none | | Add another project first, or revoke the key. |
104
+ | `api_key_membership_refused` | 1 | ask_human | unknown | | Contact support; the key's project access could not be set up. |
105
+ | `api_key_not_allowed` | 1 | ask_human | none | | Call this route signed in as a person; an API key reaches only routes limited to its projects. |
106
+ | `api_key_not_found` | 1 | fix_and_retry | none | | List the organization's API keys and pick one of them. |
107
+ | `api_key_project_limit` | 1 | do_first | none | | Remove a project from the key first, or create another key. |
108
+ | `api_key_project_not_found` | 1 | fix_and_retry | none | | Name a project the key already has access to. |
109
+ | `api_key_project_refused` | 1 | fix_and_retry | none | | Name projects of your organization that you administer. |
110
+ | `api_key_replay_unavailable` | 1 | do_first | none | | Rotate the key to get a new secret. |
111
+ | `api_key_revoked` | 1 | do_first | none | | Create a new key. |
112
+ | `attach_unsupported_source` | 1 | fix_and_retry | none | | Create the pipe without reader_id; it then gets a reader of its own. |
113
+ | `auth_unavailable` | 6 | retry | unknown | 3 | Retry after the Retry-After interval. |
114
+ | `backfill_already_running` | 1 | do_first | none | | Wait for the running backfill named by run_uuid to finish, then start another. |
115
+ | `backfill_filter_rejected` | 1 | fix_and_retry | none | | Rewrite the row filter without the token detail names. |
116
+ | `backfill_option_unsupported` | 1 | fix_and_retry | none | | Send the backfill without the field, start date or snapshot mode this pipe cannot honour. |
117
+ | `backfill_trigger_failed` | 1 | fix_and_retry | unknown | | Fix what the reason in detail names, then start the backfill again. |
118
+ | `backfill_unsupported` | 1 | fix_and_retry | none | | Leave out the backfill; this source type has none on demand, and streaming continues normally. |
119
+ | `baseline_not_applicable` | 1 | fix_and_retry | none | | Skip the first definition; this destination cannot report it. |
120
+ | `baseline_table_missing` | 1 | do_first | none | | Wait until the pipe creates its table, then try again. |
121
+ | `baseline_unavailable` | 6 | retry | none | 3 | Retry in a moment. |
122
+ | `being_removed` | 6 | retry | none | 3 | Retry in a few minutes; the account is still being removed. |
123
+ | `binding_not_found` | 1 | fix_and_retry | none | | List the resource's bindings and pick one of them. |
124
+ | `binding_pending` | 6 | retry | none | 5 | Retry in a few seconds; a resource that cannot be placed is listed under Needs a home. |
125
+ | `binding_removing` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
126
+ | `board_not_found` | 1 | fix_and_retry | none | | List the dashboards and pick one you can see. |
127
+ | `budget_below_usage` | 1 | fix_and_retry | none | | Confirm to pause the project, or set a budget at or above current. |
128
+ | `built_table_restricted_upstream` | 1 | fix_and_retry | none | | Let the role read the upstream table in full, or grant it the upstream table instead of the built one. |
129
+ | `builtin_not_found` | 1 | fix_and_retry | none | | Pick a built-in dashboard from the list. |
130
+ | `card_already_on_board` | 1 | fix_and_retry | none | | The card is already on this dashboard; nothing to add. |
131
+ | `card_not_found` | 1 | fix_and_retry | none | | Pick a card key the dashboard has. |
132
+ | `card_revision_conflict` | 1 | do_first | none | | Reload the card to get its current revision, reapply your change, then save again. |
133
+ | `catalogue_unavailable` | 6 | retry | none | 3 | Try again in a moment. |
134
+ | `change_event_not_found` | 1 | fix_and_retry | none | | List the pipe's schema changes and pick one you can see. |
135
+ | `clickhouse_admin_refused` | 1 | ask_human | none | | Ask your Databay administrator to check the analytics server's admin account. |
136
+ | `clickhouse_unavailable` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
137
+ | `client_config_unavailable` | 1 | ask_human | none | | Ask the operator to configure the browser sign-in address on the auth service. |
138
+ | `column_decision_stale` | 1 | fix_and_retry | none | | Reload the pipe's schema changes and decide on the column as it is listed now. |
139
+ | `column_decision_unavailable` | 6 | retry | unknown | 3 | Retry in a moment; repeating the same decision is safe. |
140
+ | `column_not_granted` | 1 | fix_and_retry | none | | Leave out the columns listed in columns, or ask an admin to grant them. |
141
+ | `columns_not_in_source` | 1 | fix_and_retry | none | | Choose from the source table's current columns. |
142
+ | `columns_on_schemaless_stream` | 1 | fix_and_retry | none | | Send the request without a column selection for this stream. |
143
+ | `completeness_rule_exists` | 1 | fix_and_retry | none | | Update the pipe's existing completeness rule instead. |
144
+ | `completeness_rule_invalid` | 1 | fix_and_retry | none | | Fix the temporal settings detail names. |
145
+ | `completeness_rule_not_found` | 1 | fix_and_retry | none | | List the pipe's completeness rules and pick one of them. |
146
+ | `compliance_export_not_ready` | 1 | do_first | none | | Wait until the export is ready, then try again. |
147
+ | `compliance_request_not_found` | 1 | fix_and_retry | none | | Check the compliance request id. |
148
+ | `config_rejected` | 1 | fix_and_retry | none | | Review the pipe's source, destination and replication key, then create it again. |
149
+ | `configstore_timeout` | 6 | retry | unknown | 3 | Retry in a moment. |
150
+ | `configstore_unavailable` | 6 | retry | none | 3 | Retry in a moment. |
151
+ | `conflicting_table_rules` | 1 | fix_and_retry | none | | Give the named roles the same columns or the same row filter on the table. |
152
+ | `connector_missing` | 1 | do_first | none | | Connect the source named in connector and wait for its first data. |
153
+ | `console_answer_invalid` | 1 | ask_human | none | | Contact support with the request id. |
154
+ | `console_not_scoped` | 1 | ask_human | none | | Contact support, or whoever runs your Databay server, to turn project scoping on for the SQL console. |
155
+ | `console_unavailable` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
156
+ | `continuation_invalid` | 1 | ask_human | none | | Connect again. |
157
+ | `continuation_org_mismatch` | 1 | ask_human | none | | Connect again while signed in to the right organization. |
158
+ | `conversation_not_found` | 1 | fix_and_retry | none | | Pick one of your own conversations, or start a new one. |
159
+ | `counts_unknown` | 6 | retry | none | 3 | Retry once every service answers. |
160
+ | `credential_already_issued` | 1 | do_first | complete | | Rotate the login to get a new password. |
161
+ | `credential_key_not_allowed` | 1 | fix_and_retry | none | | Send only the credential keys this source type accepts. |
162
+ | `credential_value_blank` | 1 | fix_and_retry | none | | Fill in every credential value. |
163
+ | `credential_warehouse_not_granted` | 1 | fix_and_retry | none | | Pick a warehouse one of your access roles reads, or ask a project admin for a role that reads it. |
164
+ | `credentials_invalid` | 1 | fix_and_retry | none | | Fix the credential fields detail names. |
165
+ | `credentials_renewed_elsewhere` | 1 | fix_and_retry | none | | Renew this source's credentials through its own reconnect flow. |
166
+ | `cross_org` | 1 | fix_and_retry | none | | Pick a project of your own organization. |
167
+ | `cross_warehouse_reference` | 1 | fix_and_retry | none | | Drop the database name before the table. |
168
+ | `currency_codes_changed` | 6 | retry | none | 2 | Run the card again in a moment. |
169
+ | `currency_unreadable` | 1 | ask_human | none | | This data's currencies can't be read; contact support. |
170
+ | `current_version` | 1 | fix_and_retry | none | | Pick a version that is not current, or confirm retiring the current one. |
171
+ | `custom_plan_delivery_failed` | 6 | retry | none | 2 | Retry, or email us. |
172
+ | `custom_plan_request_too_soon` | 6 | retry | none | 1 | Retry after the Retry-After interval. |
173
+ | `dashboard_query_failed` | 6 | retry | none | 2 | Retry; contact support if it keeps failing. |
174
+ | `database_connection_failed` | 1 | fix_and_retry | none | | Check the host, port, credentials and firewall rules for the failure detail names, then try again. |
175
+ | `database_health_check_failed` | 1 | ask_human | none | | Ask the database's administrator to check its health, then try again. |
176
+ | `dataset_unavailable` | 1 | ask_human | none | | Contact support; the dataset's tables are in a shape no dataset reads. |
177
+ | `dataset_version_retired` | 1 | fix_and_retry | none | | Update the card to current_version. |
178
+ | `delete_blocked` | 1 | fix_and_retry | none | | Pick another target project, or first move what the answer's hint names. |
179
+ | `dest_schema_rejected` | 1 | fix_and_retry | none | | Point the pipe at a new destination table, or drop the existing table if you no longer need its data. |
180
+ | `dest_unreachable` | 6 | retry | none | 3 | Retry; if it keeps failing, check the destination warehouse's connection details. |
181
+ | `destination_check_refused` | 1 | fix_and_retry | none | | Fix the warehouse's connection settings or its user's access as detail says, then retry. |
182
+ | `destination_table_exists` | 1 | fix_and_retry | none | | Pick another destination table, or change the transformation that already writes it. |
183
+ | `destination_table_incompatible` | 1 | fix_and_retry | none | | Pick another destination table name, or drop the existing table, then retry. |
184
+ | `destination_table_taken` | 1 | fix_and_retry | none | | Pick another destination table. |
185
+ | `disable_reason_too_long` | 1 | fix_and_retry | none | | Shorten the reason. |
186
+ | `docs_article_moved` | 1 | fix_and_retry | none | | Follow Location to the article's current slug. |
187
+ | `docs_article_not_found` | 1 | fix_and_retry | none | | Check the article slug. |
188
+ | `docs_authoring_disabled` | 1 | ask_human | none | | Ask an operator to turn on documentation authoring. |
189
+ | `docs_body_too_large` | 1 | fix_and_retry | none | | Shorten the article body. |
190
+ | `docs_engine_internals_leaked` | 1 | fix_and_retry | none | | Remove the engine internals from the article. |
191
+ | `docs_plugin_invalid` | 1 | fix_and_retry | none | | Pick a known plugin, or leave it out. |
192
+ | `docs_section_invalid` | 1 | fix_and_retry | none | | Pick a known section. |
193
+ | `docs_slug_invalid` | 1 | fix_and_retry | none | | Send a valid slug. |
194
+ | `docs_slug_reserved` | 1 | fix_and_retry | none | | Pick another slug. |
195
+ | `docs_slug_taken` | 1 | fix_and_retry | none | | Pick another slug. |
196
+ | `docs_unavailable` | 6 | retry | none | 3 | Retry in a moment. |
197
+ | `draft_already_published` | 1 | do_first | none | | Create a new draft from the published version. |
198
+ | `draft_changed` | 1 | fix_and_retry | none | | Reload the draft metric model and make your change again. |
199
+ | `draft_exists` | 1 | fix_and_retry | none | | Edit the existing draft, or replace it. |
200
+ | `draft_render_missing` | 1 | fix_and_retry | none | | Run the preview again. |
201
+ | `effective_not_lowering` | 1 | fix_and_retry | none | | Send the change without an effective date; it applies now. |
202
+ | `elt_unavailable` | 6 | retry | none | 3 | The models could not be listed; retry in a moment. |
203
+ | `email_not_verified` | 1 | ask_human | none | | Open the link we emailed you, or send a new one from the sign-in page. |
204
+ | `endpoint_removed` | 1 | fix_and_retry | none | | Call the replacement route detail names. |
205
+ | `entitlements_unavailable` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
206
+ | `exists` | 1 | fix_and_retry | none | | Renew the connected account's credentials instead. |
207
+ | `external_plan` | 1 | ask_human | none | | Change the plan in the Shopify app; this meter takes no override. |
208
+ | `external_warehouses_unsupported` | 1 | ask_human | none | | Use the managed warehouse; pipelines land there without a destination to register. |
209
+ | `extra_is_primary` | 1 | fix_and_retry | none | | Leave the primary property out of the extra properties. |
210
+ | `feature_not_in_plan` | 1 | ask_human | none | | Ask an organization admin to move to a plan that includes this feature. |
211
+ | `feature_not_rollout` | 1 | fix_and_retry | none | | Pick a rollout feature; only those can be set per organization. |
212
+ | `file_check_busy` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
213
+ | `file_check_timeout` | 1 | fix_and_retry | none | | Upload a smaller file, or save the workbook's data as CSV. |
214
+ | `file_columns_limit_reached` | 1 | fix_and_retry | none | | Remove columns from the named tab so it stays within the limit. |
215
+ | `file_encoding_unsupported` | 1 | fix_and_retry | none | | Pick the file's encoding in the file settings, or save it as UTF-8. |
216
+ | `file_header_invalid` | 1 | fix_and_retry | none | | Give every column of the named tab a unique name in its header row, or set that tab's header row. |
217
+ | `file_not_uploaded` | 1 | do_first | none | | Upload a file to the source first. |
218
+ | `file_shared_strings_too_large` | 1 | fix_and_retry | none | | Save the workbook's data as CSV and upload that instead. |
219
+ | `file_stage_expired` | 1 | do_first | none | | Upload the file again to check it. |
220
+ | `file_stage_superseded` | 1 | ask_human | none | | Review the source's current file, then upload yours again if it should replace it. |
221
+ | `file_too_large` | 1 | fix_and_retry | none | | Upload a smaller file, or split it into several files. |
222
+ | `file_type_unsupported` | 1 | fix_and_retry | none | | Save the file as .csv, .tsv or .xlsx and upload it again. |
223
+ | `file_unavailable` | 1 | do_first | none | | Upload the file to the source again. |
224
+ | `file_uncompressed_too_large` | 1 | fix_and_retry | none | | Remove unused sheets or rows from the workbook, or save the data as CSV. |
225
+ | `file_unreadable` | 1 | fix_and_retry | none | | Open the file, save it again as .csv or .xlsx, and upload the new copy. |
226
+ | `file_upload_needs_acknowledgement` | 1 | ask_human | none | | Review the listed warnings and confirm again, acknowledging each one. |
227
+ | `filter_type_conflict` | 1 | fix_and_retry | none | | Rename the filter, keep its kind, or take the card off this dashboard. |
228
+ | `folder_cycle` | 1 | fix_and_retry | none | | Move the folder somewhere outside itself. |
229
+ | `folder_name_taken` | 1 | fix_and_retry | none | | Pick another folder name. |
230
+ | `folder_not_empty` | 1 | do_first | none | | Move or delete the folder's folders and dashboards first. |
231
+ | `folder_not_found` | 1 | fix_and_retry | none | | List the folders and pick one you can see. |
232
+ | `folder_not_in_project` | 1 | fix_and_retry | none | | Pick a folder of this project. |
233
+ | `folder_too_deep` | 1 | fix_and_retry | none | | Place the folder higher up; folders nest at most limit levels deep. |
234
+ | `free_order_cap` | 1 | ask_human | none | | Contact us for a plan with a higher order limit. |
235
+ | `fx_rate_missing` | 1 | fix_and_retry | none | | Pick a range or a reporting currency that has exchange rates. |
236
+ | `fx_rate_unavailable` | 1 | fix_and_retry | none | | Pick a reporting currency that has exchange rates for the currencies listed. |
237
+ | `fx_unavailable` | 6 | retry | none | 3 | Try again in a moment. |
238
+ | `git_auth_failed` | 1 | do_first | none | | Add the deploy key to the repository read-only, or use a token that can read it. |
239
+ | `git_commit_rejected` | 1 | fix_and_retry | none | | Fix the file and line named, then push a new commit. |
240
+ | `git_connection_busy` | 6 | retry | none | 3 | Retry in a moment; the git connection changed meanwhile. |
241
+ | `git_connection_exists` | 1 | do_first | none | | Disconnect the project's repository first, then connect again. |
242
+ | `git_host_key_changed` | 1 | ask_human | none | | Check the repository host's key; if the change is expected, connect the repository again. |
243
+ | `git_installation_not_yours` | 1 | do_first | none | | Install the Databay GitHub App from Databay's own install link, then connect again. |
244
+ | `git_not_connected` | 1 | do_first | none | | Connect a repository to the project first. |
245
+ | `git_ref_not_found` | 1 | fix_and_retry | none | | Name a branch and folder that exist in the repository. |
246
+ | `git_repo_not_installed` | 1 | do_first | none | | Install the Databay GitHub App on the repository, then connect again. |
247
+ | `git_repo_too_large` | 1 | fix_and_retry | none | | Make the dbt folder smaller, or keep large files out of it. |
248
+ | `git_sync_failed` | 6 | retry | none | 3 | Retry the sync; if it keeps failing, tell support. |
249
+ | `git_unreachable` | 6 | retry | none | 3 | Retry in a moment; the repository's host did not answer. |
250
+ | `github_app_not_configured` | 1 | fix_and_retry | none | | Connect with a deploy key or a token; this server has no GitHub App. |
251
+ | `github_app_permission_refused` | 1 | do_first | none | | Grant the Databay GitHub App the permissions Databay lists, then retry. |
252
+ | `github_unavailable` | 6 | retry | none | 3 | Retry in a moment; GitHub did not answer. |
253
+ | `home_board_not_deletable` | 1 | do_first | none | | Set another dashboard as the project's Overview, then delete this one. |
254
+ | `home_conflict` | 1 | fix_and_retry | none | | Share the resource into the project instead; it already has a home project. |
255
+ | `host_not_allowed` | 1 | fix_and_retry | none | | Use your database's own address, a public hostname or a private address in your network. |
256
+ | `idempotency_key_required` | 1 | fix_and_retry | none | | Send the apply again with an Idempotency-Key header. |
257
+ | `idempotency_key_reused` | 1 | fix_and_retry | none | | Send a new Idempotency-Key for a new request. |
258
+ | `immutable_source_field` | 1 | fix_and_retry | none | | Create a new source to change the fields listed. |
259
+ | `import_conflict` | 1 | fix_and_retry | none | | Choose which side wins for the conflicting overrides, then import again. |
260
+ | `instance_name_taken` | 1 | fix_and_retry | none | | Pick another name. |
261
+ | `internal_sink_not_found` | 1 | do_first | none | | Wait for the organization's managed warehouse to be set up; contact support if it does not appear. |
262
+ | `invalid_account_id` | 1 | fix_and_retry | none | | Send a valid account id for the platform. |
263
+ | `invalid_actor` | 1 | fix_and_retry | none | | Send a valid operator name as actor. |
264
+ | `invalid_card_sql` | 1 | fix_and_retry | none | | Fix the card's SQL. |
265
+ | `invalid_cron_expression` | 1 | fix_and_retry | none | | Send a valid cron expression. |
266
+ | `invalid_expiry` | 1 | fix_and_retry | none | | Send an ISO-8601 UTC time in the future. |
267
+ | `invalid_filter_value` | 1 | fix_and_retry | none | | Fix the value of the filter named in filter. |
268
+ | `invalid_filters` | 1 | fix_and_retry | none | | Fix the dashboard filters as reason says. |
269
+ | `invalid_layout` | 1 | fix_and_retry | none | | Fix the card layout as reason says. |
270
+ | `invalid_limit` | 1 | fix_and_retry | none | | Send a limit that is valid for the meter. |
271
+ | `invalid_param` | 1 | fix_and_retry | none | | Fix the bound parameter named in param. |
272
+ | `invalid_plan_ref` | 1 | fix_and_retry | none | | Name the plan as <plan> or <plan>@<version>. |
273
+ | `invalid_price` | 1 | fix_and_retry | none | | Send a valid price with its currency and period. |
274
+ | `invalid_spec` | 1 | fix_and_retry | none | | Fix the card named by key as reason says. |
275
+ | `invalid_tenant_identifier` | 1 | ask_human | none | | Contact support; the organization's name cannot be mapped to a warehouse database. |
276
+ | `invalid_version` | 1 | fix_and_retry | none | | Fix the problems listed, then try again. |
277
+ | `invitation_already_open` | 1 | fix_and_retry | none | | Invite them with the open invitation's role and language, or ask an org admin to revoke it. |
278
+ | `invitation_email_mismatch` | 1 | do_first | none | | Sign in with the email address the invitation was sent to. |
279
+ | `invitation_inviter_not_admin` | 1 | ask_human | partial | | Ask an admin of the organization for a new invitation. |
280
+ | `invitation_link_unavailable` | 1 | ask_human | none | | Ask the server's operator to set the public app URL and secret key. |
281
+ | `invitation_not_found` | 1 | fix_and_retry | none | | Reload the list of invitations and pick one that is still there. |
282
+ | `invitation_not_valid` | 1 | ask_human | none | | Ask the person who invited you for a new invitation. |
283
+ | `invitation_rate_limited` | 6 | retry | none | 3 | Wait for the Retry-After interval, then open the link again. |
284
+ | `invitation_single_org` | 1 | ask_human | none | | Contact support to join another organization. |
285
+ | `job_name_exists` | 1 | fix_and_retry | none | | Pick another name for the transformation. |
286
+ | `job_name_taken` | 1 | fix_and_retry | none | | Pick another name; transformation names are unique in the organization. |
287
+ | `job_not_found` | 1 | fix_and_retry | none | | List the transformations and pick one you can see. |
288
+ | `keyless_selection_needs_key` | 1 | fix_and_retry | none | | Name a primary_key for the selection on this keyless table. |
289
+ | `landed_tables_unreadable` | 1 | fix_and_retry | none | | Fix the warehouse's connection settings or its user's access as detail says, then retry. |
290
+ | `last_admin` | 1 | do_first | none | | Make another member an admin first. |
291
+ | `leftover_check_unavailable` | 6 | retry | none | 3 | Check that the database is reachable, then check again. |
292
+ | `leftover_not_found` | 1 | fix_and_retry | none | | Reload the list; this leftover is already resolved or is not in your project. |
293
+ | `leftover_source_gone` | 1 | ask_human | none | | Drop it on the database yourself with the SQL shown, then dismiss it. |
294
+ | `lineage_unreadable` | 1 | ask_human | none | | Ask your Databay administrator to check the warehouse's query log. |
295
+ | `lineage_window_too_large` | 1 | fix_and_retry | none | | Read the lineage in shorter windows. |
296
+ | `login_validity_invalid` | 1 | fix_and_retry | none | | Pick an expiry date in the future and within the allowed number of days. |
297
+ | `logout_failed` | 6 | retry | unknown | 3 | Retry signing out. |
298
+ | `managed_warehouse_sink_locked` | 1 | fix_and_retry | none | | Send the request again without sink_db_uuid. |
299
+ | `manifest_stale` | 1 | do_first | none | | Run the delete preview again and confirm the new manifest. |
300
+ | `mask_columns_not_selected` | 1 | fix_and_retry | none | | Mask only columns the selection includes, or add the columns listed in columns to the selection. |
301
+ | `member_access_unchanged` | 1 | fix_and_retry | none | | Reload the member's status; the change you asked for is already in place. |
302
+ | `member_is_api_key` | 1 | fix_and_retry | none | | Manage it with the API key routes (databay api-key), or revoke the key. |
303
+ | `member_lookup_unavailable` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
304
+ | `member_not_api_key` | 1 | fix_and_retry | none | | Manage this member with the project member routes; only API keys are managed here. |
305
+ | `member_not_found` | 1 | fix_and_retry | none | | List the organization's members and pick one of them. |
306
+ | `member_not_in_organization` | 1 | do_first | none | | Invite them to the organization first. |
307
+ | `member_role_unchanged` | 1 | fix_and_retry | none | | Pick a role the member does not hold yet. |
308
+ | `metric_card_invalid` | 1 | fix_and_retry | none | | Edit the card to use the metric's own dimensions. |
309
+ | `metric_cards_unavailable` | 1 | fix_and_retry | none | | Save the card with a SQL query instead of a metric. |
310
+ | `metric_needs_yaml` | 1 | fix_and_retry | none | | Edit this metric in the model's YAML and push the model. |
311
+ | `metric_not_found` | 1 | fix_and_retry | none | | List the metrics you can query and use one of their names. |
312
+ | `metric_not_granted` | 1 | ask_human | none | | Ask an admin for a warehouse access role that includes this metric. |
313
+ | `metric_query_failed` | 6 | retry | none | 3 | The metric query failed; retry in a moment. |
314
+ | `migration_refused` | 1 | fix_and_retry | none | | Fix each organization listed in refused, or leave it out, then run the move again. |
315
+ | `missing_feature_values` | 1 | fix_and_retry | none | | Set a value for each feature listed in problems. |
316
+ | `missing_meter_values` | 1 | fix_and_retry | none | | Set a value for each meter listed in problems. |
317
+ | `missing_param` | 1 | fix_and_retry | none | | Bind the parameter to a filter, or give it a fixed value. |
318
+ | `missing_sources` | 1 | do_first | none | | Connect the sources listed in missing. |
319
+ | `model_check_unavailable` | 6 | retry | none | 3 | Retry in a moment; nothing was saved. |
320
+ | `model_in_git` | 1 | ask_human | none | | Edit this model in its repository; Databay syncs the change. |
321
+ | `model_in_use` | 1 | fix_and_retry | none | | Change or delete the models listed in readers first, then delete this one. |
322
+ | `model_managed_in_git` | 1 | fix_and_retry | none | | Edit the semantic files in the project's git repository instead. |
323
+ | `model_name_reserved` | 1 | fix_and_retry | none | | Pick a name without the reserved part. |
324
+ | `model_name_taken` | 1 | fix_and_retry | none | | Pick another name for the model. |
325
+ | `model_not_published` | 1 | do_first | none | | Publish the project's draft metric model, then query again. |
326
+ | `model_refresh_unsupported` | 1 | fix_and_retry | none | | Store the model as a table or incremental table, or set its refresh to manual. |
327
+ | `model_rejected` | 1 | fix_and_retry | none | | Fix each listed field of the model and upload it again. |
328
+ | `model_sources_unavailable` | 6 | retry | none | 3 | Retry in a moment. |
329
+ | `model_sql_rejected` | 1 | fix_and_retry | none | | Change the model's SQL as detail says, then save again. |
330
+ | `model_version_stale` | 1 | fix_and_retry | none | | Open the current version, apply your edits to it, then save again. |
331
+ | `model_version_unavailable` | 6 | retry | none | 3 | The metric model is updating; retry in a moment. |
332
+ | `model_warehouse_unusable` | 1 | do_first | none | | Pick a warehouse this project uses and that is ready, then save again. |
333
+ | `multi_property_off` | 1 | fix_and_retry | none | | Connect one property per connection. |
334
+ | `name_collision` | 1 | ask_human | none | | Contact support; the warehouse's analytics server name belongs to another warehouse. |
335
+ | `name_reserved` | 1 | fix_and_retry | none | | Pick another warehouse name. |
336
+ | `name_taken` | 1 | fix_and_retry | none | | Pick another warehouse name. |
337
+ | `new_columns_unsupported` | 1 | fix_and_retry | none | | Use add for new columns; asking first is not available for this pipe or organization. |
338
+ | `no_draft` | 1 | do_first | none | | Create a draft of the plan first. |
339
+ | `no_published_version` | 1 | do_first | none | | Publish the plan's draft first. |
340
+ | `no_reachable_account` | 1 | fix_and_retry | none | | Check that the token reaches at least one account. |
341
+ | `no_subscription` | 1 | ask_human | none | | Ask an operator to assign the organization a plan with the command fix names. |
342
+ | `no_tenant_data` | 1 | do_first | none | | Connect a source, or preview with sample data. |
343
+ | `no_warehouse_access` | 1 | ask_human | none | | Ask a project admin for access to the dashboard's warehouse. |
344
+ | `not_blocking` | 1 | fix_and_retry | none | | Name only checks that block the source. |
345
+ | `not_checked` | 1 | do_first | none | | Check the source first. |
346
+ | `not_dlt` | 1 | fix_and_retry | none | | Pick a source type this deployment syncs. |
347
+ | `not_home` | 1 | ask_human | none | | Open the project that manages it, or ask its editors. |
348
+ | `not_retryable` | 1 | fix_and_retry | none | | Read status; only a failed warehouse can be retried. |
349
+ | `notice_missing` | 1 | fix_and_retry | none | | Send a notice with the change that lowers the limit. |
350
+ | `notice_window` | 1 | fix_and_retry | none | | Schedule the change for earliest or later. |
351
+ | `notification_not_found` | 1 | fix_and_retry | none | | Find the id with the notification log script, then run the replay again. |
352
+ | `notification_params_purged` | 1 | ask_human | none | | Ask the producer for a new notification, since this one can no longer be rendered. |
353
+ | `notification_replay_expired` | 1 | fix_and_retry | none | | Run the replay again with a future --not-after. |
354
+ | `notification_replay_no_address` | 1 | ask_human | none | | Fix the recipient's contact, then run the replay again. |
355
+ | `notification_replay_not_eligible` | 1 | fix_and_retry | none | | Pick a row in a status replay takes; a sent row needs --include-sent. |
356
+ | `numbers_updating` | 6 | retry | none | 3 | The numbers are still being built; retry in a moment. |
357
+ | `oauth_access_denied` | 1 | fix_and_retry | none | | Sign in again and allow Databay access on the provider's screen. |
358
+ | `oauth_callback_invalid` | 1 | ask_human | none | | Start connecting again. |
359
+ | `oauth_exchange_failed` | 1 | ask_human | none | | Connect again. |
360
+ | `oauth_not_configured` | 1 | ask_human | none | | Ask an operator to set up the provider's OAuth app, or connect with your own credentials. |
361
+ | `oauth_scopes_missing` | 1 | fix_and_retry | none | | Sign in again and leave every permission ticked. |
362
+ | `oauth_source_field_not_editable` | 1 | fix_and_retry | none | | Edit only the name, and reconnect the source to renew its credentials. |
363
+ | `oauth_state_invalid` | 1 | ask_human | none | | Start connecting again. |
364
+ | `operator_preview_stale` | 1 | fix_and_retry | none | | Preview the change again and confirm the new preview. |
365
+ | `operator_request_not_received` | 1 | ask_human | none | | Treat the change as not applied, and apply it again with a new key if it is still wanted. |
366
+ | `operator_work_failed` | 1 | ask_human | unknown | | Check the target's state before you try the action again. |
367
+ | `operator_work_overdue` | 1 | ask_human | unknown | | Check the target's state before you try the action again. |
368
+ | `operator_work_started` | 1 | do_first | unknown | | Check the request under the same key; do not resend it under a new key. |
369
+ | `org_claim_invalid` | 1 | do_first | none | | Sign in again; if this persists, contact support. |
370
+ | `org_create_daily_limit` | 1 | do_first | none | | Wait for the Retry-After interval, then create it again. |
371
+ | `org_create_limit` | 1 | ask_human | none | | The limit for new organizations is reached; ask an admin of an existing one to add you. |
372
+ | `org_create_single_org` | 1 | ask_human | none | | Contact support to create another organization. |
373
+ | `org_disabled` | 1 | ask_human | none | | This organization is disabled; pick another one or contact support. |
374
+ | `org_domain_claimed` | 1 | ask_human | partial | | Ask an admin of the organization that holds your email domain to invite you. |
375
+ | `org_key_conflict` | 6 | retry | none | 1 | Send the request again. |
376
+ | `org_not_found` | 1 | ask_human | none | | Sign in again; if this persists, contact support. |
377
+ | `org_not_member` | 1 | fix_and_retry | none | | Pick one of the organizations you belong to. |
378
+ | `org_required` | 1 | do_first | none | | Create or join an organization in the web app first. |
379
+ | `org_visible_destination` | 1 | fix_and_retry | none | | Confirm with acknowledge_org_visible=true, or pick a destination of this project. |
380
+ | `organization_required` | 1 | ask_human | none | | Ask an admin to add you to an organization, then sign in again. |
381
+ | `organization_warehouse_unmapped` | 1 | ask_human | none | | Contact support; the organization maps to no warehouse database. |
382
+ | `outbox_full` | 6 | retry | none | 3 | Retry in a moment; the service refuses writes while its event queue catches up. |
383
+ | `owner_answer_invalid` | 1 | ask_human | unknown | | Ask an engineer to check that the staff console and the service run the same release. |
384
+ | `owner_answer_mismatch` | 1 | ask_human | unknown | | Ask an engineer to compare this request with the service's own audit log. |
385
+ | `owner_unavailable` | 6 | retry | unknown | 3 | Try again in a minute; an apply sent again with the same key never applies twice. |
386
+ | `password_code_attempts_exhausted` | 1 | do_first | none | | Send a new code, then enter the one in the new email. |
387
+ | `password_code_expired` | 1 | do_first | none | | Send a new code, then enter the one in the new email. |
388
+ | `password_code_invalid` | 1 | fix_and_retry | partial | | Check the code in the latest email and enter it again. |
389
+ | `password_code_not_mailable` | 1 | do_first | none | | Send a new code from the password dialog; this one was replaced or used. |
390
+ | `password_code_resend_too_soon` | 1 | do_first | none | | Wait for the Retry-After interval, then send a new code. |
391
+ | `password_code_send_limit` | 1 | do_first | none | | Wait for the Retry-After interval, then send a new code. |
392
+ | `password_email_missing` | 1 | ask_human | none | | Ask an admin to add an email address to your account. |
393
+ | `password_mail_unavailable` | 6 | retry | none | 3 | Try again in a minute. |
394
+ | `password_policy_refused` | 1 | fix_and_retry | none | | Choose a password that meets the rule the answer names. |
395
+ | `payg_not_allowed` | 1 | fix_and_retry | none | | Move the organization to a plan that allows overage, or keep within the limit. |
396
+ | `permission_denied` | 1 | ask_human | none | | Ask an admin for the role this action needs. |
397
+ | `personal_login_dropping` | 6 | retry | none | 3 | Your previous login for this warehouse is still being removed; try again in a minute. |
398
+ | `personal_login_exists` | 1 | fix_and_retry | none | | Rotate your existing login for this warehouse to get a new password. |
399
+ | `personal_logins_disabled` | 1 | ask_human | none | | Ask a project admin to turn on personal logins for this project. |
400
+ | `pipe_already_exists` | 1 | fix_and_retry | none | | Pick another destination table, or use the pipe named by existing_pipe_uuid. |
401
+ | `pipe_busy` | 6 | retry | none | 3 | Another change to this pipe is running; retry in a few seconds. |
402
+ | `pipe_deleting` | 1 | fix_and_retry | none | | Create a new pipe if you still need one; this one is being deleted. |
403
+ | `pipe_lookup_failed` | 6 | retry | none | 3 | Retry; the delete waits until the pipelines using it are known. |
404
+ | `pipe_not_failed` | 1 | fix_and_retry | none | | Release a pipe only once it has failed; resync or pause a running one instead. |
405
+ | `pipe_not_found` | 1 | fix_and_retry | none | | List the pipes and pick one you can see. |
406
+ | `pipe_not_ready` | 1 | do_first | none | | Wait until the pipe is active (retry it if it failed), then try again. |
407
+ | `pipe_not_retriable` | 1 | fix_and_retry | none | | Read current_status; only a failed pipe can be retried. |
408
+ | `pipe_not_scheduled` | 1 | do_first | none | | Resume the pipe or give it a run schedule first. |
409
+ | `pipe_restart_unsupported` | 1 | do_first | none | | Wait for the pipe's next scheduled run instead; this engine retries on its own schedule. |
410
+ | `pipe_retry_too_soon` | 6 | retry | none | 1 | Wait retry_after_seconds, then retry the pipe. |
411
+ | `pipe_shares_reader` | 1 | do_first | none | | Delete or move the other pipes of the reader first. |
412
+ | `pipeline_editor_required` | 1 | ask_human | none | | Ask for Project Editor on every pipeline that uses the source, or delete those pipelines first. |
413
+ | `pipes_present` | 1 | do_first | none | | Delete the pipelines that use the warehouse first. |
414
+ | `pipes_unavailable` | 6 | retry | none | 3 | Retry in a moment. |
415
+ | `plan_exists` | 1 | fix_and_retry | none | | Pick another name, or replace the existing plan. |
416
+ | `plan_file_invalid` | 1 | fix_and_retry | none | | Fix the problems listed in the plan file. |
417
+ | `plan_seed_invalid` | 1 | ask_human | none | | Ask an operator to fix the built-in plan seed. |
418
+ | `plan_source_limit` | 1 | ask_human | none | | Contact us for a plan with more sources. |
419
+ | `platform_credentials_missing` | 1 | fix_and_retry | none | | Supply your own platform credentials. |
420
+ | `policy_apply_failed` | 1 | ask_human | none | | The metric model is not updating; ask your org admin to check access. |
421
+ | `precheck_busy` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
422
+ | `precheck_limiter_unavailable` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
423
+ | `precheck_rate_limited` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
424
+ | `preview_expired` | 1 | fix_and_retry | none | | Preview the change again, then apply it within five minutes. |
425
+ | `preview_mismatch` | 1 | fix_and_retry | none | | Apply the change exactly as previewed, or preview the new change first. |
426
+ | `preview_not_found` | 1 | fix_and_retry | none | | Preview the change again and apply the new preview. |
427
+ | `principal_disabled` | 1 | ask_human | none | | Ask a project admin to enable this login, then rotate it for a new password. |
428
+ | `project_admin_required` | 1 | ask_human | none | | Ask a project admin to do this, or to make you a project admin. |
429
+ | `project_conflict` | 2 | fix_and_retry | none | | Send one project: X-Databay-Project-ID must match the route and the body. |
430
+ | `project_forbidden` | 1 | ask_human | none | | Pick another project or ask a project admin for access. |
431
+ | `project_general_immutable` | 1 | fix_and_retry | none | | Use another project; General cannot be renamed, deleted, restricted or have its members changed. |
432
+ | `project_live_graph_immutable` | 1 | fix_and_retry | none | | Leave the items that have live pipelines unchanged, or delete those pipelines first. |
433
+ | `project_member_not_found` | 1 | do_first | none | | Add them to the project as a member first. |
434
+ | `project_models_broken` | 1 | do_first | none | | Fix the models listed in broken_models first, then save again. |
435
+ | `project_not_deleting` | 1 | fix_and_retry | none | | Check the project's state; this call applies only to a project being deleted. |
436
+ | `project_not_empty` | 1 | do_first | none | | Move or delete its pipelines and resources, or ask an org admin for a forced delete. |
437
+ | `project_not_found` | 1 | fix_and_retry | none | | Pick a project you can see; this one does not exist, is being deleted, or is not visible to you. |
438
+ | `project_required` | 1 | fix_and_retry | none | | Send the X-Databay-Project-ID header (databay --project). |
439
+ | `project_revision_conflict` | 1 | do_first | none | | Reload the canvas to get the current revision, reapply your change, then save again. |
440
+ | `property_id_invalid` | 1 | fix_and_retry | none | | Send the numeric GA4 property id. |
441
+ | `property_not_readable` | 1 | ask_human | none | | Grant the key Viewer access on the property, then try again. |
442
+ | `provider_unavailable` | 6 | retry | none | 3 | Retry in a moment. |
443
+ | `publication_mode_locked` | 1 | ask_human | none | | Keep the current choice, or delete this source's pipelines before changing it. |
444
+ | `publication_mode_not_applicable` | 1 | fix_and_retry | none | | Leave the publication choice out: only Postgres sources have one. |
445
+ | `publication_mode_unset` | 1 | do_first | none | | Choose who creates the publication on the source, then create the pipeline. |
446
+ | `publication_mode_unsupported` | 1 | ask_human | none | | Choose the path where Databay creates the publication, or move to the native engine and Postgres 13. |
447
+ | `publication_modes_off` | 1 | fix_and_retry | none | | Leave the publication choice out: on this deployment Databay creates the publication. |
448
+ | `publication_state_unavailable` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
449
+ | `qualifier_rewrite_failed` | 1 | fix_and_retry | none | | Ask again, or write the query in the SQL editor. |
450
+ | `query_rejected` | 1 | fix_and_retry | none | | Fix the query as detail says. |
451
+ | `query_timeout` | 1 | fix_and_retry | none | | Narrow the query or add filters so it finishes in time. |
452
+ | `question_failed` | 6 | retry | none | 2 | Ask again, or write the query in the SQL editor. |
453
+ | `quota_exceeded` | 1 | do_first | none | | Wait until the hourly query limit resets, then try again. |
454
+ | `quota_reached` | 1 | ask_human | none | | Delete one to make room, or ask whoever lift_by names to raise the limit in quota. |
455
+ | `reader_conflict` | 1 | ask_human | none | | Ask your Databay administrator to check this warehouse's reader. |
456
+ | `reader_engine_mismatch` | 1 | fix_and_retry | none | | Create the pipe without reader_id, or switch the reader to this pipe's engine first. |
457
+ | `reader_full` | 1 | fix_and_retry | none | | Create the pipe without reader_id to give it a reader of its own. |
458
+ | `reader_partition_conflict` | 1 | fix_and_retry | none | | Create the pipe without reader_id to give it a reader of its own. |
459
+ | `reader_password_missing` | 1 | ask_human | none | | Ask your Databay administrator to rotate this warehouse's reader. |
460
+ | `reader_publication_mode_mismatch` | 1 | fix_and_retry | none | | Create the pipe without reader_id; it then gets a reader of its own. |
461
+ | `reader_scope_required` | 1 | fix_and_retry | none | | Send the request again with "scope": "reader"; the answer lists the pipes it changes. |
462
+ | `reason_required` | 1 | fix_and_retry | none | | Say why you are making the change, then send it again. |
463
+ | `reason_too_short` | 1 | fix_and_retry | none | | Say why you are making the change in at least 15 characters. |
464
+ | `rebuild_in_progress` | 1 | do_first | none | | Wait for the pipe's open rebuild or migration to finish, then try again. |
465
+ | `rebuild_source_invalid` | 1 | fix_and_retry | none | | Pick a rebuild source this pipe supports. |
466
+ | `reconnect_different_account` | 1 | fix_and_retry | none | | Pick the source's own account when reconnecting. |
467
+ | `reconnect_different_login` | 1 | fix_and_retry | none | | Sign in again with the login this source was set up with. |
468
+ | `reconnect_wrong_type` | 1 | fix_and_retry | none | | Reconnect with a source of the same type. |
469
+ | `removed_setting` | 1 | ask_human | none | | Ask an operator to remove the setting named in setting from the environment. |
470
+ | `replication_key_outside_identity` | 1 | fix_and_retry | none | | Choose a replication key within the reader's identity columns, or create the pipe without reader_id. |
471
+ | `reporting_currency_required` | 1 | fix_and_retry | none | | Set a reporting currency. |
472
+ | `request_invalid` | 1 | fix_and_retry | none | | Fix the fields the answer names, then send the request again. |
473
+ | `requires_support` | 1 | ask_human | none | | Contact Databay support to accept this check. |
474
+ | `reset_mail_unavailable` | 1 | ask_human | none | | Ask an operator to set the realm's mail server, then reset the password again. |
475
+ | `resource_not_found` | 1 | fix_and_retry | none | | Check the resource id; it is not in your organization. |
476
+ | `resource_not_shared` | 1 | do_first | none | | Share it into the project from the project that manages it. |
477
+ | `resource_not_visible` | 1 | fix_and_retry | none | | Check the id and the active project; the resource does not exist or is not visible to you. |
478
+ | `result_too_large` | 1 | fix_and_retry | none | | Narrow the range or aggregate. |
479
+ | `resync_required` | 1 | do_first | none | | Resync the pipe with the call named in next; resuming cannot bring back the missing changes. |
480
+ | `retry_cooldown` | 6 | retry | none | 1 | Wait retry_after_s, then retry the warehouse. |
481
+ | `revision_conflict` | 1 | do_first | none | | Reload the dashboard to get the current revision, reapply your change, then save again. |
482
+ | `rollout_off_cli_only` | 1 | ask_human | none | | Ask an operator to change it with the operator CLI. |
483
+ | `row_count_unavailable` | 6 | retry | none | 2 | Try again in a moment; until the warehouse answers, the count is unknown. |
484
+ | `row_filter_invalid` | 1 | fix_and_retry | none | | Fix the filter condition the error names so its column exists and its value fits the column type. |
485
+ | `rule_built_relation_unknown` | 1 | fix_and_retry | none | | Pick a model from the warehouse's built models. |
486
+ | `rule_column_unknown` | 1 | fix_and_retry | none | | Pick columns the table has. |
487
+ | `rule_duplicate_table` | 1 | fix_and_retry | none | | Name each table once per warehouse in an access role. |
488
+ | `rule_overlap` | 1 | fix_and_retry | none | | Keep either one whole-warehouse rule or table rules for each warehouse in a role. |
489
+ | `rule_scope_invalid` | 1 | fix_and_retry | none | | Name a table for a rule with columns or a row filter, and switch the role to rules before editing them. |
490
+ | `rule_table_unknown` | 1 | fix_and_retry | none | | Pick a table the warehouse has. |
491
+ | `rule_warehouse_not_managed` | 1 | fix_and_retry | none | | Pick a warehouse Databay manages for your organization. |
492
+ | `rule_warehouse_not_visible` | 1 | do_first | none | | Share the warehouse with this project first, or pick one it can see. |
493
+ | `schema_change_unsupported` | 1 | ask_human | none | | Change the destination table yourself, or rebuild the pipe's table; it cannot be applied for you. |
494
+ | `schema_query_failed` | 6 | retry | unknown | 2 | Retry; contact support if the change still cannot be written. |
495
+ | `schema_state_stuck_finishing` | 1 | ask_human | none | | Contact support with the pipe's id; its rebuild finished but the change did not clear. |
496
+ | `schema_state_unavailable` | 6 | retry | none | 3 | Retry in a moment. |
497
+ | `schema_state_unknown_combination` | 1 | ask_human | none | | Contact support with the pipe's id and the request id. |
498
+ | `schema_version_contention` | 6 | retry | none | 3 | Retry; another apply on the pipe is in progress. |
499
+ | `schema_version_not_found` | 1 | fix_and_retry | none | | List the pipe's schema history and pick a version it has. |
500
+ | `secret_key_missing` | 1 | ask_human | none | | Ask your administrator to finish this server's setup. |
501
+ | `semantic_unavailable` | 6 | retry | none | 3 | The numbers are updating; retry in a moment. |
502
+ | `service_account_key_invalid` | 1 | fix_and_retry | none | | Send a valid service account key. |
503
+ | `service_account_needs_access_role` | 1 | fix_and_retry | none | | Pick at least one access role for the service account. |
504
+ | `service_credential_exists` | 1 | fix_and_retry | none | | Rotate the service account's credential for this warehouse to get a new password. |
505
+ | `service_not_available` | 1 | ask_human | none | | This feature is not part of this Databay product; ask support if you need it. |
506
+ | `service_required` | 1 | fix_and_retry | none | | Call the public route instead; this one accepts only Databay's own services. |
507
+ | `service_updating` | 6 | retry | none | 6 | Databay is updating; retry in a minute. |
508
+ | `session_revoke_failed` | 6 | retry | partial | 3 | Retry in a moment; the change is completed automatically once sign-out succeeds. |
509
+ | `setup_script_not_found` | 1 | fix_and_retry | none | | Set the source up by hand; this type has no setup script. |
510
+ | `setup_step_unknown` | 1 | fix_and_retry | none | | Ask for one of the steps the answer lists. |
511
+ | `share_busy` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
512
+ | `share_in_use` | 1 | do_first | none | | Delete or move those pipelines first; paused pipelines count too. |
513
+ | `share_not_found` | 1 | fix_and_retry | none | | List the resource's shares and pick one of them. |
514
+ | `shared_readers_disabled` | 1 | fix_and_retry | none | | Create the pipe without reader_id; it then gets a reader of its own. |
515
+ | `shop_domain_invalid` | 1 | fix_and_retry | none | | Send shop as <store>.myshopify.com. |
516
+ | `shop_not_found` | 1 | ask_human | none | | Install the app on a Shopify store first. |
517
+ | `shopify_app_not_installed` | 1 | ask_human | none | | Install the app for the shop. |
518
+ | `shopify_hmac_invalid` | 1 | fix_and_retry | none | | Send the request with a valid Shopify HMAC. |
519
+ | `shopify_install_failed` | 6 | retry | unknown | 2 | Retry the install; contact support if it fails again. |
520
+ | `shopify_session_invalid` | 1 | do_first | none | | Reload the app in Shopify admin to get a new session. |
521
+ | `shopify_shop_info_unavailable` | 6 | retry | none | 3 | Retry in a moment. |
522
+ | `shopify_sign_in_failed` | 1 | ask_human | none | | Reinstall the app. |
523
+ | `shopify_source_undeletable` | 1 | ask_human | none | | Uninstall the app from Shopify to remove this source. |
524
+ | `shopify_store_not_found` | 1 | fix_and_retry | none | | Check the store's address, then try again. |
525
+ | `sibling_being_removed` | 6 | retry | none | 3 | Retry in a few minutes; another account of this type is still being removed. |
526
+ | `sign_in_rate_limited` | 6 | retry | none | 1 | Check the key's secret, then retry after the Retry-After interval. |
527
+ | `sink_column_type_required` | 1 | fix_and_retry | none | | Retry without sink_column_type; the warehouse picks the column type. |
528
+ | `sink_in_use` | 1 | do_first | none | | Delete the pipelines listed in pipes first. |
529
+ | `sink_not_found` | 1 | fix_and_retry | none | | List the warehouses and pick one you can see. |
530
+ | `sink_not_ready` | 1 | do_first | none | | Wait until the destination warehouse is ready (retry it if it failed), then create the pipe again. |
531
+ | `sink_provision_failed` | 6 | retry | unknown | 2 | Connect again; contact support if it keeps failing. |
532
+ | `sink_user_exists` | 1 | fix_and_retry | none | | Renew your warehouse user's password instead. |
533
+ | `slot_release_failed` | 1 | ask_human | partial | | Check that the source database is reachable, then release the pipe again. |
534
+ | `source_check_run_active` | 6 | retry | none | 3 | Wait for the running check to finish, then read its result or check again. |
535
+ | `source_check_run_not_found` | 1 | do_first | none | | Check the source again to get a new result. |
536
+ | `source_check_unreachable` | 6 | retry | none | 3 | Retry once the source database can be reached. |
537
+ | `source_connection_failed` | 1 | fix_and_retry | none | | Check the connection details and credentials for the failure detail names, then try again. |
538
+ | `source_currency_unknown` | 1 | do_first | none | | Try again once the store's data has synced; contact support if it persists. |
539
+ | `source_deleting` | 1 | fix_and_retry | none | | Pick another source; this one is being deleted. |
540
+ | `source_has_live_pipes` | 1 | fix_and_retry | none | | Send settings Databay can connect with; pipelines use this source. |
541
+ | `source_host_changed_live_pipe` | 1 | do_first | none | | Delete and re-create the pipe to stream from the new host. |
542
+ | `source_in_use` | 1 | do_first | none | | Delete the pipelines listed in pipes first, or cascade-delete. |
543
+ | `source_name_taken` | 1 | fix_and_retry | none | | Choose a name no other source in your organization uses. |
544
+ | `source_needs_attention` | 1 | ask_human | none | | Fix the setup checks in blocking_requirements on the source database, then check the source again. |
545
+ | `source_needs_reauth` | 1 | ask_human | none | | Reconnect the source to sign in again. |
546
+ | `source_no_stored_pass` | 1 | do_first | none | | Check the source with its active probes, on its Connect step or with the CLI, then create the pipe. |
547
+ | `source_not_connected` | 1 | do_first | none | | Reconnect the source first. |
548
+ | `source_not_renewable` | 1 | do_first | none | | Wait until the source finishes updating; a deleting or uninstalled source cannot be renewed. |
549
+ | `source_not_visible` | 1 | ask_human | none | | Ask a project admin for access to the projects of these sources. |
550
+ | `source_operation_unsupported` | 1 | fix_and_retry | none | | Skip this operation; this source or warehouse type cannot do it. |
551
+ | `source_override_not_offered` | 1 | ask_human | none | | Fix what the check found on the source database, then check the source again. |
552
+ | `source_partition_check_unavailable` | 6 | retry | none | 3 | Retry once the source database can be reached. |
553
+ | `source_partitioned_table_unsupported` | 1 | fix_and_retry | none | | Create one pipe per partition of the table; a partition added later needs a pipe of its own. |
554
+ | `source_pending` | 1 | do_first | none | | Wait for the sources listed in pending to land their first data. |
555
+ | `source_read_timeout` | 6 | retry | none | 3 | Retry; the source database took too long to answer. |
556
+ | `source_refresh_unavailable` | 6 | retry | none | 3 | Retry in a moment. |
557
+ | `source_refresh_used_today` | 1 | do_first | none | | Wait for the daily sync, or refresh again tomorrow. |
558
+ | `source_replica_identity_missing` | 1 | ask_human | none | | Have the database admin give the table a primary key or a replica identity, then create the pipe again. |
559
+ | `source_replication_slots_exhausted` | 1 | ask_human | none | | Have the database admin raise max_replication_slots, or delete a pipe you no longer need on that source. |
560
+ | `source_setup_incomplete` | 1 | ask_human | none | | Fix the setup checks in blocking_requirements on the source database, then check the source again. |
561
+ | `source_table_not_found` | 1 | fix_and_retry | none | | Pick a table the source database has. |
562
+ | `source_teardown_failed` | 1 | ask_human | partial | | Check the source's pipelines and its database, then delete the source again. |
563
+ | `source_type_not_offered` | 1 | fix_and_retry | none | | Pick a source type this deployment offers. |
564
+ | `source_uninstalled` | 1 | ask_human | none | | Reinstall the source's app. |
565
+ | `source_updating` | 6 | retry | none | 5 | Retry once the source reports connected. |
566
+ | `source_wal_level_not_logical` | 1 | ask_human | none | | Have the database admin set wal_level to logical and restart PostgreSQL, then create the pipe again. |
567
+ | `staff_action_unknown` | 1 | fix_and_retry | none | | Pick one of the actions this install lists. |
568
+ | `staff_read_not_served` | 1 | ask_human | none | | Ask an engineer to check which service serves this section on this install. |
569
+ | `staff_read_unavailable` | 6 | retry | none | 3 | Try again in a minute; reading changed nothing. |
570
+ | `staff_reauth_required` | 1 | do_first | none | | Sign in to the staff console again with your one-time code, then retry. |
571
+ | `staff_request_not_found` | 1 | fix_and_retry | none | | Check the request key: no staff change was made under it. |
572
+ | `staff_required` | 1 | do_first | none | | Sign in to the staff console and retry from there. |
573
+ | `stream_not_found` | 1 | fix_and_retry | none | | Pick a stream the source has. |
574
+ | `subscription_changed` | 6 | retry | none | 3 | Retry; the subscription changed while this ran. |
575
+ | `support_delivery_failed` | 6 | retry | none | 2 | Retry; the message was not sent. |
576
+ | `surface_disabled` | 1 | ask_human | none | | Contact support, or whoever runs your Databay server, to turn project scoping on for this surface. |
577
+ | `table_check_unavailable` | 6 | retry | none | 3 | The query was not run; retry in a moment. |
578
+ | `table_checks_failed` | 1 | ask_human | none | | Run the SQL shown for each table named, or remove it from this set, then try again. |
579
+ | `table_not_found` | 1 | fix_and_retry | none | | Pick a table the warehouse has. |
580
+ | `token_invalid` | 3 | do_first | none | | Sign in again, or send a valid API key. |
581
+ | `token_refresh_failed` | 1 | do_first | none | | Sign in again. |
582
+ | `token_rejected` | 1 | fix_and_retry | none | | Check that the token has not expired and has the needed scopes. |
583
+ | `token_stale` | 3 | do_first | none | | Sign in again to get a token with your current roles. |
584
+ | `too_many_currencies` | 1 | fix_and_retry | none | | Filter the card to fewer currencies. |
585
+ | `too_many_properties` | 1 | fix_and_retry | none | | Sync fewer properties in this connection. |
586
+ | `unknown_dataset` | 1 | fix_and_retry | none | | Pick a dataset from the dataset list. |
587
+ | `unknown_feature` | 1 | fix_and_retry | none | | Use a feature name from the feature list. |
588
+ | `unknown_meter` | 1 | fix_and_retry | none | | Use a meter name the plan has. |
589
+ | `unknown_org` | 1 | fix_and_retry | none | | Check the organization name. |
590
+ | `unknown_override_keys` | 1 | fix_and_retry | none | | Check each key in unknown, then skip the ones that do not exist. |
591
+ | `unknown_plan` | 1 | fix_and_retry | none | | List the plans and pick one of them. |
592
+ | `unknown_version` | 1 | fix_and_retry | none | | List the plan's versions and pick one of them. |
593
+ | `unknown_warehouse` | 1 | fix_and_retry | none | | Name only warehouses you have in the SQL. |
594
+ | `unknown_warehouse_schema` | 1 | fix_and_retry | none | | Name one of your warehouses in the schema path. |
595
+ | `unsupported_currency` | 1 | fix_and_retry | none | | Pick another reporting currency. |
596
+ | `unsupported_sink` | 1 | ask_human | none | | Contact support; this source needs a single-node warehouse, which this deployment does not have. |
597
+ | `unsupported_sink_type` | 1 | fix_and_retry | none | | Register a ClickHouse warehouse. |
598
+ | `user_in_other_org` | 1 | fix_and_retry | none | | Invite another email address; a person can belong to one organization only. |
599
+ | `username_missing` | 1 | ask_human | none | | Ask an admin to set a username on your account, then sign in again. |
600
+ | `verification_email_unavailable` | 6 | retry | none | 3 | Try again in a minute. |
601
+ | `version_in_use` | 1 | do_first | none | | Move the subscriptions off this version first. |
602
+ | `version_published` | 1 | do_first | none | | Create a draft from this version and change that instead. |
603
+ | `version_retired` | 1 | fix_and_retry | none | | Use the plan's current version. |
604
+ | `warehouse_credential_rejected` | 1 | ask_human | none | | Ask your org admin to re-run the warehouse access reconcile. |
605
+ | `warehouse_name_unsafe` | 1 | ask_human | none | | Ask your Databay administrator to check this warehouse's database name. |
606
+ | `warehouse_not_in_project` | 1 | fix_and_retry | none | | Pick a warehouse available in this project. |
607
+ | `warehouse_not_queryable` | 1 | fix_and_retry | none | | Pick a warehouse Databay manages on your organization's analytics server; only those can be queried. |
608
+ | `warehouse_not_visible` | 1 | fix_and_retry | none | | Pick a warehouse from this project's list. |
609
+ | `warehouse_required` | 1 | fix_and_retry | none | | Name one of the project's warehouses. |
610
+ | `warehouse_setup_invalid` | 1 | ask_human | none | | Ask your Databay administrator to fix the warehouse settings; retrying will not help. |
611
+ | `warehouse_unavailable` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
612
+ | `warehouses_not_ready` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
613
+ | `webhook_body_invalid` | 1 | fix_and_retry | none | | Send the webhook with every required field. |
614
+ | `webhook_forbidden` | 1 | fix_and_retry | none | | Send alerts from this project instead. |
615
+ | `webhook_replay_unavailable` | 1 | fix_and_retry | none | | Send a new Idempotency-Key to create the webhook again. |
616
+ | `webhook_signature_invalid` | 1 | fix_and_retry | none | | Sign the webhook with the secret shown when the repository was connected. |
617
+ | `webhook_url_undeliverable` | 1 | fix_and_retry | none | | Use a URL this webhook type can deliver to. |
618
+ | `workspace_unavailable` | 6 | retry | none | 3 | Retry after the Retry-After interval. |
619
+ | `wrong_credentials` | 1 | fix_and_retry | none | | Check the username and password, then sign in again. |
620
+
621
+ ## Pipe failure codes
622
+
623
+ A pipe that fails records one of these in `error_code`; a wait that ends on the failure reports it.
624
+
625
+ | Code | Action | Side effects | Max retries | Hint |
626
+ |---|---|---|---|---|
627
+ | `attach_timed_out` | retry | none | 2 | Retry the pipe; if it times out again, check the reader's state on the pipe. |
628
+ | `attach_unsupported_source` | fix_and_retry | none | | Create the pipe without reader_id; it then gets a reader of its own. |
629
+ | `cdc_capture_instance_missing` | ask_human | none | | Enable CDC on the table again, then resync the pipe. |
630
+ | `cdc_capture_stopped` | ask_human | none | | Start SQL Server Agent and the CDC capture job on the source; the pipe then catches up. |
631
+ | `cdc_capture_stopped_azure` | ask_human | none | | Check in Azure that the database isn't paused; the pipe catches up once capture runs. |
632
+ | `cdc_column_missing` | fix_and_retry | unknown | | Add the column back and restart the pipe, or create a new pipe without it. |
633
+ | `cdc_ddl_unparseable` | ask_human | partial | | Contact support with the error reference and the source's sql_mode. |
634
+ | `cdc_engine_config_invalid` | fix_and_retry | unknown | | Set the source's SSL mode to require, disable, verify-ca or verify-full, then restart the pipe. |
635
+ | `cdc_engine_internal_error` | ask_human | unknown | | Contact support with the error reference, then restart the pipe. |
636
+ | `cdc_engine_panic` | ask_human | unknown | | Contact support with the error reference, then restart the pipe. |
637
+ | `cdc_engine_state_invalid` | ask_human | partial | | Contact support to inspect the stored position before the pipe restarts. |
638
+ | `cdc_engine_unavailable` | ask_human | none | | Contact support to change the pipe's replication engine. |
639
+ | `cdc_format_failed` | ask_human | partial | | Contact support with the error reference; the pipe stays stopped. |
640
+ | `cdc_offset_document_unsupported` | ask_human | partial | | Contact support with the error reference; the pipe stays stopped. |
641
+ | `cdc_partition_and_parent_configured` | do_first | unknown | | Delete the pipe on the table or the one on its partition, or re-create it without reader_id. |
642
+ | `cdc_partition_published_under_own_name` | ask_human | unknown | | Have the database admin set publish_via_partition_root on the publication, then resync the pipe. |
643
+ | `cdc_partition_published_under_parent` | ask_human | unknown | | Have the database admin remove the parent from the publication, or create the pipe on the parent. |
644
+ | `cdc_partitioned_table_unsupported` | ask_human | unknown | | Upgrade the source to Postgres 13 or newer, or create one pipe for each partition. |
645
+ | `cdc_publication_privilege_missing` | ask_human | unknown | | Have the database admin make the source user the table's owner with CREATE, then restart the pipe. |
646
+ | `cdc_publication_tables_missing` | ask_human | unknown | | Have the database admin add the table to the publication, then restart the pipe. |
647
+ | `cdc_record_malformed` | ask_human | partial | | Contact Databay support with the error reference, then restart the pipe once they confirm a fix. |
648
+ | `cdc_replication_privilege_missing` | ask_human | unknown | | Have the database admin give the source user the replication privilege, then restart the pipe. |
649
+ | `cdc_schema_bootstrap_unstable` | retry | none | 3 | Let the schema changes on the replicated tables finish, then retry the pipe. |
650
+ | `cdc_schema_history_invalid` | ask_human | partial | | Contact support with the error reference; resetting the pipe takes a new snapshot. |
651
+ | `cdc_schema_retype_unsupported` | do_first | partial | | Rebuild the pipe's table with the new type, or change the source column back, then restart the pipe. |
652
+ | `cdc_select_privilege_missing` | ask_human | unknown | | Have the database admin grant the source user SELECT on the table, then restart the pipe. |
653
+ | `cdc_sink_rejected` | ask_human | partial | | Contact support with the error reference; the pipe stays stopped until the cause is fixed. |
654
+ | `cdc_slot_mismatch` | do_first | unknown | | Delete and re-create the pipe so it gets a replication slot of its own. |
655
+ | `cdc_snapshot_key_not_indexed` | fix_and_retry | unknown | | Add a unique index on the table's key columns, then restart the pipe. |
656
+ | `cdc_snapshot_start_unstable` | retry | none | 3 | Let the schema changes on the replicated tables finish, then retry the pipe. |
657
+ | `cdc_source_auth_unsupported` | ask_human | unknown | | Have the database admin use a supported sign-in method for the source user, then restart the pipe. |
658
+ | `cdc_source_database_missing` | fix_and_retry | unknown | | Correct the source's database name, then restart the pipe. |
659
+ | `cdc_source_login_rejected` | ask_human | unknown | | Have the database admin allow the source user to connect from Databay, then restart the pipe. |
660
+ | `cdc_source_message_too_large` | ask_human | partial | | Contact support to raise the limit or to leave out the oversized columns. |
661
+ | `cdc_source_privilege_missing` | ask_human | unknown | | Have the database admin give the source user what the source setup guide lists, then restart the pipe. |
662
+ | `cdc_source_rejected` | ask_human | unknown | | Have the database admin fix the source setting the error names, then restart the pipe. |
663
+ | `cdc_source_setting_invalid` | ask_human | unknown | | Have the database admin apply the binlog settings the error lists, then restart the pipe. |
664
+ | `cdc_source_stream_invalid` | ask_human | partial | | Contact support with the error reference; the pipe stays stopped. |
665
+ | `cdc_source_table_missing` | fix_and_retry | unknown | | Restore the table or grant the source user SELECT on it, then restart the pipe. |
666
+ | `cdc_source_type_unsupported` | fix_and_retry | unknown | | Create a new pipe that leaves the column out, or ask support to replicate unknown types as text. |
667
+ | `cdc_table_key_mismatch` | fix_and_retry | unknown | | Create a new pipe keyed by the table's primary key, or have the admin re-enable CDC on the pipe's key. |
668
+ | `cdc_table_key_missing` | fix_and_retry | unknown | | Add a primary key to the table and restart the pipe, or create a new pipe with a replication key. |
669
+ | `changes_expired` | do_first | partial | | Resync the pipe (a rebuild from the snapshot source) to copy the table again. |
670
+ | `column_type_unsupported` | fix_and_retry | unknown | | Create a new pipe that leaves the column out, or cast it to text in a view. |
671
+ | `config_rejected` | fix_and_retry | none | | Review the pipe's source, destination and replication key, then create it again. |
672
+ | `consumer_progress_missing` | do_first | partial | | Resync the pipe to copy the table again, and send the error reference to support. |
673
+ | `decimal_too_wide` | fix_and_retry | unknown | | Create a new pipe that leaves the column out, or cast it to a narrower type in a view. |
674
+ | `dest_schema_rejected` | fix_and_retry | unknown | | Point the pipe at a new destination table, or drop the existing table if you no longer need its data. |
675
+ | `dest_unreachable` | retry | unknown | 3 | Retry the pipe; if it keeps failing, check the destination warehouse's connection details. |
676
+ | `destination_table_incompatible` | fix_and_retry | none | | Drop or rename the existing destination table and restart the pipe, or land it under another name. |
677
+ | `file_cells_limit_reached` | fix_and_retry | none | | Remove rows or columns from the tab or split it, then upload it again. |
678
+ | `file_rows_limit_reached` | fix_and_retry | none | | Remove rows from the tab or split it into smaller files, then upload it again. |
679
+ | `file_tab_missing` | fix_and_retry | none | | Upload a file that has the pipe's tab; the pipe runs again once it is confirmed. |
680
+ | `file_unavailable` | do_first | none | | Upload the file to the source again; the pipe runs once it is confirmed. |
681
+ | `file_unreadable` | fix_and_retry | none | | Fix the named tab or the file settings, then upload the file again. |
682
+ | `file_value_type_mismatch` | fix_and_retry | none | | Fix the value at the named tab, row and column, then upload the file again. |
683
+ | `ingest_dependency_unavailable` | retry | none | 3 | Wait for the pipe to retry on its own; nothing needs changing. |
684
+ | `internal_unclassified` | ask_human | unknown | | Send the error reference to Databay support. |
685
+ | `lane_spill_exhausted` | do_first | partial | | Resync the pipe to copy the table again; contact support if it happens again. |
686
+ | `lane_stalled` | do_first | partial | | Check the pipe's errors, then resync the pipe to copy the table again. |
687
+ | `mask_failed` | fix_and_retry | partial | | Check that the masked columns still exist at the source, then restart the pipe. |
688
+ | `new_columns_untracked` | fix_and_retry | none | | Set the pipe to add new columns automatically, or turn schema change tracking on, then restart it. |
689
+ | `pipe_not_provisioned` | retry | unknown | 5 | Wait for provisioning to finish and retry; if the pipe stays in this state, delete and re-create it. |
690
+ | `pipe_shares_reader` | do_first | none | | Delete or move the other pipes of the reader first. |
691
+ | `publication_drift` | ask_human | partial | | Have the database admin add the table back to the publication, then resync the pipe to fill the gap. |
692
+ | `publication_missing` | do_first | partial | | Re-create the pipe so Databay can set the source up again. |
693
+ | `reader_engine_mismatch` | fix_and_retry | none | | Create the pipe without reader_id, or switch the reader to this pipe's engine first. |
694
+ | `reader_full` | fix_and_retry | none | | Create the pipe without reader_id to give it a reader of its own. |
695
+ | `reader_scope_required` | fix_and_retry | none | | Send the request again with "scope": "reader"; the answer lists the pipes it changes. |
696
+ | `replication_key_outside_identity` | fix_and_retry | none | | Choose a replication key within the reader's identity columns, or create the pipe without reader_id. |
697
+ | `replication_service_unavailable` | retry | unknown | 3 | Retry the pipe once the replication service is back; send the error reference to support if it persists. |
698
+ | `replication_slot_lost` | do_first | partial | | Delete and re-create the pipe for a fresh snapshot, then backfill the rows changed while it was stopped. |
699
+ | `resync_required` | do_first | none | | Resync the pipe (a rebuild from the snapshot source) to copy the table again. |
700
+ | `saas_auth_expired` | ask_human | unknown | | Reconnect the source, then sync again. |
701
+ | `schema_incompatible` | fix_and_retry | partial | | Rebuild the pipe's table, or revert the source change, then restart the pipe. |
702
+ | `selection_invalid` | fix_and_retry | none | | Create a new pipe with a primary key or with columns the source has, into a new destination table. |
703
+ | `shared_readers_disabled` | fix_and_retry | none | | Create the pipe without reader_id; it then gets a reader of its own. |
704
+ | `shopify_protected_data_not_approved` | ask_human | unknown | | The app owner must get Shopify's approval for protected customer data; syncing resumes then. |
705
+ | `signal_table_denied` | ask_human | unknown | | Ask the database administrator to grant the source user CREATE on that schema, then retry the pipe. |
706
+ | `source_auth_failed` | fix_and_retry | unknown | | Update the source's username and password, then retry the pipe. |
707
+ | `source_binlog_status_unreadable` | ask_human | none | | Ask the database administrator to grant REPLICATION CLIENT to Databay's user, then restart the pipe. |
708
+ | `source_cdc_cleanup_passed` | ask_human | none | | Raise the source's CDC cleanup retention, then resync the pipe to copy the table again. |
709
+ | `source_column_reserved` | fix_and_retry | none | | Rename the source column, or create a new pipe that leaves it out. |
710
+ | `source_database_dropped` | do_first | partial | | Once the database is back, resync the pipe (a rebuild from the snapshot source) to copy it again. |
711
+ | `source_host_changed_live_pipe` | do_first | partial | | Delete and re-create the pipe to stream from the new host. |
712
+ | `source_host_not_allowed` | fix_and_retry | unknown | | Point the source at your database's own public or private address, then retry the pipe. |
713
+ | `source_permission_denied` | ask_human | unknown | | Ask the database administrator to grant the privilege the error names, then retry the pipe. |
714
+ | `source_replica_identity_missing` | ask_human | none | | Have the database admin give the table a primary key or a replica identity, then create the pipe again. |
715
+ | `source_replication_slots_exhausted` | ask_human | none | | Have the database admin raise max_replication_slots or free a slot, then restart the pipe. |
716
+ | `source_tls_rejected` | fix_and_retry | unknown | | Check the source's SSL mode and certificate, then retry the pipe. |
717
+ | `source_too_many_connections` | retry | unknown | 3 | Retry the pipe; if it keeps failing, free connections or raise max_connections on the source. |
718
+ | `source_unreachable` | retry | unknown | 3 | Retry the pipe; if it still cannot connect, check the source's host, port and firewall rules. |
719
+ | `source_wal_level_not_logical` | ask_human | none | | Have the database admin set wal_level to logical and restart PostgreSQL, then create the pipe again. |
720
+ | `subscriber_detached` | do_first | partial | | Fix the cause shown with the code, then resync the pipe to copy the table again. |
721
+ | `table_check_drift` | do_first | partial | | Resync the pipe to see what the table needs; once that's fixed, the resync fills the gap. |
722
+ | `table_quarantined` | do_first | partial | | Fix the cause shown with the code, then resync the pipe to copy the table again. |
723
+ | `topic_produce_failing` | do_first | partial | | Resync the pipe to copy the table again; contact support if it happens again. |
724
+ | `topic_produce_rejected` | ask_human | partial | | Contact support to fix the pipe's topic, then resync the pipe to copy the table again. |
725
+ | `transform_failed` | fix_and_retry | partial | | Fix or revert the transform, then restart the pipe; it resumes from where it stopped. |
726
+ | `transform_runtime_unavailable` | retry | unknown | 3 | Wait and retry; the pipe runs once the transform engine is back. |
727
+ | `warehouse_version_too_old` | fix_and_retry | unknown | | Upgrade the warehouse to ClickHouse 25.12 or later and restart the pipe, or leave the column out. |