Set up your own
X Ads API app.
This guide walks you through creating an X (formerly Twitter) developer app and wiring it to VelaReach. The technical setup is about 10 minutes, but X Ads API access also requires a separately-approved Ads API application on your X developer account before any of this will work.
- · Your Ads API application has already been approved by X
- · You want OAuth consent screens to display your own brand
- · You need API request quota independent of VelaReach’s shared app
- · Your security team requires tokens to live in your own developer account
- · You haven’t applied for (or been approved for) Ads API access yet
- · Your Ads API application is still under review
- · You only need to read X data occasionally for reporting
- · You want to be connected in the next 60 seconds
Before you begin
- An X Developer Portal account at developer.x.com/en/portal/dashboard.
- An active X API access plan on your developer account — Free, Basic, Pro, Enterprise, or the new pay-per-use credits model all work as the underlying tier for Ads API applications.
- An approved Ads API application — this is a separate manual review step by X. You’ll need a written use-case justification and X typically takes 2–4 weeks to review.
- Your VelaReach workspace already created and you’re logged in as an admin.
Verify you have Ads API access
Sign in to developer.x.com/en/portal/products. Your current X API access plan is shown at the top of the page, and below it the list of add-on products. On the Ads API row you should see Approved rather than Apply.
If the Ads API row doesn’t say “Approved”, stop here and submit the application first.
Create a Project in the Developer Portal
X organises everything into Projects, which contain Apps. From the dashboard, click Projects & Apps in the left sidebar, then + New Project. Name the project something recognisable like VelaReach-YourCompanyName, choose Making a bot or Building tools for businesses as the use case, and write a short description.
Projects group your Apps and inherit the Ads API access from your tier.
Create an App inside the Project
On the project setup screen, click + Add App. Give it a name (X requires this to be globally unique — if VelaReach-Acme is taken, try VelaReach-Acme-Prod). X will immediately show you a one-time set of API keys — you can ignore those for now since BYO uses OAuth 2.0, not API keys.
Enable OAuth 2.0 in User authentication settings
Open your new App and click User authentication settings → Set up. This is where you turn on OAuth 2.0 (the modern flow VelaReach uses) and tell X about the redirect URL.
Set App permissions to Read and write. Set Type of App to Web App, Automated App or Bot.
You must enable OAuth 2.0 explicitly — the older OAuth 1.0a flow is not what VelaReach uses.
Add the VelaReach redirect URL
On the same authentication settings page, find the Callback URI / Redirect URL field and paste this exact URL:
Also fill in the Website URL field (X requires it — https://velareach.metaminds.store works fine). Click Save.
Confirm the OAuth 2.0 scopes
OAuth 2.0 scopes are not configured per-app on X — they’re requested at the time of the OAuth flow. VelaReach will request the following scopes when the user consents, and X will display them on the approval screen:
- · ads.read — read campaign and creative metadata
- · ads.write — create and update campaigns (for automation rules)
- · tweet.read — required by X to access ad post content
- · users.read — identify the connecting user
- · offline.access — issue a refresh token so we can renew without re-prompt
Copy your Client ID and Client Secret
Open the Keys and tokens tab on your App. Scroll down to the OAuth 2.0 Client ID and Client Secret section. Click Regenerate if this is your first time and you don’t see a secret — X only shows the secret once, immediately after generation.
Save the secret immediately — X will not show it again. If you lose it, you must regenerate.
Paste credentials into VelaReach and reconnect
Back in VelaReach: Settings → Integrations → click the X Ads card → Manage → Advanced tab → Set up BYO app. The 4-step wizard opens. Click past Intro and Guide, then on Step 3 paste the Client ID and Client Secret from the previous step.
Click Test & save. VelaReach makes a live call to the X API with your credentials and runs 5 validation checks inline. You should see green check marks across the board, then click Reconnect now → to run the OAuth flow.
After reconnecting, what changes?
- · All historical spend, impressions, and ROAS data
- · Your picker selection (which ad accounts are tracked)
- · Automation rules and budget pacing configs
- · Scheduled reports and Slack notifications
- · Every tag, filter, and saved view
- · OAuth tokens revoked and re-minted via your app
- · Card shows violet BYO app pill
- · Consent screen on future reconnects displays your app name
- · Audit log records who switched and when
- · API calls count against your app’s rate limits