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 Cause | Solution |
| Incorrect email | You may be trying to log in to the wrong subdomain. |
| Wrong subdomain | Ensure the URL matches your organisation's subdomain (e.g., acme.app.titanrdm.com). Each account has its own login page. |
| Browser too old | TitanRDM 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.
My magic link didn't arrive
- 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 Cause | Solution |
| Table has no data | Add rows manually or import a data file |
| Active filter hiding rows | Clear all filters using the column header filter icons |
| Wrong branch selected | Switch to the correct branch using the branch switcher in the top bar |
| Table not yet deployed | Deploy 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:
| Cause | Solution |
| File format not supported | Use CSV, Excel (.xlsx), JSON, or Parquet |
| Column names don't match | Create or update an import mapping to map file columns to table columns |
| Data type mismatch | Ensure file data matches column types (e.g., dates in the correct format) |
| Required column missing | Ensure all is_required columns have values in the import file |
| Primary key violation | Duplicate 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 Message | Cause | Solution |
Invalid token | Token expired, revoked, or malformed | Request a new access token |
Invalid resource owner | User associated with token no longer exists | Create a new OAuth application or use Client Credentials |
Token/user account mismatch | Token's app and user belong to different accounts | Ensure the OAuth application belongs to the same account as the user |
Tenant context not set | No valid authentication provided | Include 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 Cause | Solution |
| Branch has open child branches | Close or re-parent child branches first |
Branch is the default prod branch | The production branch cannot be deleted |
| Insufficient permissions | You 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
Related Pages
- Permissions — understanding access control
- Billing and Usage — subscription and payment issues
- API Overview — API error codes and response format
- Authentication — OAuth token troubleshooting