X Setup

Connect X with your own OAuth 1.0a app keys, and post as a brand account instead of the developer account that owns the keys.

X publishes through your own X developer app. You paste the app's OAuth 1.0a Consumer Key and Consumer Key Secret, then choose which account posts: a brand account you authorize with Connect, or the account that owns the app. Open the X channel from Distribution → Channels.

X API posting is pay-per-use. It costs about $0.015 per post, or $0.20 when the post contains a link, so keeping posts link-free is about 13 times cheaper.

1. Create the App

  1. Go to console.x.com, sign in, and create a Project and an App.
  2. Open User authentication settings → Set up.
  3. Set App permissions to Read and write.
  4. Set Type of App to Web App, Automated App or Bot.
  5. Add http://127.0.0.1:53682/callback as a Callback URI. This is required for Connect.
  6. Save. Skip the Client ID and Client Secret the page shows next. 1MarketingTool uses OAuth 1.0a, not OAuth 2.0.

2. Paste the Consumer Keys

In Keys & Tokens → OAuth 1.0 Keys, copy the two app keys into the X channel and save:

Field in 1MarketingToolWhere it comes from
Consumer KeyOAuth 1.0a Consumer Key. Not the OAuth 2.0 Client ID.
Consumer Key SecretOAuth 1.0a Consumer Key Secret. Not the OAuth 2.0 Client Secret.
Access Token / Access Token SecretOptional. Only needed when you post as the app owner (step 3b).

Also fill Account Handle (for example @yourbrand) and set X post length to Standard - 280 characters or Premium / Premium+ - 25,000 characters to match the account.

3a. Post as a Brand Account with Connect

Use this when the account you want to post from is not the developer account that owns the app, for example posting as @yourbrand with keys registered under your personal login.

  1. Save the Consumer Key pair first.
  2. Click Connect.
  3. Open the link in a browser that is already signed in to the account you want to post as, and approve the app.
  4. Run Test connection. It should show that account's @handle.

The tokens X returns are stored on this device. Do not use Generate under Access Token in the X console for this account. Generating a token there always gives you a token for the app owner.

3b. Post as the App Owner

If you only ever post as the account that owns the app, you can skip Connect. In Keys & Tokens → Access Token, click Generate, check that it says Read and Write, and paste the token and secret into Access Token and Access Token Secret.

Posting Rules

  • Standard posts are 280 characters. Premium and Premium+ accounts can post up to 25,000 characters once X post length is set to match.
  • A post can carry up to 4 images or one video. X does not mix images and video in one post.

Troubleshooting

ErrorFix
Read-only, or "not permitted to"The app or token is still Read-only. Set App permissions to Read and write, then reconnect or regenerate the access token.
"Could not authenticate", invalid or expired token, 401The keys are wrong or from the wrong section. Use the OAuth 1.0 Keys, not the OAuth 2.0 Client ID and Secret.
HTTP 402, no API creditsThis is X billing, not a broken key. Add credits at console.x.com → Billing → Credits. Event subscriptions is for webhooks, not credits. If Billing already shows a balance, the keys belong to a different developer account, or the app is still in Development: open the app that matches the keys, switch it to Production, and retry.

Next