Troubleshooting

Common problems, their causes, and how to resolve them. If your issue is not listed here, contact TitanRDM support.


Authentication and Login

I can't log in

Possible CauseSolution
Incorrect emailYou may be trying to log in to the wrong subdomain.
Wrong subdomainEnsure the URL matches your organisation's subdomain (e.g., acme.app.titanrdm.com). Each account has its own login page.
Browser too oldTitanRDM requires a modern browser that supports WebP images, CSS nesting, and import maps. Update to the latest version of Chrome, Firefox, Safari, or Edge.

I was redirected to a different URL after logging in

TitanRDM automatically redirects users to their account's subdomain. If you log in at the wrong subdomain, you will be redirected to your correct tenant URL. This is expected behaviour.

  • Check your spam/junk folder
  • Ensure the email address matches your TitanRDM account exactly
  • Magic links expire after a short period — request a new one if too much time has passed

Permissions and Access

"You are not authorized to perform this action"

You lack the required permission for the action you attempted. Permissions are granted via user groups, not directly to users.

Resolution: 1. Ask your Account Administrator to add you to the appropriate user group 2. Check Permissions to understand which group grants the action you need

Common scenarios: - Editing data — you need membership in the table's "Data Manager" group or a domain/branch "Developer" group - Deploying tables — you need "Developer" permission on the branch - Approving deployments/promotions — you need "Approver" permission on the target branch - Managing users or account settings — you need membership in the "Account Administrator" group

End User cannot access a feature

End Users have a restricted license type. They cannot: - Create, edit, or delete table definitions or columns - Run deployments or promotions - Use the API - Manage OAuth applications

If the user needs these capabilities, an Account Administrator must change their license type to Developer in Managing Users.


Billing and Subscription

"Your account has an overdue payment"

Your account has entered read-only mode because a payment has failed and the 7-day grace period has elapsed. You can still view data, but all create, update, and delete operations are blocked.

Resolution: 1. Navigate to Account Settings > Billing Portal 2. Update your payment method in Stripe 3. Once the payment succeeds, full access is restored automatically via webhook

"Plan seat limit reached" when adding a user

Your account has reached the maximum number of users for your current plan.

Resolution: - Upgrade to a higher plan with more seats, or - Remove an existing user to free a seat, or - Enable overage billing to allow additional seats at the overage rate

See Billing and Usage.

Cannot disable overage billing

If your current usage exceeds your plan's limits (e.g., storage is over the plan allowance), you cannot disable overage billing until usage falls below the limit. Reduce usage first, then try again.

"Unable to connect to payment provider"

TitanRDM could not reach the Stripe API. This is usually a temporary issue.

Resolution: Wait a few minutes and try again. If the problem persists, contact support.


Table Definitions and Columns

"Requires Deployment" badge won't go away

This badge appears whenever a table definition or its columns have been modified since the last deployment. The only way to clear it is to run a successful deployment.

Resolution: Deploy the table. See Deploying Changes.

Cannot delete a table that is referenced by other tables

If other tables have foreign key columns pointing to your table, you cannot remove it.

Resolution: 1. Find the referencing tables (the error message lists them) 2. Remove or change the foreign key columns in those tables first 3. Deploy the referencing tables 4. Then remove the original table

Column name validation error

Column names must: - Begin with a letter or underscore - Contain only letters, digits, or underscores - Be unique within the table (among non-deleted columns)

Resolution: Rename the column to follow these rules.

Table name validation error

Table names must: - Begin with a letter or underscore - Be unique within the same branch and domain


Deployments

Deployment failed

Deployments can fail if the underlying SQL DDL changes encounter a database error (e.g., incompatible column type change, data truncation).

Resolution: 1. Review the error message on the deployment detail page 2. Fix the table definition to address the issue (e.g., widen the column length before changing types) 3. Create a new deployment and try again

"No approvers found for the branch"

You tried to send a deployment request for approval, but no users have approve permission on the target branch.

Resolution: Ask an Account Administrator to assign users to the branch's "Approver" user group.

Deployment stuck in "created" status

The deployment has been created but not yet executed or sent for approval.

Resolution: - If approval is not required, click Deploy to execute immediately - If approval is required, click Send Request to notify approvers - If the deployment is no longer needed, click Abandon to cancel it


Promotions

"This feature requires Business or Enterprise plan"

Branching and promotions are only available on Business and Enterprise plans.

Resolution: Upgrade your plan in Account Settings > Change Plan. See Plans and Tiers.

Promotion shows no tables to promote

The promotion workflow only shows tables in the working set — tables with has_been_promoted = false. If all tables have already been promoted, no candidates appear.

Resolution: - Make changes to table definitions on the source branch - Deploy those changes - The modified tables will appear in the working set for promotion

Promotion failed

Similar to deployment failures, promotions can fail if the clone or diff operation encounters an error.

Resolution: 1. Review the error message on the promotion detail page 2. Fix any issues on the source branch 3. Create a new promotion and try again


Data Grid

Data grid shows no rows

Possible CauseSolution
Table has no dataAdd rows manually or import a data file
Active filter hiding rowsClear all filters using the column header filter icons
Wrong branch selectedSwitch to the correct branch using the branch switcher in the top bar
Table not yet deployedDeploy the table definition first — data can only exist in deployed tables

Changes aren't saving in the grid

  • Check for validation errors (highlighted cells or error messages)
  • Ensure you have data manager permission on the domain/table or develop permission on the branch
  • Verify the account is not in read-only mode due to overdue billing

Foreign key dropdown shows no options

The lookup dropdown for a foreign key column is empty.

Resolution: 1. Ensure the referenced table is deployed on the same branch 2. Ensure the referenced table has data 3. Ensure the referenced table has a lookup display column set (check the table definition) 4. Ensure the referenced table has at least one primary key column defined


Imports

Import failed for one or more tables

Check the import detail page for per-table status and error messages. Common causes:

CauseSolution
File format not supportedUse CSV, Excel (.xlsx), JSON, or Parquet
Column names don't matchCreate or update an import mapping to map file columns to table columns
Data type mismatchEnsure file data matches column types (e.g., dates in the correct format)
Required column missingEnsure all is_required columns have values in the import file
Primary key violationDuplicate primary key values in the file

Import stuck in "created" status

The import has been created but no files have been uploaded or the upload hasn't been signalled as complete.

Resolution (API): Call the upload_complete endpoint after all files are uploaded. See SDK Imports and Exports.


Exports

Export stuck in "processing"

Large tables may take several minutes to export.

Resolution: - Wait and poll the export status periodically - If stuck for more than 1 hour, contact support - Consider using incremental exports for large tables

Incremental export returns no rows

The high_water_mark timestamp may be set to a time after all data modifications.

Resolution: Use an earlier timestamp, or use full pattern to export all rows.


API

401 Unauthorized

Error MessageCauseSolution
Invalid tokenToken expired, revoked, or malformedRequest a new access token
Invalid resource ownerUser associated with token no longer existsCreate a new OAuth application or use Client Credentials
Token/user account mismatchToken's app and user belong to different accountsEnsure the OAuth application belongs to the same account as the user
Tenant context not setNo valid authentication providedInclude Authorization: Bearer {token} header

402 Payment Required

The account has overdue billing. Write operations are blocked.

Resolution: Update the payment method in the billing portal. Read (GET) operations still work.

403 Forbidden / "Insufficient scope"

The OAuth token does not have the required scope for the requested action.

Resolution: 1. Edit the OAuth application to include the needed scope 2. Request a new token with the correct scope in the scope parameter

See Authentication.

429 Too Many Requests

The account has exceeded its monthly API call limit.

Resolution: - Wait until the next billing period for the limit to reset - Upgrade to a higher plan with a larger API call allowance - Enable overage billing to continue at the overage rate

"This endpoint requires user context"

You used the Client Credentials flow but the endpoint requires a specific user (e.g., deployments, promotions).

Resolution: Use the Authorization Code flow instead to authenticate as a specific user. See Authentication.


OAuth Applications

Lost the Client Secret

The Client Secret is shown only once at creation and cannot be retrieved afterwards.

Resolution: 1. Navigate to the OAuth application's detail page 2. Click Regenerate Secret 3. Copy the new secret immediately 4. Update all integrations using this application with the new secret

Tokens stop working after secret regeneration

Existing tokens continue to work until they expire (default 2 hours). However, new token requests must use the new secret.

Resolution: Update the secret in your integration's configuration and request a new token.


Branches

Cannot delete a branch

Possible CauseSolution
Branch has open child branchesClose or re-parent child branches first
Branch is the default prod branchThe production branch cannot be deleted
Insufficient permissionsYou need "develop" permission on the branch

"Upgrade to Business or Enterprise for development branching"

Creating, editing, or deleting branches (other than the default prod) requires a Business or Enterprise plan.

Resolution: Upgrade your plan. See Plans and Tiers.


Account Setup

Account activation is taking a long time

Account activation creates a tenant database, schemas, and initial data. This typically completes within a few seconds, but may take longer during high-demand periods.

Resolution: Refresh the page after 30 seconds. If activation hasn't completed after 5 minutes, contact support.

"Payment was processed but there was an error activating your account"

A rare edge case where Stripe payment succeeded but account activation encountered an error.

Resolution: Contact TitanRDM support with your account subdomain and email. Your payment has been captured and the team will complete activation manually.


General

Page loads slowly or shows errors

  • Clear your browser cache and refresh
  • Ensure you're using a modern, supported browser
  • Check your internet connection
  • If the issue persists, try a different browser or incognito/private window

I need help with something not listed here

Contact TitanRDM support: - Email: support@titanrdm.com - Include your account subdomain, the steps you took, and any error messages