X (Twitter)
X charges per post and per analytics read. Bring your own X developer app to publish at no credit cost, or use PostGate’s app and draw down your workspace credit balance.
Capabilities at a glance
Connect X (Twitter)
Create the hosted connection URL on your server. The customer completes OAuth or the provider-specific credential form directly on PostGate.
curl -X POST https://postgate.studio/api/profiles/connect \
-H "Authorization: Bearer $POSTGATE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"platform": "x",
"profile_group_id": "grp_acme123",
"return_url": "https://app.example.com/settings/social"
}'Publish to X (Twitter)
Use the connected profile ID as the target. Provider-specific fields live under post.options.x so the unified envelope remains stable.
{
"post": {
"body": "Launch day."
},
"profiles": [
"pro_x123"
],
"media": [
"med_01JXYZ"
]
}Media and content limits
PostGate validates the request at creation and again at delivery. Account-level provider limits can be narrower than the general contract.
Operational notes
These constraints affect approval, connection health, or delivery behavior for this provider.
Requires an X developer app with OAuth 1.0a enabled (the "API Key"/"API Key Secret" consumer credentials, not the OAuth 2.0 client id/secret).
Pay-per-use: house-key connections draw down the workspace credit balance; bring your own app to publish at no credit cost.
Duplicate content is rejected by X, not by PostGate.
Access tokens do not expire; reconnection is only needed if the user revokes access on X.
GET /api/platforms. A provider appears only when it is enabled and configured for the current workspace.