{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/ConnectionOptionsTwitter", "title": "ConnectionOptionsTwitter", "description": "Options for the 'twitter' connection", "type": "object", "additionalProperties": true, "allOf": [ { "$ref": "#/components/schemas/ConnectionOptionsCommon" }, { "type": "object", "properties": { "client_id": { "$ref": "#/components/schemas/ConnectionOptionsClientIdTwitter" }, "client_secret": { "$ref": "#/components/schemas/ConnectionOptionsClientSecretTwitter" }, "freeform_scopes": { "$ref": "#/components/schemas/ConnectionScopeArray" }, "protocol": { "$ref": "#/components/schemas/ConnectionOptionsProtocolEnumTwitter" }, "scope": { "$ref": "#/components/schemas/ConnectionOptionsScopeTwitter" }, "set_user_root_attributes": { "$ref": "#/components/schemas/ConnectionSetUserRootAttributesEnum" }, "upstream_params": { "$ref": "#/components/schemas/ConnectionUpstreamParams" } } }, { "type": "object", "properties": { "offline_access": { "type": "boolean", "description": "Request long-lived refresh tokens so your app can act on behalf of users even when they\u2019re not actively signed in. Typical Twitter use case: keeping a background service synced without forcing users to reauthorize every session." }, "profile": { "type": "boolean", "const": true, "description": "Pull account profile metadata such as display name, bio, location, and URL so downstream apps can prefill or personalize user experiences." }, "tweet_read": { "type": "boolean", "const": true, "description": "Allow the application to read a user\u2019s public and protected Tweets\u2014required for timelines, analytics, or moderation workflows." }, "users_read": { "type": "boolean", "const": true, "description": "Read non-Tweet user information (e.g., followers/following, account settings) to power relationship graphs or audience insights." } } } ] }