openapi: 3.2.0 info: description: Read public social data through one API contract. API keys starting with oh_test_ use the deterministic synthetic dataset and record a $0.000 actual charge. Keys starting with oh_live_, plus legacy oh_ keys, use real public data and normal billing. Do not send an environment parameter or header. title: Openhandle Utilities API version: 1.1.0 servers: - url: https://api.openhandle.dev tags: - name: Utilities paths: /v1/urls/fetch: post: description: Parse a supported social URL locally, then return the same typed resource as its canonical Openhandle operation. TikTok short links such as tiktok.com/t/… and vm.tiktok.com/… are expanded through their redirect first. The underlying data read is metered once. operationId: fetchSocialURL requestBody: content: application/json: schema: additionalProperties: false properties: freshness: default: 24h enum: - live - 24h - 7d - 30d type: string url: description: Supported social URL, with or without an https:// scheme. minLength: 1 type: string required: - url type: object required: true responses: '200': content: application/json: schema: oneOf: - allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/InstagramProfile' platform: const: instagram resource: const: profile required: - platform - resource - data type: object - allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/InstagramPost' platform: const: instagram resource: const: post required: - platform - resource - data type: object - allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/InstagramStory' platform: const: instagram resource: const: entity required: - platform - resource - data type: object - allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/InstagramHighlight' platform: const: instagram resource: const: entity required: - platform - resource - data type: object - allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/TikTokProfile' platform: const: tiktok resource: const: profile required: - platform - resource - data type: object - allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/TikTokPost' platform: const: tiktok resource: const: post required: - platform - resource - data type: object - allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/TwitterProfile' platform: const: twitter resource: const: profile required: - platform - resource - data type: object - allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/TwitterPost' platform: const: twitter resource: const: post required: - platform - resource - data type: object - allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/RedditProfile' platform: const: reddit resource: const: profile required: - platform - resource - data type: object - allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/RedditPost' platform: const: reddit resource: const: post required: - platform - resource - data type: object - allOf: - $ref: '#/components/schemas/SuccessEnvelope' - properties: data: $ref: '#/components/schemas/RedditSubreddit' platform: const: reddit resource: const: subreddit required: - platform - resource - data type: object description: The typed profile, post, story, or highlight represented by the URL. headers: Content-Location: description: Canonical Openhandle path for the resolved resource. schema: type: string Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '400': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The locator, cursor, or query is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '401': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The API key is invalid. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '402': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: Live billing does not permit this request. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '403': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource is private or workspace API access is security-suspended. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '404': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The resource does not exist. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '429': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request rate limit was exceeded. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '500': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The request failed internally. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string '503': content: application/json: schema: $ref: '#/components/schemas/ErrorEnvelope' description: The service is temporarily unavailable. headers: Openhandle-Billing-Disposition: description: Accounting disposition. schema: enum: - test - allowance - free - prepaid type: string Openhandle-Cost: description: Authoritative actual customer charge. Always 0.000 for Test. schema: type: string Openhandle-Dataset-Version: description: Synthetic dataset version. Present for Test. schema: type: string Openhandle-Environment: description: Environment selected by the API key. schema: enum: - test - live type: string Openhandle-List-Price: description: Live-equivalent list price. schema: type: string RateLimit: description: Remaining requests (r) and seconds until reset (t) for each evaluated policy. May be absent before authentication or when the limiter is unavailable. example: '"key";r=9;t=1, "organization";r=49;t=1' schema: type: string RateLimit-Policy: description: Quota policies for the evaluated limits. Present after rate-limit evaluation. Uses draft-ietf-httpapi-ratelimit-headers-11. example: '"key";q=10;w=1, "organization";q=50;w=1' schema: type: string Retry-After: description: Seconds to wait before retrying a throttled request. Present on 429 responses. example: '1' schema: type: string X-Request-ID: description: Stable request identifier. schema: type: string security: - OpenhandleKey: [] summary: Fetch the resource at a social URL tags: - Utilities x-openhandle-metered: true x-openhandle-sdk: operation: fetch paginated: false path: fetch scope: [] components: schemas: TwitterCardApp: additionalProperties: false properties: category: anyOf: - $ref: '#/components/schemas/TwitterCardText' - type: 'null' countryCode: minLength: 1 type: - string - 'null' description: anyOf: - $ref: '#/components/schemas/TwitterCardText' - type: 'null' groupId: minLength: 1 type: - string - 'null' hasInAppPurchases: type: - boolean - 'null' iconKey: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isEditorsChoice: type: - boolean - 'null' isFree: type: - boolean - 'null' metrics: anyOf: - $ref: '#/components/schemas/TwitterAppMetrics' - type: 'null' resolvedUrl: format: uri minLength: 1 type: - string - 'null' sizeBytes: type: - integer - 'null' title: anyOf: - $ref: '#/components/schemas/TwitterCardText' - type: 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - groupId - id - type - countryCode - url - resolvedUrl - isEditorsChoice - isFree - iconKey - sizeBytes - hasInAppPurchases - category - title - description - metrics type: object TwitterBroadcaster: additionalProperties: false properties: displayName: minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' required: - id - handle - displayName type: object RedditProfile: additionalProperties: false properties: acceptsFollowers: type: - boolean - 'null' avatar: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' banner: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' bio: minLength: 1 type: - string - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' displayHandle: minLength: 1 type: - string - 'null' displayName: minLength: 1 type: - string - 'null' handle: minLength: 1 type: string id: minLength: 1 type: string isEmployee: type: - boolean - 'null' isModerator: type: - boolean - 'null' isPremium: type: - boolean - 'null' isSensitive: type: - boolean - 'null' metrics: $ref: '#/components/schemas/RedditProfileMetrics' profileCommunity: anyOf: - $ref: '#/components/schemas/RedditProfileCommunity' - type: 'null' snoovatar: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' url: format: uri minLength: 1 type: string verification: $ref: '#/components/schemas/RedditVerification' visibility: $ref: '#/components/schemas/RedditProfileVisibility' required: - id - handle - displayHandle - displayName - bio - url - createdAt - avatar - snoovatar - banner - isPremium - isEmployee - isModerator - acceptsFollowers - isSensitive - verification - visibility - metrics - profileCommunity type: object TikTokPostCaption: additionalProperties: false properties: entities: items: $ref: '#/components/schemas/TikTokTextEntity' type: - array - 'null' markup: minLength: 1 type: - string - 'null' required: - markup - entities type: object InstagramTemplateInfo: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' effectId: minLength: 1 type: - string - 'null' effects: additionalProperties: false properties: segments: items: {} type: - array - 'null' required: - segments type: object minimumSegments: type: - integer - 'null' postId: minLength: 1 type: - string - 'null' segments: items: $ref: '#/components/schemas/InstagramTemplateSegment' type: - array - 'null' required: - postId - author - minimumSegments - segments - effectId - effects type: object TikTokWhatsAppMetrics: additionalProperties: false properties: shares: type: - integer - 'null' required: - shares type: object TwitterMediaFeature: additionalProperties: false properties: faceRegions: items: $ref: '#/components/schemas/TwitterRectangle' type: - array - 'null' size: minLength: 1 type: - string - 'null' taggedProfiles: items: $ref: '#/components/schemas/TwitterProfileReference' type: - array - 'null' required: - size - faceRegions - taggedProfiles type: object RedditPostingSettings: additionalProperties: false properties: allOriginalContent: type: - boolean - 'null' allowGalleries: type: - boolean - 'null' allowImages: type: - boolean - 'null' allowPolls: type: - boolean - 'null' allowVideos: type: - boolean - 'null' instructions: anyOf: - $ref: '#/components/schemas/RedditText' - type: 'null' labels: anyOf: - $ref: '#/components/schemas/RedditPostingLabels' - type: 'null' originalContentTagEnabled: type: - boolean - 'null' restrictPosting: type: - boolean - 'null' spoilersEnabled: type: - boolean - 'null' type: minLength: 1 type: - string - 'null' required: - type - instructions - labels - allowImages - allowVideos - allowGalleries - allowPolls - spoilersEnabled - originalContentTagEnabled - allOriginalContent - restrictPosting type: object TikTokTemplateMetrics: additionalProperties: false properties: clips: type: - integer - 'null' required: - clips type: object TikTokLyricAsset: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' typeCode: type: - integer - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - typeCode - url type: object TwitterRichText: additionalProperties: false properties: entities: items: $ref: '#/components/schemas/TwitterEntity' type: - array - 'null' text: minLength: 1 type: - string - 'null' required: - text - entities type: object InstagramProfileAddress: additionalProperties: false properties: city: minLength: 1 type: - string - 'null' cityId: minLength: 1 type: - string - 'null' postalCode: minLength: 1 type: - string - 'null' street: minLength: 1 type: - string - 'null' required: - street - city - cityId - postalCode type: object TikTokCommerceMetrics: additionalProperties: false properties: products: type: - integer - 'null' required: - products type: object TikTokStickerPosition: additionalProperties: false properties: endTime: type: - number - 'null' height: type: - number - 'null' isRelative: type: - boolean - 'null' rotation: type: - number - 'null' scale: type: - number - 'null' startTime: type: - number - 'null' width: type: - number - 'null' x: type: - number - 'null' y: type: - number - 'null' required: - x - y - width - height - rotation - scale - isRelative - startTime - endTime type: object InstagramLocationReference: additionalProperties: false properties: address: $ref: '#/components/schemas/InstagramLocationAddress' category: minLength: 1 type: - string - 'null' coordinates: $ref: '#/components/schemas/InstagramCoordinates' external: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' source: minLength: 1 type: - string - 'null' required: - id - source type: object hours: anyOf: - $ref: '#/components/schemas/InstagramLocationHours' - type: 'null' id: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' phone: minLength: 1 type: - string - 'null' searchContext: additionalProperties: false properties: subtitle: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' required: - title - subtitle type: object shortName: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' website: minLength: 1 type: - string - 'null' required: - id - name - shortName - category - url - phone - website - address - coordinates - external - searchContext - hours type: object TwitterRectangle: additionalProperties: false properties: height: type: - integer - 'null' width: type: - integer - 'null' x: type: - integer - 'null' y: type: - integer - 'null' required: - x - y - width - height type: object InstagramScrubber: additionalProperties: false properties: duration: type: - number - 'null' height: type: - integer - 'null' maxThumbnailsPerSprite: type: - integer - 'null' thumbnailDuration: type: - number - 'null' thumbnailHeight: type: - integer - 'null' thumbnailWidth: type: - integer - 'null' thumbnailsPerRow: type: - integer - 'null' thumbnailsPerSprite: type: - integer - 'null' urls: items: minLength: 1 type: string type: - array - 'null' width: type: - integer - 'null' required: - urls - width - height - thumbnailWidth - thumbnailHeight - thumbnailsPerRow - thumbnailsPerSprite - maxThumbnailsPerSprite - thumbnailDuration - duration type: object ResponseMeta: properties: cashtags: items: {} type: - array - 'null' chart: anyOf: - $ref: '#/components/schemas/TikTokChartMetadata' - type: 'null' collection: anyOf: - $ref: '#/components/schemas/InstagramStoryCollection' - type: 'null' community: anyOf: - $ref: '#/components/schemas/RedditCommunityHandle' - type: 'null' context: anyOf: - $ref: '#/components/schemas/RedditListingContext' - type: 'null' continuation: anyOf: - $ref: '#/components/schemas/TikTokPageContinuation' - type: 'null' count: type: - integer - 'null' cursors: $ref: '#/components/schemas/ResponseCursors' domain: minLength: 1 type: - string - 'null' events: items: {} type: - array - 'null' handle: minLength: 1 type: - string - 'null' hasFilteredComments: type: - boolean - 'null' hasMore: type: - boolean - 'null' hasMoreAfter: type: - boolean - 'null' hasMoreBefore: type: - boolean - 'null' hashtags: items: {} type: - array - 'null' isLimited: type: boolean likesEnabled: type: - boolean - 'null' limit: type: - integer - 'null' lists: items: {} type: - array - 'null' metrics: properties: comments: type: - integer - 'null' followers: type: - integer - 'null' following: type: - integer - 'null' likes: type: - integer - 'null' replies: type: - integer - 'null' results: type: - integer - 'null' suggestions: type: - integer - 'null' type: object nextCursorLabel: minLength: 1 type: - string - 'null' nextCursorType: minLength: 1 type: - string - 'null' parent: anyOf: - $ref: '#/components/schemas/InstagramCommentReference' - type: 'null' previousCursor: minLength: 1 type: - string - 'null' promoted: items: $ref: '#/components/schemas/TwitterPostReference' type: - array - 'null' queries: items: $ref: '#/components/schemas/TwitterSuggestedQuery' type: - array - 'null' query: minLength: 1 type: - string - 'null' siteRules: items: minLength: 1 type: string type: - array - 'null' sort: minLength: 1 type: - string - 'null' threadingEnabled: type: - boolean - 'null' track: anyOf: - $ref: '#/components/schemas/InstagramAudioReference' - type: 'null' required: - cursors type: object TikTokLocationParent: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' required: - id - name type: object InstagramProfile: additionalProperties: false properties: accountBadges: items: {} type: - array - 'null' accountType: anyOf: - $ref: '#/components/schemas/InstagramProfileAccountType' - type: 'null' avatar: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' bio: minLength: 1 type: - string - 'null' bioEntities: items: {} type: - array - 'null' bioLinks: items: $ref: '#/components/schemas/InstagramBioLink' type: - array - 'null' broadcastChannels: $ref: '#/components/schemas/InstagramProfileBroadcastChannels' category: minLength: 1 type: - string - 'null' categoryId: minLength: 1 type: - string - 'null' contact: $ref: '#/components/schemas/InstagramProfileContact' content: $ref: '#/components/schemas/InstagramProfileContent' contentSettings: $ref: '#/components/schemas/InstagramProfileContentSettings' displayName: minLength: 1 type: - string - 'null' displaySettings: $ref: '#/components/schemas/InstagramProfileDisplaySettings' externalUrl: format: uri minLength: 1 type: - string - 'null' fanClub: $ref: '#/components/schemas/InstagramProfileFanClub' fbid: minLength: 1 type: - string - 'null' fundraisers: $ref: '#/components/schemas/InstagramProfileFundraisers' handle: minLength: 1 type: string hasDigitalAvatar: type: - boolean - 'null' id: minLength: 1 type: string isAccountTransparencyVisible: type: - boolean - 'null' isBusiness: type: - boolean - 'null' isFacebookOnboardedCharity: type: - boolean - 'null' isMemorialized: type: - boolean - 'null' isNew: type: - boolean - 'null' isOpenToCollaboration: type: - boolean - 'null' isPotentialBusiness: type: - boolean - 'null' isPrivate: type: - boolean - 'null' isUnpublished: type: - boolean - 'null' isVerified: type: - boolean - 'null' lastStoryAt: format: date-time minLength: 1 type: - string - 'null' location: $ref: '#/components/schemas/InstagramProfileLocation' mediaPreviews: items: $ref: '#/components/schemas/InstagramMediaPreview' type: - array - 'null' messagingFbid: minLength: 1 type: - string - 'null' metrics: $ref: '#/components/schemas/InstagramProfileMetrics' pronouns: items: minLength: 1 type: string type: - array - 'null' socialContext: minLength: 1 type: - string - 'null' suggestion: anyOf: - $ref: '#/components/schemas/InstagramSuggestion' - type: 'null' threads: $ref: '#/components/schemas/InstagramProfileThreads' upcomingEvents: items: {} type: - array - 'null' url: format: uri minLength: 1 type: string required: - suggestion - mediaPreviews - id - handle - displayName - bio - url - externalUrl - avatar - fbid - messagingFbid - isPrivate - isVerified - isBusiness - isPotentialBusiness - isUnpublished - isMemorialized - isNew - isOpenToCollaboration - isFacebookOnboardedCharity - hasDigitalAvatar - isAccountTransparencyVisible - category - categoryId - accountType - socialContext - lastStoryAt - pronouns - accountBadges - bioEntities - bioLinks - upcomingEvents - metrics - contact - location - fanClub - content - contentSettings - displaySettings - threads - broadcastChannels - fundraisers type: object InstagramPosition: additionalProperties: false properties: x: type: - number - 'null' y: type: - number - 'null' required: - x - y type: object TwitterCommunityNote: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' presentation: anyOf: - $ref: '#/components/schemas/TwitterNotePresentation' - type: 'null' preview: anyOf: - $ref: '#/components/schemas/TwitterRichText' - type: 'null' shortTitle: minLength: 1 type: - string - 'null' summary: anyOf: - $ref: '#/components/schemas/TwitterRichText' - type: 'null' title: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - url - title - shortTitle - summary - preview - presentation type: object TikTokPlaylistMetrics: additionalProperties: false properties: plays: type: - integer - 'null' posts: type: - integer - 'null' required: - posts - plays type: object InstagramProfileReference: additionalProperties: false properties: accountBadges: items: {} type: - array - 'null' accountType: anyOf: - $ref: '#/components/schemas/InstagramProfileAccountType' - type: 'null' avatar: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' bio: minLength: 1 type: - string - 'null' bioEntities: items: {} type: - array - 'null' bioLinks: items: $ref: '#/components/schemas/InstagramBioLink' type: - array - 'null' broadcastChannels: $ref: '#/components/schemas/InstagramProfileBroadcastChannels' category: minLength: 1 type: - string - 'null' categoryId: minLength: 1 type: - string - 'null' contact: $ref: '#/components/schemas/InstagramProfileContact' content: $ref: '#/components/schemas/InstagramProfileContent' contentSettings: $ref: '#/components/schemas/InstagramProfileContentSettings' displayName: minLength: 1 type: - string - 'null' displaySettings: $ref: '#/components/schemas/InstagramProfileDisplaySettings' externalUrl: format: uri minLength: 1 type: - string - 'null' fanClub: $ref: '#/components/schemas/InstagramProfileFanClub' fbid: minLength: 1 type: - string - 'null' fundraisers: $ref: '#/components/schemas/InstagramProfileFundraisers' handle: minLength: 1 type: - string - 'null' hasDigitalAvatar: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' isAccountTransparencyVisible: type: - boolean - 'null' isBusiness: type: - boolean - 'null' isFacebookOnboardedCharity: type: - boolean - 'null' isMemorialized: type: - boolean - 'null' isNew: type: - boolean - 'null' isOpenToCollaboration: type: - boolean - 'null' isPotentialBusiness: type: - boolean - 'null' isPrivate: type: - boolean - 'null' isUnpublished: type: - boolean - 'null' isVerified: type: - boolean - 'null' lastStoryAt: format: date-time minLength: 1 type: - string - 'null' location: $ref: '#/components/schemas/InstagramProfileLocation' mediaPreviews: items: $ref: '#/components/schemas/InstagramMediaPreview' type: - array - 'null' messagingFbid: minLength: 1 type: - string - 'null' metrics: $ref: '#/components/schemas/InstagramProfileMetrics' pronouns: items: minLength: 1 type: string type: - array - 'null' socialContext: minLength: 1 type: - string - 'null' suggestion: anyOf: - $ref: '#/components/schemas/InstagramSuggestion' - type: 'null' threads: $ref: '#/components/schemas/InstagramProfileThreads' upcomingEvents: items: {} type: - array - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - suggestion - mediaPreviews - id - handle - displayName - bio - url - externalUrl - avatar - fbid - messagingFbid - isPrivate - isVerified - isBusiness - isPotentialBusiness - isUnpublished - isMemorialized - isNew - isOpenToCollaboration - isFacebookOnboardedCharity - hasDigitalAvatar - isAccountTransparencyVisible - category - categoryId - accountType - socialContext - lastStoryAt - pronouns - accountBadges - bioEntities - bioLinks - upcomingEvents - metrics - contact - location - fanClub - content - contentSettings - displaySettings - threads - broadcastChannels - fundraisers type: object InstagramSuggestion: additionalProperties: false properties: caption: minLength: 1 type: - string - 'null' hasStoryRing: type: - boolean - 'null' icon: minLength: 1 type: - string - 'null' isNew: type: - boolean - 'null' largeImages: items: $ref: '#/components/schemas/InstagramImage' type: - array - 'null' posts: items: $ref: '#/components/schemas/InstagramPostReference' type: - array - 'null' socialContext: minLength: 1 type: - string - 'null' thumbnails: items: $ref: '#/components/schemas/InstagramImage' type: - array - 'null' required: - socialContext - hasStoryRing - isNew - icon - caption - thumbnails - largeImages - posts type: object InstagramLocationAddress: additionalProperties: false properties: city: minLength: 1 type: - string - 'null' countryCode: minLength: 1 type: - string - 'null' postalCode: minLength: 1 type: - string - 'null' region: minLength: 1 type: - string - 'null' street: minLength: 1 type: - string - 'null' required: - street - city - postalCode - region - countryCode type: object TwitterArticle: additionalProperties: false properties: cover: anyOf: - $ref: '#/components/schemas/TwitterMedia' - type: 'null' id: minLength: 1 type: - string - 'null' previewText: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' required: - id - title - previewText - cover type: object RedditSubredditMetrics: additionalProperties: false properties: subscribers: type: - integer - 'null' required: - subscribers type: object InstagramStoryCollection: additionalProperties: false properties: audience: additionalProperties: false properties: hasCloseFriendsStories: type: - boolean - 'null' hasSubscriberStories: type: - boolean - 'null' required: - hasCloseFriendsStories - hasSubscriberStories type: object expiresAt: format: date-time minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isArchived: type: - boolean - 'null' lastStoryAt: format: date-time minLength: 1 type: - string - 'null' metrics: additionalProperties: false properties: stories: type: - integer - 'null' required: - stories type: object required: - id - lastStoryAt - expiresAt - isArchived - metrics - audience type: object TikTokPostSearchContext: additionalProperties: false properties: description: minLength: 1 type: - string - 'null' highlights: items: $ref: '#/components/schemas/TikTokSearchHighlight' type: - array - 'null' required: - description - highlights type: object InstagramPost: additionalProperties: false properties: ai: additionalProperties: false properties: detectionMethod: minLength: 1 type: - string - 'null' label: additionalProperties: false properties: detectionMethod: minLength: 1 type: - string - 'null' isSelfDisclosed: type: - boolean - 'null' subtitle: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - text - subtitle - detectionMethod - isSelfDisclosed type: object required: - detectionMethod - label type: object attribution: additionalProperties: false properties: originalPost: anyOf: - $ref: '#/components/schemas/InstagramPostReference' - type: 'null' required: - originalPost type: object author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' caption: anyOf: - $ref: '#/components/schemas/InstagramCommentReference' - type: 'null' carousel: additionalProperties: false properties: itemCount: type: - integer - 'null' pendingItemCount: type: - integer - 'null' previousSubmitters: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' submissionState: minLength: 1 type: - string - 'null' required: - itemCount - pendingItemCount - submissionState - previousSubmitters type: object code: minLength: 1 type: - string - 'null' collaborators: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' comments: $ref: '#/components/schemas/InstagramCommentSettings' createdAt: format: date-time minLength: 1 type: string crossposting: additionalProperties: false properties: isFeedbackAggregated: type: - boolean - 'null' isSharedToFacebook: type: - boolean - 'null' required: - isSharedToFacebook - isFeedbackAggregated type: object fbid: minLength: 1 type: - string - 'null' hasDelayedMetadata: type: - boolean - 'null' hasTaggedUsers: type: - boolean - 'null' hasVisualReplies: type: - boolean - 'null' id: minLength: 1 type: string invitedCollaborators: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' isEarlyAccess: type: - boolean - 'null' isFanClubPromo: type: - boolean - 'null' isOpenToPublicSubmission: type: - boolean - 'null' isPaidPartnership: type: - boolean - 'null' isPublicChatWelcomeVideo: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' likeAndViewCountsHidden: type: - boolean - 'null' location: anyOf: - $ref: '#/components/schemas/InstagramLocationReference' - type: 'null' media: items: $ref: '#/components/schemas/InstagramMedia' type: array metrics: $ref: '#/components/schemas/InstagramPostMetrics' notes: items: $ref: '#/components/schemas/InstagramNote' type: - array - 'null' pinning: additionalProperties: false properties: profileUserIds: items: minLength: 1 type: string type: - array - 'null' reelsUserIds: items: minLength: 1 type: string type: - array - 'null' required: - profileUserIds - reelsUserIds type: object productTags: items: $ref: '#/components/schemas/InstagramProductTag' type: - array - 'null' remix: additionalProperties: false properties: allowed: type: - boolean - 'null' carouselRemixesAllowed: type: - boolean - 'null' crosspostingAllowed: type: - boolean - 'null' hasBeenRemixed: type: - boolean - 'null' isRequestingRemixes: type: - boolean - 'null' required: - allowed - carouselRemixesAllowed - hasBeenRemixed - isRequestingRemixes - crosspostingAllowed type: object reuse: additionalProperties: false properties: allowed: type: - boolean - 'null' cutoutStickersAllowed: type: - boolean - 'null' required: - allowed - cutoutStickersAllowed type: object shareCountHidden: type: - boolean - 'null' sharingEnabled: type: - boolean - 'null' taggedUsers: items: $ref: '#/components/schemas/InstagramUserTag' type: - array - 'null' template: anyOf: - $ref: '#/components/schemas/InstagramTemplateInfo' - type: 'null' text: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: string required: - id - code - fbid - type - url - title - text - createdAt - author - caption - media - metrics - comments - taggedUsers - productTags - collaborators - invitedCollaborators - location - isPaidPartnership - isEarlyAccess - likeAndViewCountsHidden - shareCountHidden - hasVisualReplies - hasDelayedMetadata - language - hasTaggedUsers - isOpenToPublicSubmission - sharingEnabled - isFanClubPromo - isPublicChatWelcomeVideo - reuse - remix - pinning - carousel - ai - notes - crossposting - attribution - template type: object InstagramProfileMetrics: additionalProperties: false properties: arEffects: type: - integer - 'null' followers: type: - integer - 'null' following: type: - integer - 'null' posts: type: - integer - 'null' required: - followers - following - posts - arEffects type: object RedditPostMetrics: additionalProperties: false properties: awards: type: - integer - 'null' comments: type: - integer - 'null' crossposts: type: - integer - 'null' gilded: type: - integer - 'null' score: type: - integer - 'null' upvoteRatio: type: - number - 'null' views: type: - integer - 'null' required: - score - upvoteRatio - comments - crossposts - awards - gilded - views type: object TwitterMediaSize: additionalProperties: false properties: height: type: - integer - 'null' name: minLength: 1 type: - string - 'null' resizeMode: minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - name - width - height - resizeMode type: object TwitterPollChoice: additionalProperties: false properties: images: items: $ref: '#/components/schemas/TwitterImage' type: - array - 'null' label: minLength: 1 type: - string - 'null' metrics: additionalProperties: false properties: votes: type: integer required: - votes type: - object - 'null' position: type: integer required: - position - label - metrics - images type: object RedditSubreddit: additionalProperties: false properties: acceptsFollowers: type: - boolean - 'null' avatar: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' banner: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' branding: $ref: '#/components/schemas/RedditSubredditBranding' createdAt: format: date-time minLength: 1 type: - string - 'null' description: anyOf: - $ref: '#/components/schemas/RedditText' - type: 'null' displayHandle: minLength: 1 type: - string - 'null' displayName: minLength: 1 type: - string - 'null' handle: minLength: 1 type: string id: minLength: 1 type: string isQuarantined: type: - boolean - 'null' isSensitive: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' metrics: $ref: '#/components/schemas/RedditSubredditMetrics' settings: $ref: '#/components/schemas/RedditSubredditSettings' summary: anyOf: - $ref: '#/components/schemas/RedditText' - type: 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: string required: - id - handle - displayHandle - displayName - type - language - url - createdAt - isQuarantined - isSensitive - acceptsFollowers - metrics - description - summary - settings - branding - avatar - banner type: object TwitterCardComponent: additionalProperties: false properties: appGroupId: minLength: 1 type: - string - 'null' buttons: items: $ref: '#/components/schemas/TwitterCardButton' type: - array - 'null' destinationId: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' media: items: $ref: '#/components/schemas/TwitterCardMediaRef' type: - array - 'null' mediaKey: minLength: 1 type: - string - 'null' subtitle: anyOf: - $ref: '#/components/schemas/TwitterCardText' - type: 'null' title: anyOf: - $ref: '#/components/schemas/TwitterCardText' - type: 'null' type: minLength: 1 type: - string - 'null' required: - id - type - destinationId - mediaKey - appGroupId - title - subtitle - media - buttons type: object TikTokMusicChartContext: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' position: type: - integer - 'null' trendCode: type: - integer - 'null' required: - id - position - trendCode type: object RedditCommentSettings: additionalProperties: false properties: restrictCommenting: type: - boolean - 'null' scoreHideDuration: type: - integer - 'null' suggestedSort: minLength: 1 type: - string - 'null' required: - restrictCommenting - suggestedSort - scoreHideDuration type: object InstagramMediaPreview: additionalProperties: false properties: fbid: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' required: - id - fbid - thumbnail type: object TikTokMusicDurations: additionalProperties: false properties: shoot: type: - number - 'null' video: type: - number - 'null' required: - shoot - video type: object InstagramProfileAccountType: oneOf: - enum: - personal - business - creator type: string - type: integer InstagramProfileDisplaySettings: additionalProperties: false properties: showCategory: type: - boolean - 'null' showPublicContacts: type: - boolean - 'null' required: - showCategory - showPublicContacts type: object TikTokLocationRating: additionalProperties: false properties: hasRating: type: - boolean - 'null' maxScore: type: - number - 'null' score: type: - number - 'null' source: $ref: '#/components/schemas/TikTokRatingSource' required: - score - maxScore - hasRating - source type: object TikTokOpeningHours: additionalProperties: false properties: endTime: minLength: 1 type: - string - 'null' entries: items: $ref: '#/components/schemas/TikTokOpeningHoursEntry' type: - array - 'null' startTime: minLength: 1 type: - string - 'null' status: type: - boolean - 'null' text: minLength: 1 type: - string - 'null' required: - entries - text - startTime - endTime - status type: object TikTokLocationClassification: additionalProperties: false properties: backendType: minLength: 1 type: - string - 'null' className: minLength: 1 type: - string - 'null' code: minLength: 1 type: - string - 'null' detailType: minLength: 1 type: - string - 'null' hierarchy: items: minLength: 1 type: string type: - array - 'null' levelCode: minLength: 1 type: - string - 'null' serviceCategory: $ref: '#/components/schemas/TikTokServiceCategory' sourceCode: type: - integer - 'null' required: - code - className - detailType - sourceCode - levelCode - backendType - hierarchy - serviceCategory type: object RedditPostingLabels: additionalProperties: false properties: link: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - text - link type: object RedditCommentsSetting: additionalProperties: false properties: allowLiveComments: type: - boolean - 'null' discussionType: minLength: 1 type: - string - 'null' isContestMode: type: - boolean - 'null' suggestedSort: minLength: 1 type: - string - 'null' required: - isContestMode - allowLiveComments - suggestedSort - discussionType type: object TikTokCoordinates: additionalProperties: false properties: geohash: minLength: 1 type: - string - 'null' latitude: type: - number - 'null' longitude: type: - number - 'null' required: - latitude - longitude - geohash type: object TikTokSocialLink: additionalProperties: false properties: displayName: minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' platform: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - platform - id - handle - displayName - url type: object InstagramCrop: additionalProperties: false properties: bottom: type: - number - 'null' left: type: - number - 'null' right: type: - number - 'null' top: type: - number - 'null' required: - left - right - top - bottom type: object TikTokPreviewThumbnails: additionalProperties: false properties: columns: type: - integer - 'null' duration: type: - number - 'null' format: minLength: 1 type: - string - 'null' imageCount: type: - integer - 'null' imageIds: items: minLength: 1 type: string type: - array - 'null' images: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' interval: type: - number - 'null' rows: type: - integer - 'null' tileHeight: type: - integer - 'null' tileWidth: type: - integer - 'null' required: - duration - interval - imageCount - columns - rows - tileWidth - tileHeight - format - images - imageIds type: object InstagramProfileThreads: additionalProperties: false properties: handle: minLength: 1 type: - string - 'null' isActive: type: - boolean - 'null' joinerLabel: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - isActive - handle - url - joinerLabel type: object TikTokPostCommerce: additionalProperties: false properties: brandedContentType: type: - integer - 'null' disclosureLabel: minLength: 1 type: - string - 'null' isDiversionAd: type: - boolean - 'null' isEcommerce: type: - boolean - 'null' metrics: $ref: '#/components/schemas/TikTokCommerceMetrics' products: items: $ref: '#/components/schemas/TikTokProduct' type: - array - 'null' sellerIds: items: minLength: 1 type: string type: - array - 'null' required: - brandedContentType - isDiversionAd - disclosureLabel - metrics - isEcommerce - sellerIds - products type: object RedditDisplaySettings: additionalProperties: false properties: showMedia: type: - boolean - 'null' required: - showMedia type: object RedditKarma: additionalProperties: false properties: awardee: type: - integer - 'null' awarder: type: - integer - 'null' comments: type: - integer - 'null' posts: type: - integer - 'null' total: type: - integer - 'null' required: - posts - comments - awardee - awarder - total type: object RedditFlair: additionalProperties: false properties: backgroundColor: minLength: 1 type: - string - 'null' cssClass: minLength: 1 type: - string - 'null' hasPatreonFlair: type: - boolean - 'null' templateId: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' textColor: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' required: - text - type - templateId - cssClass - backgroundColor - textColor - hasPatreonFlair type: object TikTokProduct: additionalProperties: false properties: categories: items: $ref: '#/components/schemas/TikTokProductCategory' type: - array - 'null' cover: anyOf: - $ref: '#/components/schemas/TikTokAsset' - type: 'null' disclosureLabel: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' images: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' inShop: type: - boolean - 'null' isPlatformProduct: type: - boolean - 'null' label: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' platformCode: type: - integer - 'null' pricing: $ref: '#/components/schemas/TikTokProductPricing' sellerId: minLength: 1 type: - string - 'null' shortName: minLength: 1 type: - string - 'null' skus: items: $ref: '#/components/schemas/TikTokProductSKU' type: - array - 'null' source: minLength: 1 type: - string - 'null' statusCode: type: - integer - 'null' required: - id - name - shortName - source - platformCode - statusCode - inShop - isPlatformProduct - sellerId - pricing - images - cover - skus - categories - disclosureLabel - label type: object RedditImage: additionalProperties: false properties: height: type: - integer - 'null' label: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/RedditImage' type: - array - 'null' width: type: - integer - 'null' required: - type - url - label - width - height - variants type: object RedditMediaVariant: additionalProperties: false properties: format: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - format - type - url type: object TikTokEffectOwner: additionalProperties: false properties: avatar: anyOf: - $ref: '#/components/schemas/TikTokAsset' - type: 'null' displayName: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isTopEffectDesigner: type: - boolean - 'null' secUid: minLength: 1 type: - string - 'null' verification: $ref: '#/components/schemas/TikTokEffectOwnerVerification' required: - id - secUid - displayName - avatar - isTopEffectDesigner - verification type: object TikTokPostAI: additionalProperties: false properties: isCreatedByAi: type: - boolean - 'null' labelType: type: - integer - 'null' required: - isCreatedByAi - labelType type: object TwitterProfessional: additionalProperties: false properties: categories: items: $ref: '#/components/schemas/TwitterProfessionalCategory' type: - array - 'null' type: minLength: 1 type: - string - 'null' required: - type - categories type: object TikTokEffectTrigger: additionalProperties: false properties: actionCodes: items: type: integer type: - array - 'null' type: minLength: 1 type: - string - 'null' required: - type - actionCodes type: object InstagramCoordinates: additionalProperties: false properties: latitude: type: - number - 'null' longitude: type: - number - 'null' required: - latitude - longitude type: object TwitterColor: additionalProperties: false properties: percentage: type: number rgb: $ref: '#/components/schemas/TwitterRGB' required: - percentage - rgb type: object SuccessEnvelope: additionalProperties: false properties: capturedAt: format: date-time type: string data: {} meta: $ref: '#/components/schemas/ResponseMeta' platform: enum: - instagram - tiktok - twitter - reddit type: string resource: enum: - profile - post - comment - hashtag - location - music - category - list - entity - subreddit - rule - wiki - trophy type: string source: enum: - live - cache type: string required: - platform - resource - capturedAt - source - data type: object TikTokLocationCommerce: additionalProperties: false properties: hasProductShelf: type: - boolean - 'null' isClaimed: type: - boolean - 'null' required: - hasProductShelf - isClaimed type: object TwitterFormatting: additionalProperties: false properties: range: $ref: '#/components/schemas/TwitterRange' types: items: minLength: 1 type: string type: - array - 'null' required: - range - types type: object RedditSubredditBranding: additionalProperties: false properties: banner: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' colors: $ref: '#/components/schemas/RedditSubredditColors' header: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' headerTitle: minLength: 1 type: - string - 'null' icon: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' required: - headerTitle - colors - icon - banner - header type: object TwitterPlace: additionalProperties: false properties: country: minLength: 1 type: - string - 'null' countryCode: minLength: 1 type: - string - 'null' fullName: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' required: - id - name - fullName - type - country - countryCode type: object TwitterProfileLocation: additionalProperties: false properties: place: anyOf: - $ref: '#/components/schemas/TwitterPlace' - type: 'null' text: minLength: 1 type: - string - 'null' required: - text - place type: object InstagramHashtagReference: additionalProperties: false properties: avatar: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' bio: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isTrending: type: - boolean - 'null' metrics: additionalProperties: false properties: posts: type: - integer - 'null' views: type: - integer - 'null' required: - posts - views type: object name: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - name - url - bio - avatar - isTrending - metrics type: object TwitterImage: additionalProperties: false properties: altText: minLength: 1 type: - string - 'null' height: type: - integer - 'null' isNft: type: - boolean - 'null' role: minLength: 1 type: - string - 'null' shape: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - type - url - role - width - height - altText - shape - isNft type: object TwitterAppMetrics: additionalProperties: false properties: rating: type: - number - 'null' ratings: type: - integer - 'null' required: - rating - ratings type: object TwitterRGB: additionalProperties: false properties: blue: type: integer green: type: integer red: type: integer required: - red - green - blue type: object TikTokBeatData: additionalProperties: false properties: bitrate: type: - integer - 'null' codecCode: type: - integer - 'null' covers: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' duration: type: - number - 'null' expiresAt: format: date-time minLength: 1 type: - string - 'null' format: minLength: 1 type: - string - 'null' frameRate: type: - number - 'null' hasWatermark: type: - boolean - 'null' hash: minLength: 1 type: - string - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isAutoGenerated: type: - boolean - 'null' isBytevc1: type: - boolean - 'null' isOriginal: type: - boolean - 'null' label: minLength: 1 type: - string - 'null' language: minLength: 1 type: - string - 'null' locale: minLength: 1 type: - string - 'null' previewThumbnails: items: $ref: '#/components/schemas/TikTokPreviewThumbnails' type: - array - 'null' qualityCode: type: - integer - 'null' qualityLabel: minLength: 1 type: - string - 'null' renditions: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' resources: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' role: minLength: 1 type: - string - 'null' size: type: - integer - 'null' subtitles: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' version: minLength: 1 type: - string - 'null' volumeInfo: $ref: '#/components/schemas/TikTokVolumeInfo' width: type: - integer - 'null' required: - volumeInfo - id - type - url - width - height - size - hash - role - label - duration - hasWatermark - qualityLabel - qualityCode - bitrate - frameRate - isBytevc1 - codecCode - format - language - locale - isAutoGenerated - isOriginal - version - expiresAt - renditions - covers - subtitles - previewThumbnails - variants - resources type: object TikTokLocationReference: additionalProperties: false properties: address: $ref: '#/components/schemas/TikTokLocationAddress' category: minLength: 1 type: - string - 'null' classification: $ref: '#/components/schemas/TikTokLocationClassification' commerce: $ref: '#/components/schemas/TikTokLocationCommerce' coordinates: $ref: '#/components/schemas/TikTokCoordinates' externalUrl: format: uri minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' metrics: $ref: '#/components/schemas/TikTokLocationMetrics' name: minLength: 1 type: - string - 'null' openingHours: $ref: '#/components/schemas/TikTokOpeningHours' parent: anyOf: - $ref: '#/components/schemas/TikTokLocationParent' - type: 'null' priceLevel: minLength: 1 type: - string - 'null' rating: $ref: '#/components/schemas/TikTokLocationRating' source: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - name - category - source - url - address - coordinates - parent - classification - metrics - rating - priceLevel - externalUrl - openingHours - commerce type: object InstagramAudioMetrics: additionalProperties: false properties: photos: type: - integer - 'null' previousTrendRank: type: - integer - 'null' reels: type: - integer - 'null' trendRank: type: - integer - 'null' required: - trendRank - previousTrendRank - reels - photos type: object TwitterNotePresentation: additionalProperties: false properties: iconType: minLength: 1 type: - string - 'null' style: minLength: 1 type: - string - 'null' required: - iconType - style type: object TikTokMusicGrouping: additionalProperties: false properties: groupIds: items: minLength: 1 type: string type: - array - 'null' sameGroupId: minLength: 1 type: - string - 'null' similarGroupId: minLength: 1 type: - string - 'null' ugid: minLength: 1 type: - string - 'null' required: - sameGroupId - similarGroupId - ugid - groupIds type: object TwitterLongText: additionalProperties: false properties: formatting: items: $ref: '#/components/schemas/TwitterFormatting' type: - array - 'null' id: minLength: 1 type: - string - 'null' inlineMedia: items: {} type: - array - 'null' isExpandable: type: - boolean - 'null' timestamps: items: {} type: - array - 'null' required: - id - isExpandable - inlineMedia - formatting - timestamps type: object InstagramDASH: additionalProperties: false properties: manifest: minLength: 1 type: - string - 'null' qualityCount: type: - integer - 'null' variants: items: $ref: '#/components/schemas/InstagramStreamVariant' type: - array - 'null' required: - manifest - variants - qualityCount type: object RedditPostReference: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/RedditAuthor' - type: 'null' comments: $ref: '#/components/schemas/RedditCommentsSetting' community: anyOf: - $ref: '#/components/schemas/RedditCommunity' - type: 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' distinguishedBy: minLength: 1 type: - string - 'null' domain: minLength: 1 type: - string - 'null' editedAt: format: date-time minLength: 1 type: - string - 'null' embed: anyOf: - $ref: '#/components/schemas/RedditEmbed' - type: 'null' flair: anyOf: - $ref: '#/components/schemas/RedditFlair' - type: 'null' id: minLength: 1 type: - string - 'null' isArchived: type: - boolean - 'null' isCrosspostable: type: - boolean - 'null' isEdited: type: - boolean - 'null' isGallery: type: - boolean - 'null' isLocked: type: - boolean - 'null' isMediaOnly: type: - boolean - 'null' isMeta: type: - boolean - 'null' isOriginalContent: type: - boolean - 'null' isPinned: type: - boolean - 'null' isRedditMediaDomain: type: - boolean - 'null' isSelf: type: - boolean - 'null' isSensitive: type: - boolean - 'null' isSpoiler: type: - boolean - 'null' isStickied: type: - boolean - 'null' isVideo: type: - boolean - 'null' linkUrl: format: uri minLength: 1 type: - string - 'null' media: items: $ref: '#/components/schemas/RedditMedia' type: - array - 'null' metrics: $ref: '#/components/schemas/RedditPostMetrics' removedByCategory: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' textHtml: minLength: 1 type: - string - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/RedditThumbnail' - type: 'null' title: minLength: 1 type: - string - 'null' topAwardedType: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' visibility: $ref: '#/components/schemas/RedditPostVisibility' required: - id - title - text - textHtml - domain - url - linkUrl - author - community - metrics - createdAt - isEdited - editedAt - isSelf - isVideo - isGallery - isMeta - isOriginalContent - isCrosspostable - isRedditMediaDomain - isMediaOnly - isSensitive - isSpoiler - isStickied - isLocked - isArchived - isPinned - visibility - comments - distinguishedBy - removedByCategory - topAwardedType - flair - thumbnail - media - embed type: object TikTokTextRange: additionalProperties: false properties: end: type: - integer - 'null' start: type: - integer - 'null' required: - start - end type: object InstagramProfileBroadcastChannels: additionalProperties: false properties: hasPublicChannels: type: - boolean - 'null' isCreator: type: - boolean - 'null' pinned: items: $ref: '#/components/schemas/InstagramProfileBroadcastChannel' type: - array - 'null' required: - isCreator - hasPublicChannels - pinned type: object RedditSubredditColors: additionalProperties: false properties: bannerBackground: minLength: 1 type: - string - 'null' key: minLength: 1 type: - string - 'null' primary: minLength: 1 type: - string - 'null' required: - primary - key - bannerBackground type: object TwitterMediaSource: additionalProperties: false properties: authorId: minLength: 1 type: - string - 'null' postId: minLength: 1 type: - string - 'null' required: - postId - authorId type: object TikTokEffectClassification: additionalProperties: false properties: creatorTypeCode: type: - integer - 'null' sourceCode: type: - integer - 'null' required: - creatorTypeCode - sourceCode type: object InstagramNote: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - id - text - createdAt - author type: object TikTokMusicContext: additionalProperties: false properties: label: minLength: 1 type: - string - 'null' required: - label type: object RedditReportSettings: additionalProperties: false properties: allowCustomReasons: type: - boolean - 'null' required: - allowCustomReasons type: object TikTokPostTemplate: additionalProperties: false properties: authorName: minLength: 1 type: - string - 'null' description: minLength: 1 type: - string - 'null' duration: type: - number - 'null' id: minLength: 1 type: - string - 'null' metrics: $ref: '#/components/schemas/TikTokTemplateMetrics' musicId: minLength: 1 type: - string - 'null' required: - id - authorName - description - duration - musicId - metrics type: object InstagramProfileBroadcastChannel: additionalProperties: false properties: avatar: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' cover: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' creator: additionalProperties: false properties: handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isVerified: type: - boolean - 'null' required: - id - handle - isVerified type: object id: minLength: 1 type: - string - 'null' metrics: additionalProperties: false properties: members: type: - integer - 'null' required: - members type: object title: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - title - url - avatar - cover - creator - metrics type: object RedditThumbnail: additionalProperties: false properties: height: type: - integer - 'null' state: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - type - url - state - width - height type: object TikTokEffectReference: additionalProperties: false properties: attributions: items: $ref: '#/components/schemas/TikTokUnspecified' type: - array - 'null' children: items: $ref: '#/components/schemas/TikTokUnspecified' type: - array - 'null' classification: $ref: '#/components/schemas/TikTokEffectClassification' creation: $ref: '#/components/schemas/TikTokEffectCreation' description: minLength: 1 type: - string - 'null' effectId: minLength: 1 type: - string - 'null' icon: anyOf: - $ref: '#/components/schemas/TikTokAsset' - type: 'null' id: minLength: 1 type: - string - 'null' isTopEffect: type: - boolean - 'null' linkedAnchors: items: $ref: '#/components/schemas/TikTokUnspecified' type: - array - 'null' metrics: $ref: '#/components/schemas/TikTokEffectMetrics' name: minLength: 1 type: - string - 'null' owner: anyOf: - $ref: '#/components/schemas/TikTokEffectOwner' - type: 'null' publishedAt: format: date-time minLength: 1 type: - string - 'null' resourceId: minLength: 1 type: - string - 'null' tags: items: minLength: 1 type: string type: - array - 'null' triggers: items: $ref: '#/components/schemas/TikTokEffectTrigger' type: - array - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - effectId - resourceId - name - description - publishedAt - url - isTopEffect - tags - owner - icon - metrics - classification - creation - triggers - children - attributions - linkedAnchors type: object TwitterPostReference: additionalProperties: false properties: article: anyOf: - $ref: '#/components/schemas/TwitterArticle' - type: 'null' author: anyOf: - $ref: '#/components/schemas/TwitterProfileReference' - type: 'null' authorId: minLength: 1 type: - string - 'null' card: anyOf: - $ref: '#/components/schemas/TwitterCard' - type: 'null' communityNote: anyOf: - $ref: '#/components/schemas/TwitterCommunityNote' - type: 'null' conversationId: minLength: 1 type: - string - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' displayTextRange: anyOf: - $ref: '#/components/schemas/TwitterRange' - type: 'null' edit: anyOf: - $ref: '#/components/schemas/TwitterEdit' - type: 'null' entities: items: $ref: '#/components/schemas/TwitterEntity' type: - array - 'null' hasGrokAnalysisButton: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' inReplyToHandle: minLength: 1 type: - string - 'null' inReplyToPostId: minLength: 1 type: - string - 'null' inReplyToUserId: minLength: 1 type: - string - 'null' isPromoted: type: - boolean - 'null' isQuote: type: - boolean - 'null' isRepost: type: - boolean - 'null' isSensitive: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' longText: anyOf: - $ref: '#/components/schemas/TwitterLongText' - type: 'null' media: items: $ref: '#/components/schemas/TwitterMedia' type: - array - 'null' metrics: $ref: '#/components/schemas/TwitterPostMetrics' preview: anyOf: - $ref: '#/components/schemas/TwitterPreview' - type: 'null' previousMetrics: anyOf: - $ref: '#/components/schemas/TwitterPreviousMetrics' - type: 'null' promotion: anyOf: - $ref: '#/components/schemas/TwitterPromotion' - type: 'null' quotedPost: anyOf: - $ref: '#/components/schemas/TwitterPostReference' - type: 'null' quotedPostId: minLength: 1 type: - string - 'null' repostedPost: anyOf: - $ref: '#/components/schemas/TwitterPostReference' - type: 'null' restrictions: items: $ref: '#/components/schemas/TwitterRestriction' type: - array - 'null' text: minLength: 1 type: - string - 'null' timeline: anyOf: - $ref: '#/components/schemas/TwitterTimelinePlacement' - type: 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - text - language - isSensitive - isQuote - createdAt - conversationId - authorId - inReplyToPostId - inReplyToUserId - inReplyToHandle - quotedPostId - author - url - metrics - displayTextRange - media - entities - edit - hasGrokAnalysisButton - communityNote - isRepost - repostedPost - quotedPost - preview - longText - article - previousMetrics - card - restrictions - isPromoted - promotion - timeline type: object RedditEmbed: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/RedditEmbedAuthor' - type: 'null' domain: minLength: 1 type: - string - 'null' height: type: - integer - 'null' html: minLength: 1 type: - string - 'null' mediaDomainUrl: format: uri minLength: 1 type: - string - 'null' provider: anyOf: - $ref: '#/components/schemas/RedditEmbedSource' - type: 'null' scrolling: type: - boolean - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/RedditThumbnail' - type: 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' version: minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - domain - version - title - type - html - height - width - provider - author - thumbnail - scrolling - mediaDomainUrl type: object InstagramMediaVariant: additionalProperties: false properties: bitrate: type: - integer - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isSpatial: type: - boolean - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - id - type - url - width - height - bitrate - isSpatial type: object InstagramProfileFundraisers: additionalProperties: false properties: items: items: {} type: - array - 'null' metrics: additionalProperties: false properties: active: type: - integer - 'null' required: - active type: object required: - metrics - items type: object TwitterRestriction: additionalProperties: false properties: action: minLength: 1 type: - string - 'null' message: minLength: 1 type: - string - 'null' required: - action - message type: object InstagramUserTag: additionalProperties: false properties: position: $ref: '#/components/schemas/InstagramPosition' user: $ref: '#/components/schemas/InstagramProfileReference' required: - user - position type: object RedditListingContext: additionalProperties: false properties: originalPost: anyOf: - $ref: '#/components/schemas/RedditPostReference' - type: 'null' post: anyOf: - $ref: '#/components/schemas/RedditPostReference' - type: 'null' required: - post - originalPost type: object TwitterEntity: additionalProperties: false properties: displayName: minLength: 1 type: - string - 'null' displayUrl: format: uri minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' mediaId: minLength: 1 type: - string - 'null' range: anyOf: - $ref: '#/components/schemas/TwitterRange' - type: 'null' shortUrl: format: uri minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - type - range - shortUrl - url - displayUrl - text - handle - id - displayName - mediaId type: object InstagramStory: additionalProperties: false properties: ai: additionalProperties: false properties: detectionMethod: minLength: 1 type: - string - 'null' label: additionalProperties: false properties: detectionMethod: minLength: 1 type: - string - 'null' isSelfDisclosed: type: - boolean - 'null' subtitle: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - text - subtitle - detectionMethod - isSelfDisclosed type: object required: - detectionMethod - label type: object attribution: additionalProperties: false properties: originalPost: anyOf: - $ref: '#/components/schemas/InstagramPostReference' - type: 'null' required: - originalPost type: object author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' caption: anyOf: - $ref: '#/components/schemas/InstagramCommentReference' - type: 'null' carousel: additionalProperties: false properties: itemCount: type: - integer - 'null' pendingItemCount: type: - integer - 'null' previousSubmitters: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' submissionState: minLength: 1 type: - string - 'null' required: - itemCount - pendingItemCount - submissionState - previousSubmitters type: object code: minLength: 1 type: - string - 'null' collaborators: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' comments: $ref: '#/components/schemas/InstagramCommentSettings' createdAt: format: date-time minLength: 1 type: string crossposting: additionalProperties: false properties: isFeedbackAggregated: type: - boolean - 'null' isSharedToFacebook: type: - boolean - 'null' required: - isSharedToFacebook - isFeedbackAggregated type: object expiresAt: format: date-time minLength: 1 type: - string - 'null' fbid: minLength: 1 type: - string - 'null' hasDelayedMetadata: type: - boolean - 'null' hasTaggedUsers: type: - boolean - 'null' hasVisualReplies: type: - boolean - 'null' highlights: items: $ref: '#/components/schemas/InstagramHighlightReference' type: - array - 'null' id: minLength: 1 type: string invitedCollaborators: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' isEarlyAccess: type: - boolean - 'null' isEdited: type: - boolean - 'null' isFanClubPromo: type: - boolean - 'null' isLastVideoSegment: type: - boolean - 'null' isOpenToPublicSubmission: type: - boolean - 'null' isPaidPartnership: type: - boolean - 'null' isPublicChatWelcomeVideo: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' likeAndViewCountsHidden: type: - boolean - 'null' location: anyOf: - $ref: '#/components/schemas/InstagramLocationReference' - type: 'null' media: items: $ref: '#/components/schemas/InstagramMedia' type: array metrics: $ref: '#/components/schemas/InstagramPostMetrics' notes: items: $ref: '#/components/schemas/InstagramNote' type: - array - 'null' pinning: additionalProperties: false properties: profileUserIds: items: minLength: 1 type: string type: - array - 'null' reelsUserIds: items: minLength: 1 type: string type: - array - 'null' required: - profileUserIds - reelsUserIds type: object productTags: items: $ref: '#/components/schemas/InstagramProductTag' type: - array - 'null' remix: additionalProperties: false properties: allowed: type: - boolean - 'null' carouselRemixesAllowed: type: - boolean - 'null' crosspostingAllowed: type: - boolean - 'null' hasBeenRemixed: type: - boolean - 'null' isRequestingRemixes: type: - boolean - 'null' required: - allowed - carouselRemixesAllowed - hasBeenRemixed - isRequestingRemixes - crosspostingAllowed type: object reuse: additionalProperties: false properties: allowed: type: - boolean - 'null' cutoutStickersAllowed: type: - boolean - 'null' required: - allowed - cutoutStickersAllowed type: object shareCountHidden: type: - boolean - 'null' sharingEnabled: type: - boolean - 'null' stickers: items: $ref: '#/components/schemas/InstagramSticker' type: - array - 'null' taggedUsers: items: $ref: '#/components/schemas/InstagramUserTag' type: - array - 'null' template: anyOf: - $ref: '#/components/schemas/InstagramTemplateInfo' - type: 'null' text: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: string required: - id - code - fbid - type - url - title - text - createdAt - author - caption - media - metrics - comments - taggedUsers - productTags - collaborators - invitedCollaborators - location - isPaidPartnership - isEarlyAccess - likeAndViewCountsHidden - shareCountHidden - hasVisualReplies - hasDelayedMetadata - language - hasTaggedUsers - isOpenToPublicSubmission - sharingEnabled - isFanClubPromo - isPublicChatWelcomeVideo - reuse - remix - pinning - carousel - ai - notes - crossposting - attribution - template - expiresAt - isEdited - isLastVideoSegment - stickers - highlights type: object RedditPostVisibility: additionalProperties: false properties: isRobotIndexable: type: - boolean - 'null' isScoreHidden: type: - boolean - 'null' required: - isRobotIndexable - isScoreHidden type: object RedditMedia: additionalProperties: false properties: bitrateKbps: type: - integer - 'null' caption: minLength: 1 type: - string - 'null' duration: type: - number - 'null' hasAudio: type: - boolean - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isAnimated: type: - boolean - 'null' mimeType: minLength: 1 type: - string - 'null' scrubber: anyOf: - $ref: '#/components/schemas/RedditMediaVariant' - type: 'null' transcodingStatus: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/RedditMediaVariant' type: - array - 'null' width: type: - integer - 'null' required: - type - id - width - height - mimeType - caption - url - variants - bitrateKbps - hasAudio - duration - isAnimated - transcodingStatus - scrubber type: object TwitterCardDestination: additionalProperties: false properties: appGroupId: minLength: 1 type: - string - 'null' displayUrl: format: uri minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' mediaKey: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - type - mediaKey - appGroupId - url - displayUrl type: object RedditPost: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/RedditAuthor' - type: 'null' comments: $ref: '#/components/schemas/RedditCommentsSetting' community: anyOf: - $ref: '#/components/schemas/RedditCommunity' - type: 'null' createdAt: format: date-time minLength: 1 type: string distinguishedBy: minLength: 1 type: - string - 'null' domain: minLength: 1 type: - string - 'null' editedAt: format: date-time minLength: 1 type: - string - 'null' embed: anyOf: - $ref: '#/components/schemas/RedditEmbed' - type: 'null' flair: anyOf: - $ref: '#/components/schemas/RedditFlair' - type: 'null' id: minLength: 1 type: string isArchived: type: - boolean - 'null' isCrosspostable: type: - boolean - 'null' isEdited: type: - boolean - 'null' isGallery: type: - boolean - 'null' isLocked: type: - boolean - 'null' isMediaOnly: type: - boolean - 'null' isMeta: type: - boolean - 'null' isOriginalContent: type: - boolean - 'null' isPinned: type: - boolean - 'null' isRedditMediaDomain: type: - boolean - 'null' isSelf: type: - boolean - 'null' isSensitive: type: - boolean - 'null' isSpoiler: type: - boolean - 'null' isStickied: type: - boolean - 'null' isVideo: type: - boolean - 'null' linkUrl: format: uri minLength: 1 type: - string - 'null' media: items: $ref: '#/components/schemas/RedditMedia' type: array metrics: $ref: '#/components/schemas/RedditPostMetrics' removedByCategory: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' textHtml: minLength: 1 type: - string - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/RedditThumbnail' - type: 'null' title: minLength: 1 type: - string - 'null' topAwardedType: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: string visibility: $ref: '#/components/schemas/RedditPostVisibility' required: - id - title - text - textHtml - domain - url - linkUrl - author - community - metrics - createdAt - isEdited - editedAt - isSelf - isVideo - isGallery - isMeta - isOriginalContent - isCrosspostable - isRedditMediaDomain - isMediaOnly - isSensitive - isSpoiler - isStickied - isLocked - isArchived - isPinned - visibility - comments - distinguishedBy - removedByCategory - topAwardedType - flair - thumbnail - media - embed type: object TikTokMusicPreview: additionalProperties: false properties: duration: type: - number - 'null' endTime: type: - number - 'null' startTime: type: - number - 'null' required: - startTime - endTime - duration type: object InstagramProfileContentSettings: additionalProperties: false properties: highlightResharingEnabled: type: - boolean - 'null' postRemixingEnabled: type: - boolean - 'null' postResharingEnabled: type: - boolean - 'null' reelRemixingEnabled: type: - boolean - 'null' required: - postResharingEnabled - highlightResharingEnabled - postRemixingEnabled - reelRemixingEnabled type: object InstagramMedia: additionalProperties: false properties: altText: minLength: 1 type: - string - 'null' audio: anyOf: - $ref: '#/components/schemas/InstagramAudioReference' - type: 'null' bitrate: type: - integer - 'null' commercialityStatus: minLength: 1 type: - string - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' crops: additionalProperties: false properties: feedPreview: $ref: '#/components/schemas/InstagramCrop' fourByThree: $ref: '#/components/schemas/InstagramCrop' square: $ref: '#/components/schemas/InstagramCrop' required: - fourByThree - square - feedPreview type: object duration: type: - number - 'null' firstFrame: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' hasAudio: type: - boolean - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' originalHeight: type: - integer - 'null' originalWidth: type: - integer - 'null' parentId: minLength: 1 type: - string - 'null' productTags: items: $ref: '#/components/schemas/InstagramProductTag' type: - array - 'null' scrubber: anyOf: - $ref: '#/components/schemas/InstagramScrubber' - type: 'null' streaming: anyOf: - $ref: '#/components/schemas/InstagramStreaming' - type: 'null' subtitles: anyOf: - $ref: '#/components/schemas/InstagramSubtitles' - type: 'null' taggedUsers: items: $ref: '#/components/schemas/InstagramUserTag' type: - array - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/InstagramMediaVariant' type: - array - 'null' width: type: - integer - 'null' required: - id - type - parentId - createdAt - url - width - height - originalWidth - originalHeight - bitrate - hasAudio - altText - commercialityStatus - duration - variants - thumbnail - firstFrame - scrubber - streaming - subtitles - audio - taggedUsers - productTags - crops type: object TwitterProfessionalCategory: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' required: - id - name type: object ResponseCursors: properties: next: type: - string - 'null' required: - next type: object TwitterEdit: additionalProperties: false properties: editableUntil: minLength: 1 type: - string - 'null' historyIds: items: minLength: 1 type: string type: - array - 'null' initialPostId: minLength: 1 type: - string - 'null' remaining: type: - integer - 'null' required: - historyIds - editableUntil - remaining - initialPostId type: object TikTokLocationAddress: additionalProperties: false properties: city: minLength: 1 type: - string - 'null' cityCode: minLength: 1 type: - string - 'null' countryCode: minLength: 1 type: - string - 'null' district: anyOf: - $ref: '#/components/schemas/TikTokDistrict' - type: 'null' fallback: minLength: 1 type: - string - 'null' formatted: minLength: 1 type: - string - 'null' regionCode: minLength: 1 type: - string - 'null' required: - formatted - fallback - city - cityCode - regionCode - countryCode - district type: object TikTokPost: additionalProperties: false properties: ai: $ref: '#/components/schemas/TikTokPostAI' audio: $ref: '#/components/schemas/TikTokPostAudio' author: anyOf: - $ref: '#/components/schemas/TikTokProfileReference' - type: 'null' authorId: minLength: 1 type: - string - 'null' caption: $ref: '#/components/schemas/TikTokPostCaption' collaborators: items: $ref: '#/components/schemas/TikTokCollaborator' type: - array - 'null' commerce: $ref: '#/components/schemas/TikTokPostCommerce' cover: anyOf: - $ref: '#/components/schemas/TikTokAsset' - type: 'null' createdAt: format: date-time minLength: 1 type: string description: minLength: 1 type: - string - 'null' effects: items: $ref: '#/components/schemas/TikTokEffectReference' type: - array - 'null' entities: items: $ref: '#/components/schemas/TikTokTextEntity' type: - array - 'null' hasDanmaku: type: - boolean - 'null' hasPromotionalMusic: type: - boolean - 'null' hashtags: items: $ref: '#/components/schemas/TikTokHashtagReference' type: array id: minLength: 1 type: string isAd: type: - boolean - 'null' isMeme: type: - boolean - 'null' isPaidContent: type: - boolean - 'null' isPinned: type: - boolean - 'null' isVr: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' locations: items: $ref: '#/components/schemas/TikTokLocationReference' type: - array - 'null' media: items: $ref: '#/components/schemas/TikTokAsset' type: array metrics: $ref: '#/components/schemas/TikTokPostMetrics' musicContext: $ref: '#/components/schemas/TikTokMusicContext' onScreenText: items: $ref: '#/components/schemas/TikTokUnspecified' type: - array - 'null' paidCollectionId: minLength: 1 type: - string - 'null' playlist: anyOf: - $ref: '#/components/schemas/TikTokPlaylistReference' - type: 'null' region: minLength: 1 type: - string - 'null' searchContext: $ref: '#/components/schemas/TikTokPostSearchContext' status: $ref: '#/components/schemas/TikTokPostStatus' stickers: items: $ref: '#/components/schemas/TikTokInteractionSticker' type: - array - 'null' template: anyOf: - $ref: '#/components/schemas/TikTokPostTemplate' - type: 'null' text: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: string required: - id - type - url - text - title - description - region - language - createdAt - author - authorId - isAd - isPaidContent - isVr - hasPromotionalMusic - hasDanmaku - isPinned - isMeme - media - cover - metrics - status - ai - commerce - entities - hashtags - locations - caption - searchContext - collaborators - audio - template - paidCollectionId - onScreenText - playlist - effects - stickers - musicContext type: object TwitterCardText: additionalProperties: false properties: isRightToLeft: type: - boolean - 'null' text: minLength: 1 type: - string - 'null' required: - text - isRightToLeft type: object TikTokProductCategory: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' isLeaf: type: - boolean - 'null' level: type: - integer - 'null' name: minLength: 1 type: - string - 'null' parentId: minLength: 1 type: - string - 'null' required: - id - name - level - isLeaf - parentId type: object TikTokAsset: additionalProperties: false properties: bitrate: type: - integer - 'null' codecCode: type: - integer - 'null' covers: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' duration: type: - number - 'null' expiresAt: format: date-time minLength: 1 type: - string - 'null' format: minLength: 1 type: - string - 'null' frameRate: type: - number - 'null' hasWatermark: type: - boolean - 'null' hash: minLength: 1 type: - string - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isAutoGenerated: type: - boolean - 'null' isBytevc1: type: - boolean - 'null' isOriginal: type: - boolean - 'null' label: minLength: 1 type: - string - 'null' language: minLength: 1 type: - string - 'null' locale: minLength: 1 type: - string - 'null' previewThumbnails: items: $ref: '#/components/schemas/TikTokPreviewThumbnails' type: - array - 'null' qualityCode: type: - integer - 'null' qualityLabel: minLength: 1 type: - string - 'null' renditions: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' role: minLength: 1 type: - string - 'null' size: type: - integer - 'null' subtitles: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' version: minLength: 1 type: - string - 'null' volumeInfo: $ref: '#/components/schemas/TikTokVolumeInfo' width: type: - integer - 'null' required: - volumeInfo - id - type - url - width - height - size - hash - role - label - duration - hasWatermark - qualityLabel - qualityCode - bitrate - frameRate - isBytevc1 - codecCode - format - language - locale - isAutoGenerated - isOriginal - version - expiresAt - renditions - covers - subtitles - previewThumbnails - variants type: object InstagramLocationHours: additionalProperties: false properties: currentStatus: minLength: 1 type: - string - 'null' isOpen: type: - boolean - 'null' schedule: items: {} type: - array - 'null' status: minLength: 1 type: - string - 'null' today: minLength: 1 type: - string - 'null' required: - status - currentStatus - today - isOpen - schedule type: object RedditEmbedAuthor: additionalProperties: false properties: displayName: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - displayName - url type: object TikTokLocationMetrics: additionalProperties: false properties: favorites: type: - integer - 'null' reviews: type: - integer - 'null' videos: type: - integer - 'null' required: - favorites - reviews - videos type: object InstagramProductTag: additionalProperties: false properties: position: $ref: '#/components/schemas/InstagramPosition' product: $ref: '#/components/schemas/InstagramProduct' required: - product - position type: object InstagramPostMetrics: additionalProperties: false properties: comments: type: - integer - 'null' facebook: additionalProperties: false properties: comments: type: - integer - 'null' likes: type: - integer - 'null' plays: type: - integer - 'null' required: - likes - plays - comments type: object instagram: additionalProperties: false properties: plays: type: - integer - 'null' required: - plays type: object likes: type: - integer - 'null' plays: type: - integer - 'null' premiumReactions: type: - integer - 'null' reposts: type: - integer - 'null' reshares: type: - integer - 'null' saves: type: - integer - 'null' views: type: - integer - 'null' required: - likes - comments - saves - reshares - reposts - premiumReactions - plays - views - instagram - facebook type: object TwitterMediaVariant: additionalProperties: false properties: bitrate: type: - integer - 'null' contentType: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - url - bitrate - contentType type: object TwitterPostMetrics: additionalProperties: false properties: comments: type: - integer - 'null' likes: type: - integer - 'null' quotes: type: - integer - 'null' reposts: type: - integer - 'null' saves: type: - integer - 'null' views: type: - integer - 'null' viewsState: minLength: 1 type: - string - 'null' required: - likes - comments - reposts - quotes - saves - views - viewsState type: object TwitterTimelinePlacement: additionalProperties: false properties: conversationSection: minLength: 1 type: - string - 'null' displayType: minLength: 1 type: - string - 'null' moduleDisplayType: minLength: 1 type: - string - 'null' position: type: - integer - 'null' required: - position - conversationSection - moduleDisplayType - displayType type: object TikTokProfile: additionalProperties: false properties: accountType: type: - integer - 'null' avatar: anyOf: - $ref: '#/components/schemas/TikTokAsset' - type: 'null' bio: minLength: 1 type: - string - 'null' category: minLength: 1 type: - string - 'null' commerce: additionalProperties: false properties: hasLiveCommerce: type: - boolean - 'null' hasNewProducts: type: - boolean - 'null' level: type: - integer - 'null' required: - level - hasLiveCommerce - hasNewProducts type: object createdAt: format: date-time minLength: 1 type: - string - 'null' displayName: minLength: 1 type: - string - 'null' handle: minLength: 1 type: string id: minLength: 1 type: string isAdVirtual: type: - boolean - 'null' isCanceled: type: - boolean - 'null' isDisciplineMember: type: - boolean - 'null' isEffectArtist: type: - boolean - 'null' isPrivate: type: - boolean - 'null' isStar: type: - boolean - 'null' isVerified: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' metrics: $ref: '#/components/schemas/TikTokProfileMetrics' music: additionalProperties: false properties: metrics: additionalProperties: false properties: likes: type: - integer - 'null' tracks: type: - integer - 'null' uses: type: - integer - 'null' required: - tracks - uses - likes type: object newReleaseIds: items: minLength: 1 type: string type: - array - 'null' required: - metrics - newReleaseIds type: object predictions: additionalProperties: false properties: ageGroup: minLength: 1 type: - string - 'null' required: - ageGroup type: object privacy: additionalProperties: false properties: followingVisibility: type: - integer - 'null' required: - followingVisibility type: object regionCode: minLength: 1 type: - string - 'null' searchContext: additionalProperties: false properties: description: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' nameField: minLength: 1 type: - string - 'null' required: - description - name - nameField type: object secUid: minLength: 1 type: - string - 'null' socialLinks: items: $ref: '#/components/schemas/TikTokSocialLink' type: - array - 'null' stories: additionalProperties: false properties: changedAt: format: date-time minLength: 1 type: - string - 'null' items: items: $ref: '#/components/schemas/TikTokStoryReference' type: - array - 'null' metrics: additionalProperties: false properties: countsByPostType: items: $ref: '#/components/schemas/TikTokStoryCount' type: - array - 'null' required: - countsByPostType type: object required: - items - changedAt - metrics type: object storyStatus: type: - integer - 'null' url: format: uri minLength: 1 type: string verification: additionalProperties: false properties: badgeType: type: - integer - 'null' customLabel: minLength: 1 type: - string - 'null' label: minLength: 1 type: - string - 'null' type: type: - integer - 'null' required: - type - badgeType - label - customLabel type: object required: - id - secUid - handle - displayName - bio - url - createdAt - avatar - isPrivate - isVerified - accountType - isEffectArtist - isAdVirtual - isStar - storyStatus - isDisciplineMember - isCanceled - regionCode - language - category - verification - metrics - commerce - privacy - music - predictions - searchContext - socialLinks - stories type: object InstagramSubtitles: additionalProperties: false properties: confidence: type: - number - 'null' enabled: type: - boolean - 'null' generated: type: - boolean - 'null' locale: minLength: 1 type: - string - 'null' status: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - enabled - generated - status - locale - confidence - url type: object TikTokCollaborator: additionalProperties: false properties: profile: $ref: '#/components/schemas/TikTokProfileReference' status: type: - integer - 'null' required: - profile - status type: object TikTokStoryCount: additionalProperties: false properties: count: type: - integer - 'null' postTypeCode: type: - integer - 'null' required: - postTypeCode - count type: object TwitterPost: additionalProperties: false properties: article: anyOf: - $ref: '#/components/schemas/TwitterArticle' - type: 'null' author: anyOf: - $ref: '#/components/schemas/TwitterProfileReference' - type: 'null' authorId: minLength: 1 type: - string - 'null' card: anyOf: - $ref: '#/components/schemas/TwitterCard' - type: 'null' communityNote: anyOf: - $ref: '#/components/schemas/TwitterCommunityNote' - type: 'null' conversationId: minLength: 1 type: - string - 'null' createdAt: format: date-time minLength: 1 type: string displayTextRange: anyOf: - $ref: '#/components/schemas/TwitterRange' - type: 'null' edit: anyOf: - $ref: '#/components/schemas/TwitterEdit' - type: 'null' entities: items: $ref: '#/components/schemas/TwitterEntity' type: array hasGrokAnalysisButton: type: - boolean - 'null' id: minLength: 1 type: string inReplyToHandle: minLength: 1 type: - string - 'null' inReplyToPostId: minLength: 1 type: - string - 'null' inReplyToUserId: minLength: 1 type: - string - 'null' isPromoted: type: - boolean - 'null' isQuote: type: - boolean - 'null' isRepost: type: - boolean - 'null' isSensitive: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' longText: anyOf: - $ref: '#/components/schemas/TwitterLongText' - type: 'null' media: items: $ref: '#/components/schemas/TwitterMedia' type: array metrics: $ref: '#/components/schemas/TwitterPostMetrics' preview: anyOf: - $ref: '#/components/schemas/TwitterPreview' - type: 'null' previousMetrics: anyOf: - $ref: '#/components/schemas/TwitterPreviousMetrics' - type: 'null' promotion: anyOf: - $ref: '#/components/schemas/TwitterPromotion' - type: 'null' quotedPost: anyOf: - $ref: '#/components/schemas/TwitterPostReference' - type: 'null' quotedPostId: minLength: 1 type: - string - 'null' repostedPost: anyOf: - $ref: '#/components/schemas/TwitterPostReference' - type: 'null' restrictions: items: $ref: '#/components/schemas/TwitterRestriction' type: - array - 'null' text: minLength: 1 type: - string - 'null' timeline: anyOf: - $ref: '#/components/schemas/TwitterTimelinePlacement' - type: 'null' url: format: uri minLength: 1 type: string required: - id - text - language - isSensitive - isQuote - createdAt - conversationId - authorId - inReplyToPostId - inReplyToUserId - inReplyToHandle - quotedPostId - author - url - metrics - displayTextRange - media - entities - edit - hasGrokAnalysisButton - communityNote - isRepost - repostedPost - quotedPost - preview - longText - article - previousMetrics - card - restrictions - isPromoted - promotion - timeline type: object TikTokServiceCategory: additionalProperties: false properties: code: type: - integer - 'null' name: minLength: 1 type: - string - 'null' required: - name - code type: object TwitterSuggestedQuery: additionalProperties: false properties: text: minLength: 1 type: - string - 'null' required: - text type: object InstagramStoryReference: additionalProperties: false properties: ai: additionalProperties: false properties: detectionMethod: minLength: 1 type: - string - 'null' label: additionalProperties: false properties: detectionMethod: minLength: 1 type: - string - 'null' isSelfDisclosed: type: - boolean - 'null' subtitle: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - text - subtitle - detectionMethod - isSelfDisclosed type: object required: - detectionMethod - label type: object attribution: additionalProperties: false properties: originalPost: anyOf: - $ref: '#/components/schemas/InstagramPostReference' - type: 'null' required: - originalPost type: object author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' caption: anyOf: - $ref: '#/components/schemas/InstagramCommentReference' - type: 'null' carousel: additionalProperties: false properties: itemCount: type: - integer - 'null' pendingItemCount: type: - integer - 'null' previousSubmitters: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' submissionState: minLength: 1 type: - string - 'null' required: - itemCount - pendingItemCount - submissionState - previousSubmitters type: object code: minLength: 1 type: - string - 'null' collaborators: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' comments: $ref: '#/components/schemas/InstagramCommentSettings' createdAt: format: date-time minLength: 1 type: - string - 'null' crossposting: additionalProperties: false properties: isFeedbackAggregated: type: - boolean - 'null' isSharedToFacebook: type: - boolean - 'null' required: - isSharedToFacebook - isFeedbackAggregated type: object expiresAt: format: date-time minLength: 1 type: - string - 'null' fbid: minLength: 1 type: - string - 'null' hasDelayedMetadata: type: - boolean - 'null' hasTaggedUsers: type: - boolean - 'null' hasVisualReplies: type: - boolean - 'null' highlights: items: $ref: '#/components/schemas/InstagramHighlightReference' type: - array - 'null' id: minLength: 1 type: - string - 'null' invitedCollaborators: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' isEarlyAccess: type: - boolean - 'null' isEdited: type: - boolean - 'null' isFanClubPromo: type: - boolean - 'null' isLastVideoSegment: type: - boolean - 'null' isOpenToPublicSubmission: type: - boolean - 'null' isPaidPartnership: type: - boolean - 'null' isPublicChatWelcomeVideo: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' likeAndViewCountsHidden: type: - boolean - 'null' location: anyOf: - $ref: '#/components/schemas/InstagramLocationReference' - type: 'null' media: items: $ref: '#/components/schemas/InstagramMedia' type: - array - 'null' metrics: $ref: '#/components/schemas/InstagramPostMetrics' notes: items: $ref: '#/components/schemas/InstagramNote' type: - array - 'null' pinning: additionalProperties: false properties: profileUserIds: items: minLength: 1 type: string type: - array - 'null' reelsUserIds: items: minLength: 1 type: string type: - array - 'null' required: - profileUserIds - reelsUserIds type: object productTags: items: $ref: '#/components/schemas/InstagramProductTag' type: - array - 'null' remix: additionalProperties: false properties: allowed: type: - boolean - 'null' carouselRemixesAllowed: type: - boolean - 'null' crosspostingAllowed: type: - boolean - 'null' hasBeenRemixed: type: - boolean - 'null' isRequestingRemixes: type: - boolean - 'null' required: - allowed - carouselRemixesAllowed - hasBeenRemixed - isRequestingRemixes - crosspostingAllowed type: object reuse: additionalProperties: false properties: allowed: type: - boolean - 'null' cutoutStickersAllowed: type: - boolean - 'null' required: - allowed - cutoutStickersAllowed type: object shareCountHidden: type: - boolean - 'null' sharingEnabled: type: - boolean - 'null' stickers: items: $ref: '#/components/schemas/InstagramSticker' type: - array - 'null' taggedUsers: items: $ref: '#/components/schemas/InstagramUserTag' type: - array - 'null' template: anyOf: - $ref: '#/components/schemas/InstagramTemplateInfo' - type: 'null' text: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - code - fbid - type - url - title - text - createdAt - author - caption - media - metrics - comments - taggedUsers - productTags - collaborators - invitedCollaborators - location - isPaidPartnership - isEarlyAccess - likeAndViewCountsHidden - shareCountHidden - hasVisualReplies - hasDelayedMetadata - language - hasTaggedUsers - isOpenToPublicSubmission - sharingEnabled - isFanClubPromo - isPublicChatWelcomeVideo - reuse - remix - pinning - carousel - ai - notes - crossposting - attribution - template - expiresAt - isEdited - isLastVideoSegment - stickers - highlights type: object TwitterProfileEntities: additionalProperties: false properties: bio: items: $ref: '#/components/schemas/TwitterEntity' type: - array - 'null' externalUrl: items: $ref: '#/components/schemas/TwitterEntity' type: - array - 'null' required: - bio - externalUrl type: object TwitterRange: additionalProperties: false properties: end: type: integer start: type: integer required: - start - end type: object TikTokInteractionSticker: additionalProperties: false properties: hashtag: anyOf: - $ref: '#/components/schemas/TikTokHashtagReference' - type: 'null' index: type: - integer - 'null' isTextHashtag: type: - boolean - 'null' materialIndex: type: - integer - 'null' positions: items: $ref: '#/components/schemas/TikTokStickerPosition' type: - array - 'null' text: minLength: 1 type: - string - 'null' typeCode: type: - integer - 'null' required: - typeCode - index - materialIndex - text - hashtag - isTextHashtag - positions type: object TikTokTextEntity: additionalProperties: false properties: end: type: - integer - 'null' hashtag: anyOf: - $ref: '#/components/schemas/TikTokHashtagReference' - type: 'null' start: type: - integer - 'null' tagId: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' typeCode: type: - integer - 'null' user: anyOf: - $ref: '#/components/schemas/TikTokProfileReference' - type: 'null' required: - type - typeCode - start - end - tagId - user - hashtag type: object TikTokPostAudio: additionalProperties: false properties: addedTrack: anyOf: - $ref: '#/components/schemas/TikTokMusicReference' - type: 'null' addedVolume: type: - number - 'null' endTime: type: - number - 'null' originalVolume: type: - number - 'null' startTime: type: - number - 'null' track: anyOf: - $ref: '#/components/schemas/TikTokMusicReference' - type: 'null' usesFullSong: type: - boolean - 'null' required: - track - addedTrack - startTime - endTime - originalVolume - addedVolume - usesFullSong type: object TikTokMatchedTrack: additionalProperties: false properties: artistName: minLength: 1 type: - string - 'null' artists: items: $ref: '#/components/schemas/TikTokProfileReference' type: - array - 'null' chorus: $ref: '#/components/schemas/TikTokMusicPreview' cover: anyOf: - $ref: '#/components/schemas/TikTokAsset' - type: 'null' duration: type: - number - 'null' id: minLength: 1 type: - string - 'null' mixedArtistName: minLength: 1 type: - string - 'null' mixedTitle: minLength: 1 type: - string - 'null' release: $ref: '#/components/schemas/TikTokMusicRelease' title: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - title - artistName - mixedTitle - mixedArtistName - cover - duration - chorus - url - artists - release type: object TikTokProfileMetrics: additionalProperties: false properties: followers: type: - integer - 'null' following: type: - integer - 'null' likedPosts: type: - integer - 'null' likes: type: - integer - 'null' posts: type: - integer - 'null' visiblePosts: type: - integer - 'null' required: - followers - following - posts - visiblePosts - likes - likedPosts type: object TikTokRatingSource: additionalProperties: false properties: code: type: - integer - 'null' name: minLength: 1 type: - string - 'null' required: - code - name type: object TwitterCardMediaRef: additionalProperties: false properties: destinationId: minLength: 1 type: - string - 'null' key: minLength: 1 type: - string - 'null' required: - key - destinationId type: object InstagramStreaming: additionalProperties: false properties: dash: anyOf: - $ref: '#/components/schemas/InstagramDASH' - type: 'null' required: - dash type: object TwitterBroadcastMedia: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' key: minLength: 1 type: - string - 'null' required: - id - key type: object TikTokOpeningHoursEntry: additionalProperties: false properties: dayCode: type: - integer - 'null' text: minLength: 1 type: - string - 'null' required: - dayCode - text type: object TikTokPageContinuation: additionalProperties: false properties: maxTime: type: - integer - 'null' minTime: type: - integer - 'null' offset: type: - integer - 'null' pageToken: minLength: 1 type: - string - 'null' required: - pageToken - minTime - maxTime - offset type: object InstagramCommentReference: additionalProperties: false properties: ai: additionalProperties: false properties: type: minLength: 1 type: - string - 'null' required: - type type: object author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isByPostAuthor: type: - boolean - 'null' isCovered: type: - boolean - 'null' isEdited: type: - boolean - 'null' isLikedByPostAuthor: type: - boolean - 'null' isPinned: type: - boolean - 'null' keywords: items: {} type: - array - 'null' likedByCoauthors: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' media: items: $ref: '#/components/schemas/InstagramImage' type: - array - 'null' metrics: $ref: '#/components/schemas/InstagramCommentMetrics' parentId: minLength: 1 type: - string - 'null' pinnedPosition: type: - integer - 'null' postId: minLength: 1 type: - string - 'null' previewUsers: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' ranking: additionalProperties: false properties: index: type: - integer - 'null' isRanked: type: - boolean - 'null' replyIndex: type: - integer - 'null' required: - index - replyIndex - isRanked type: object replies: items: $ref: '#/components/schemas/InstagramCommentReference' type: - array - 'null' replyToId: minLength: 1 type: - string - 'null' sharingEnabled: type: - boolean - 'null' status: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' translation: additionalProperties: false properties: text: minLength: 1 type: - string - 'null' required: - text type: object required: - id - text - postId - parentId - replyToId - createdAt - author - status - isCovered - isEdited - sharingEnabled - isByPostAuthor - isPinned - pinnedPosition - isLikedByPostAuthor - ai - ranking - keywords - previewUsers - metrics - replies - translation - likedByCoauthors - media type: object InstagramStickerPost: additionalProperties: false properties: code: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' mediaType: minLength: 1 type: - string - 'null' productType: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - code - mediaType - productType - url type: object TikTokMusicMetrics: additionalProperties: false properties: groupUses: type: - integer - 'null' posts: type: - integer - 'null' ugidUses: type: - integer - 'null' required: - posts - groupUses - ugidUses type: object RedditText: additionalProperties: false properties: html: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - text - html type: object TwitterMediaRestrictions: additionalProperties: false properties: isDmca: type: - boolean - 'null' required: - isDmca type: object TwitterWithheld: additionalProperties: false properties: copyright: type: - boolean - 'null' description: minLength: 1 type: - string - 'null' scope: minLength: 1 type: - string - 'null' required: - copyright - description - scope type: object InstagramProduct: additionalProperties: false properties: checkout: additionalProperties: false properties: style: minLength: 1 type: - string - 'null' required: - style type: object compoundId: minLength: 1 type: - string - 'null' description: minLength: 1 type: - string - 'null' hasVariants: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' image: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' isAffiliate: type: - boolean - 'null' isInStock: type: - boolean - 'null' merchant: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' name: minLength: 1 type: - string - 'null' pricing: additionalProperties: false properties: current: $ref: '#/components/schemas/InstagramPrice' formatted: minLength: 1 type: - string - 'null' full: $ref: '#/components/schemas/InstagramPrice' isUkEuCompliant: type: - boolean - 'null' required: - current - full - formatted - isUkEuCompliant type: object retailerId: minLength: 1 type: - string - 'null' reviewStatus: minLength: 1 type: - string - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - compoundId - retailerId - name - description - url - hasVariants - isInStock - isAffiliate - reviewStatus - merchant - image - thumbnail - pricing - checkout type: object TwitterBroadcast: additionalProperties: false properties: broadcaster: anyOf: - $ref: '#/components/schemas/TwitterBroadcaster' - type: 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isHighLatency: type: - boolean - 'null' media: anyOf: - $ref: '#/components/schemas/TwitterBroadcastMedia' - type: 'null' orientationCode: type: - integer - 'null' replayEditedStartTime: minLength: 1 type: - string - 'null' scheduledStartAt: format: date-time minLength: 1 type: - string - 'null' source: minLength: 1 type: - string - 'null' state: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - id - url - title - source - state - isHighLatency - width - height - orientationCode - scheduledStartAt - media - broadcaster - replayEditedStartTime type: object TwitterSubscriptions: additionalProperties: false properties: isEligible: type: - boolean - 'null' required: - isEligible type: object TwitterMediaAvailability: additionalProperties: false properties: status: minLength: 1 type: - string - 'null' required: - status type: object RedditProfileVisibility: additionalProperties: false properties: hideFromRobots: type: - boolean - 'null' required: - hideFromRobots type: object TikTokPlaylistReference: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/TikTokProfileReference' - type: 'null' creatorName: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' index: type: - integer - 'null' lastPostAddedAt: format: date-time minLength: 1 type: - string - 'null' metrics: $ref: '#/components/schemas/TikTokPlaylistMetrics' name: minLength: 1 type: - string - 'null' typeCode: type: - integer - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - name - url - creatorName - author - typeCode - index - lastPostAddedAt - metrics type: object TikTokVolumeInfo: additionalProperties: false properties: loudness: type: - number - 'null' loudnessRange: type: - number - 'null' loudnessRangeEnd: type: - number - 'null' loudnessRangeStart: type: - number - 'null' maxVolume: type: - number - 'null' maximumMomentaryLoudness: type: - number - 'null' maximumShortTermLoudness: type: - number - 'null' meanVolume: type: - number - 'null' peak: type: - number - 'null' version: type: - number - 'null' required: - loudness - peak - loudnessRange - loudnessRangeStart - loudnessRangeEnd - maximumMomentaryLoudness - maximumShortTermLoudness - version - maxVolume - meanVolume type: object ErrorEnvelope: properties: error: properties: code: type: string details: additionalProperties: true type: object message: type: string requestId: type: string retryable: type: boolean required: - code - message - requestId - retryable type: object required: - error type: object TikTokEffectCreation: additionalProperties: false properties: isEffectHouse: type: - boolean - 'null' isExternalProducer: type: - boolean - 'null' required: - isEffectHouse - isExternalProducer type: object InstagramPrice: additionalProperties: false properties: amount: minLength: 1 type: - string - 'null' formatted: minLength: 1 type: - string - 'null' strippedFormatted: minLength: 1 type: - string - 'null' required: - amount - formatted - strippedFormatted type: object InstagramCommentMetrics: additionalProperties: false properties: likes: type: - integer - 'null' replies: type: - integer - 'null' required: - likes - replies type: object InstagramProfileFanClub: additionalProperties: false properties: hasExclusiveFeedContent: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' largestPublicBroadcastChannelId: minLength: 1 type: - string - 'null' metrics: additionalProperties: false properties: subscribers: type: - integer - 'null' required: - subscribers type: object name: minLength: 1 type: - string - 'null' required: - id - name - largestPublicBroadcastChannelId - hasExclusiveFeedContent - metrics type: object TikTokMusicRelease: additionalProperties: false properties: date: minLength: 1 type: - string - 'null' isNewRelease: type: - boolean - 'null' required: - isNewRelease - date type: object TikTokSearchHighlight: additionalProperties: false properties: field: minLength: 1 type: - string - 'null' ranges: items: $ref: '#/components/schemas/TikTokTextRange' type: - array - 'null' required: - field - ranges type: object TwitterCardButton: additionalProperties: false properties: action: minLength: 1 type: - string - 'null' destinationId: minLength: 1 type: - string - 'null' style: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' required: - action - style - type - destinationId type: object InstagramCommentSettings: additionalProperties: false properties: enabled: type: - boolean - 'null' hasMore: type: - boolean - 'null' likesEnabled: type: - boolean - 'null' maxVisiblePreviewComments: type: - integer - 'null' preview: items: $ref: '#/components/schemas/InstagramCommentReference' type: - array - 'null' threadingEnabled: type: - boolean - 'null' required: - hasMore - maxVisiblePreviewComments - likesEnabled - threadingEnabled - enabled - preview type: object TwitterPromotion: additionalProperties: false properties: advertiser: anyOf: - $ref: '#/components/schemas/TwitterProfileReference' - type: 'null' required: - advertiser type: object RedditPostFlairSettings: additionalProperties: false properties: enabled: type: - boolean - 'null' position: minLength: 1 type: - string - 'null' required: - enabled - position type: object TwitterVerification: additionalProperties: false properties: isBlueVerified: type: - boolean - 'null' legacyVerified: type: - boolean - 'null' type: minLength: 1 type: - string - 'null' required: - legacyVerified - type - isBlueVerified type: object TwitterVisibility: additionalProperties: false properties: hasHiddenLikesOnProfile: type: - boolean - 'null' hasHiddenSubscriptionsOnProfile: type: - boolean - 'null' required: - hasHiddenLikesOnProfile - hasHiddenSubscriptionsOnProfile type: object TikTokProductSKU: additionalProperties: false properties: externalId: minLength: 1 type: - string - 'null' externalProductId: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' required: - id - externalId - externalProductId type: object TikTokMusicReference: additionalProperties: false properties: album: minLength: 1 type: - string - 'null' appleMusicSongId: minLength: 1 type: - string - 'null' artistName: minLength: 1 type: - string - 'null' artists: items: $ref: '#/components/schemas/TikTokProfileReference' type: - array - 'null' audio: anyOf: - $ref: '#/components/schemas/TikTokAsset' - type: 'null' beatData: anyOf: - $ref: '#/components/schemas/TikTokBeatData' - type: 'null' chartContext: $ref: '#/components/schemas/TikTokMusicChartContext' classification: $ref: '#/components/schemas/TikTokMusicClassification' covers: items: $ref: '#/components/schemas/TikTokAsset' type: - array - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' duration: type: - number - 'null' durations: $ref: '#/components/schemas/TikTokMusicDurations' externalSongs: items: $ref: '#/components/schemas/TikTokUnspecified' type: - array - 'null' grouping: $ref: '#/components/schemas/TikTokMusicGrouping' hasBehindTheSong: type: - boolean - 'null' hasHumanVoice: type: - boolean - 'null' hasMatchedMetadata: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' isAuthorArtist: type: - boolean - 'null' isAuthorDeleted: type: - boolean - 'null' isOriginal: type: - boolean - 'null' isOriginalSound: type: - boolean - 'null' isPgc: type: - boolean - 'null' isPlayMusic: type: - boolean - 'null' lyricAssets: items: $ref: '#/components/schemas/TikTokLyricAsset' type: - array - 'null' matchedCatalogTrack: anyOf: - $ref: '#/components/schemas/TikTokMusicReference' - type: 'null' matchedSong: anyOf: - $ref: '#/components/schemas/TikTokMatchedTrack' - type: 'null' matchedSound: anyOf: - $ref: '#/components/schemas/TikTokMatchedTrack' - type: 'null' metrics: $ref: '#/components/schemas/TikTokMusicMetrics' mid: minLength: 1 type: - string - 'null' owner: anyOf: - $ref: '#/components/schemas/TikTokProfileReference' - type: 'null' preview: $ref: '#/components/schemas/TikTokMusicPreview' recommendationStatusCode: type: - integer - 'null' release: $ref: '#/components/schemas/TikTokMusicRelease' searchContext: $ref: '#/components/schemas/TikTokMusicSearchContext' similarTracks: items: $ref: '#/components/schemas/TikTokMusicReference' type: - array - 'null' source: $ref: '#/components/schemas/TikTokMusicSource' streamingLinks: items: $ref: '#/components/schemas/TikTokStreamingLink' type: - array - 'null' title: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - mid - title - artistName - album - url - duration - createdAt - isOriginal - isOriginalSound - isAuthorArtist - hasHumanVoice - isAuthorDeleted - isPgc - hasMatchedMetadata - recommendationStatusCode - isPlayMusic - owner - artists - metrics - audio - covers - beatData - durations - release - preview - matchedSong - matchedSound - classification - grouping - streamingLinks - lyricAssets - source - appleMusicSongId - searchContext - chartContext - matchedCatalogTrack - hasBehindTheSong - similarTracks - externalSongs type: object TikTokMusicSearchContext: additionalProperties: false properties: description: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' relatedQuery: minLength: 1 type: - string - 'null' required: - name - description - relatedQuery type: object InstagramPostReference: additionalProperties: false properties: ai: additionalProperties: false properties: detectionMethod: minLength: 1 type: - string - 'null' label: additionalProperties: false properties: detectionMethod: minLength: 1 type: - string - 'null' isSelfDisclosed: type: - boolean - 'null' subtitle: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - text - subtitle - detectionMethod - isSelfDisclosed type: object required: - detectionMethod - label type: object attribution: additionalProperties: false properties: originalPost: anyOf: - $ref: '#/components/schemas/InstagramPostReference' - type: 'null' required: - originalPost type: object author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' caption: anyOf: - $ref: '#/components/schemas/InstagramCommentReference' - type: 'null' carousel: additionalProperties: false properties: itemCount: type: - integer - 'null' pendingItemCount: type: - integer - 'null' previousSubmitters: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' submissionState: minLength: 1 type: - string - 'null' required: - itemCount - pendingItemCount - submissionState - previousSubmitters type: object code: minLength: 1 type: - string - 'null' collaborators: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' comments: $ref: '#/components/schemas/InstagramCommentSettings' createdAt: format: date-time minLength: 1 type: - string - 'null' crossposting: additionalProperties: false properties: isFeedbackAggregated: type: - boolean - 'null' isSharedToFacebook: type: - boolean - 'null' required: - isSharedToFacebook - isFeedbackAggregated type: object fbid: minLength: 1 type: - string - 'null' hasDelayedMetadata: type: - boolean - 'null' hasTaggedUsers: type: - boolean - 'null' hasVisualReplies: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' invitedCollaborators: items: $ref: '#/components/schemas/InstagramProfileReference' type: - array - 'null' isEarlyAccess: type: - boolean - 'null' isFanClubPromo: type: - boolean - 'null' isOpenToPublicSubmission: type: - boolean - 'null' isPaidPartnership: type: - boolean - 'null' isPublicChatWelcomeVideo: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' likeAndViewCountsHidden: type: - boolean - 'null' location: anyOf: - $ref: '#/components/schemas/InstagramLocationReference' - type: 'null' media: items: $ref: '#/components/schemas/InstagramMedia' type: - array - 'null' metrics: $ref: '#/components/schemas/InstagramPostMetrics' notes: items: $ref: '#/components/schemas/InstagramNote' type: - array - 'null' pinning: additionalProperties: false properties: profileUserIds: items: minLength: 1 type: string type: - array - 'null' reelsUserIds: items: minLength: 1 type: string type: - array - 'null' required: - profileUserIds - reelsUserIds type: object productTags: items: $ref: '#/components/schemas/InstagramProductTag' type: - array - 'null' remix: additionalProperties: false properties: allowed: type: - boolean - 'null' carouselRemixesAllowed: type: - boolean - 'null' crosspostingAllowed: type: - boolean - 'null' hasBeenRemixed: type: - boolean - 'null' isRequestingRemixes: type: - boolean - 'null' required: - allowed - carouselRemixesAllowed - hasBeenRemixed - isRequestingRemixes - crosspostingAllowed type: object reuse: additionalProperties: false properties: allowed: type: - boolean - 'null' cutoutStickersAllowed: type: - boolean - 'null' required: - allowed - cutoutStickersAllowed type: object shareCountHidden: type: - boolean - 'null' sharingEnabled: type: - boolean - 'null' taggedUsers: items: $ref: '#/components/schemas/InstagramUserTag' type: - array - 'null' template: anyOf: - $ref: '#/components/schemas/InstagramTemplateInfo' - type: 'null' text: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - code - fbid - type - url - title - text - createdAt - author - caption - media - metrics - comments - taggedUsers - productTags - collaborators - invitedCollaborators - location - isPaidPartnership - isEarlyAccess - likeAndViewCountsHidden - shareCountHidden - hasVisualReplies - hasDelayedMetadata - language - hasTaggedUsers - isOpenToPublicSubmission - sharingEnabled - isFanClubPromo - isPublicChatWelcomeVideo - reuse - remix - pinning - carousel - ai - notes - crossposting - attribution - template type: object RedditVerification: additionalProperties: false properties: hasVerifiedEmail: type: - boolean - 'null' reportedVerified: type: - boolean - 'null' required: - reportedVerified - hasVerifiedEmail type: object TwitterLabel: additionalProperties: false properties: description: anyOf: - $ref: '#/components/schemas/TwitterRichText' - type: 'null' icon: anyOf: - $ref: '#/components/schemas/TwitterImage' - type: 'null' text: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - type - text - icon - url - description type: object TikTokEffectOwnerVerification: additionalProperties: false properties: typeCode: type: - integer - 'null' required: - typeCode type: object TikTokEffectMetrics: additionalProperties: false properties: uses: type: - integer - 'null' views: type: - integer - 'null' required: - uses - views type: object TikTokUnspecified: additionalProperties: false properties: {} type: object TwitterCard: additionalProperties: false properties: apps: items: $ref: '#/components/schemas/TwitterCardApp' type: - array - 'null' broadcast: anyOf: - $ref: '#/components/schemas/TwitterBroadcast' - type: 'null' components: items: $ref: '#/components/schemas/TwitterCardComponent' type: - array - 'null' description: minLength: 1 type: - string - 'null' destinations: items: $ref: '#/components/schemas/TwitterCardDestination' type: - array - 'null' displayUrl: format: uri minLength: 1 type: - string - 'null' domain: minLength: 1 type: - string - 'null' event: anyOf: - $ref: '#/components/schemas/TwitterEvent' - type: 'null' imageAltText: items: $ref: '#/components/schemas/TwitterImageAltText' type: - array - 'null' images: items: $ref: '#/components/schemas/TwitterImage' type: - array - 'null' layoutType: minLength: 1 type: - string - 'null' media: items: $ref: '#/components/schemas/TwitterMedia' type: - array - 'null' mediaType: minLength: 1 type: - string - 'null' poll: anyOf: - $ref: '#/components/schemas/TwitterPoll' - type: 'null' profiles: items: $ref: '#/components/schemas/TwitterProfileReference' type: - array - 'null' publisherId: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - type - url - profiles - title - description - domain - displayUrl - mediaType - broadcast - event - publisherId - images - imageAltText - poll - layoutType - components - destinations - media - apps type: object TikTokStoryReference: additionalProperties: false properties: expiresAt: format: date-time minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' mediaTypeCode: type: - integer - 'null' postTypeCode: type: - integer - 'null' required: - id - mediaTypeCode - postTypeCode - expiresAt type: object TwitterProfileReference: additionalProperties: false properties: avatar: anyOf: - $ref: '#/components/schemas/TwitterImage' - type: 'null' banner: anyOf: - $ref: '#/components/schemas/TwitterImage' - type: 'null' bio: minLength: 1 type: - string - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' displayName: minLength: 1 type: - string - 'null' entities: $ref: '#/components/schemas/TwitterProfileEntities' externalUrl: format: uri minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' hasCustomTimelines: type: - boolean - 'null' id: minLength: 1 type: - string - 'null' isLifelineInstitution: type: - boolean - 'null' isPrivate: type: - boolean - 'null' isSuspended: type: - boolean - 'null' isVerified: type: - boolean - 'null' labels: items: $ref: '#/components/schemas/TwitterLabel' type: - array - 'null' location: anyOf: - $ref: '#/components/schemas/TwitterProfileLocation' - type: 'null' metrics: $ref: '#/components/schemas/TwitterProfileMetrics' pinnedPostIds: items: minLength: 1 type: string type: - array - 'null' professional: anyOf: - $ref: '#/components/schemas/TwitterProfessional' - type: 'null' subscriptions: $ref: '#/components/schemas/TwitterSubscriptions' url: format: uri minLength: 1 type: - string - 'null' verification: $ref: '#/components/schemas/TwitterVerification' visibility: $ref: '#/components/schemas/TwitterVisibility' withheld: $ref: '#/components/schemas/TwitterWithheld' required: - id - handle - displayName - bio - url - externalUrl - createdAt - location - avatar - banner - isPrivate - isSuspended - isVerified - hasCustomTimelines - isLifelineInstitution - metrics - verification - pinnedPostIds - entities - withheld - subscriptions - visibility - professional - labels type: object RedditAuthor: additionalProperties: false properties: flair: anyOf: - $ref: '#/components/schemas/RedditFlair' - type: 'null' handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isPremium: type: - boolean - 'null' placeholder: minLength: 1 type: - string - 'null' required: - id - handle - placeholder - isPremium - flair type: object TikTokPostStatus: additionalProperties: false properties: isDeleted: type: - boolean - 'null' isProhibited: type: - boolean - 'null' isUnderReview: type: - boolean - 'null' privacyCode: type: - integer - 'null' reviewedCode: type: - integer - 'null' required: - isDeleted - isProhibited - privacyCode - isUnderReview - reviewedCode type: object TwitterEvent: additionalProperties: false properties: category: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' subtitle: minLength: 1 type: - string - 'null' timelineId: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' required: - id - title - subtitle - category - timelineId type: object InstagramProfileContact: additionalProperties: false properties: contactPhone: minLength: 1 type: - string - 'null' email: minLength: 1 type: - string - 'null' method: minLength: 1 type: - string - 'null' phone: minLength: 1 type: - string - 'null' phoneCountryCode: minLength: 1 type: - string - 'null' required: - email - phone - phoneCountryCode - contactPhone - method type: object InstagramHighlight: additionalProperties: false properties: author: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' cover: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' id: minLength: 1 type: string isArchived: type: - boolean - 'null' isConvertedToReel: type: - boolean - 'null' isInProfileGrid: type: - boolean - 'null' isPinned: type: - boolean - 'null' lastStoryAt: format: date-time minLength: 1 type: - string - 'null' metrics: additionalProperties: false properties: stories: type: - integer - 'null' required: - stories type: object stories: items: $ref: '#/components/schemas/InstagramStoryReference' type: - array - 'null' title: minLength: 1 type: - string - 'null' updatedAt: format: date-time minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: string required: - id - url - title - author - createdAt - updatedAt - lastStoryAt - isPinned - isArchived - isConvertedToReel - isInProfileGrid - cover - metrics - stories type: object InstagramProfileLocation: additionalProperties: false properties: address: $ref: '#/components/schemas/InstagramProfileAddress' id: minLength: 1 type: - string - 'null' required: - id - address type: object TikTokProductPricing: additionalProperties: false properties: currency: minLength: 1 type: - string - 'null' marketPrice: type: - integer - 'null' price: type: - integer - 'null' required: - price - marketPrice - currency type: object TikTokHashtagReference: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - name - url type: object InstagramHighlightReference: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' required: - id - title type: object InstagramAudioPart: additionalProperties: false properties: artist: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' artistName: minLength: 1 type: - string - 'null' artwork: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' isExplicit: type: - boolean - 'null' musicId: minLength: 1 type: - string - 'null' parentStartTime: type: - number - 'null' startTime: type: - number - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' required: - type - title - artistName - isExplicit - musicId - artist - startTime - parentStartTime - artwork type: object InstagramTemplateSegment: additionalProperties: false properties: assetEndTime: type: - number - 'null' assetStartTime: type: - number - 'null' duration: type: - number - 'null' required: - duration - assetStartTime - assetEndTime type: object TwitterProfileMetrics: additionalProperties: false properties: affiliates: type: - integer - 'null' creatorSubscriptions: type: - integer - 'null' followers: type: - integer - 'null' following: type: - integer - 'null' likedPosts: type: - integer - 'null' mediaPosts: type: - integer - 'null' posts: type: - integer - 'null' required: - followers - following - posts - likedPosts - mediaPosts - creatorSubscriptions - affiliates type: object InstagramStreamVariant: additionalProperties: false properties: bitrate: type: - integer - 'null' codec: minLength: 1 type: - string - 'null' frameRate: type: - number - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' mimeType: minLength: 1 type: - string - 'null' qualityLabel: minLength: 1 type: - string - 'null' sampleRate: type: - integer - 'null' sizeBytes: type: - integer - 'null' url: format: uri minLength: 1 type: - string - 'null' width: type: - integer - 'null' required: - id - url - codec - mimeType - qualityLabel - width - height - bitrate - sizeBytes - sampleRate - frameRate type: object RedditEmbedSource: additionalProperties: false properties: name: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - name - url type: object RedditProfileMetrics: additionalProperties: false properties: followers: type: - integer - 'null' karma: $ref: '#/components/schemas/RedditKarma' required: - followers - karma type: object RedditCommunity: additionalProperties: false properties: displayHandle: minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isQuarantined: type: - boolean - 'null' metrics: $ref: '#/components/schemas/RedditSubredditMetrics' type: minLength: 1 type: - string - 'null' required: - id - handle - displayHandle - type - metrics - isQuarantined type: object TikTokProfileReference: additionalProperties: false properties: accountType: type: - integer - 'null' avatar: anyOf: - $ref: '#/components/schemas/TikTokAsset' - type: 'null' bio: minLength: 1 type: - string - 'null' category: minLength: 1 type: - string - 'null' commerce: additionalProperties: false properties: hasLiveCommerce: type: - boolean - 'null' hasNewProducts: type: - boolean - 'null' level: type: - integer - 'null' required: - level - hasLiveCommerce - hasNewProducts type: object createdAt: format: date-time minLength: 1 type: - string - 'null' displayName: minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' id: minLength: 1 type: - string - 'null' isAdVirtual: type: - boolean - 'null' isCanceled: type: - boolean - 'null' isDisciplineMember: type: - boolean - 'null' isEffectArtist: type: - boolean - 'null' isPrivate: type: - boolean - 'null' isStar: type: - boolean - 'null' isVerified: type: - boolean - 'null' language: minLength: 1 type: - string - 'null' metrics: $ref: '#/components/schemas/TikTokProfileMetrics' music: additionalProperties: false properties: metrics: additionalProperties: false properties: likes: type: - integer - 'null' tracks: type: - integer - 'null' uses: type: - integer - 'null' required: - tracks - uses - likes type: object newReleaseIds: items: minLength: 1 type: string type: - array - 'null' required: - metrics - newReleaseIds type: object predictions: additionalProperties: false properties: ageGroup: minLength: 1 type: - string - 'null' required: - ageGroup type: object privacy: additionalProperties: false properties: followingVisibility: type: - integer - 'null' required: - followingVisibility type: object regionCode: minLength: 1 type: - string - 'null' searchContext: additionalProperties: false properties: description: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' nameField: minLength: 1 type: - string - 'null' required: - description - name - nameField type: object secUid: minLength: 1 type: - string - 'null' socialLinks: items: $ref: '#/components/schemas/TikTokSocialLink' type: - array - 'null' stories: additionalProperties: false properties: changedAt: format: date-time minLength: 1 type: - string - 'null' items: items: $ref: '#/components/schemas/TikTokStoryReference' type: - array - 'null' metrics: additionalProperties: false properties: countsByPostType: items: $ref: '#/components/schemas/TikTokStoryCount' type: - array - 'null' required: - countsByPostType type: object required: - items - changedAt - metrics type: object storyStatus: type: - integer - 'null' url: format: uri minLength: 1 type: - string - 'null' verification: additionalProperties: false properties: badgeType: type: - integer - 'null' customLabel: minLength: 1 type: - string - 'null' label: minLength: 1 type: - string - 'null' type: type: - integer - 'null' required: - type - badgeType - label - customLabel type: object required: - id - secUid - handle - displayName - bio - url - createdAt - avatar - isPrivate - isVerified - accountType - isEffectArtist - isAdVirtual - isStar - storyStatus - isDisciplineMember - isCanceled - regionCode - language - category - verification - metrics - commerce - privacy - music - predictions - searchContext - socialLinks - stories type: object TwitterProfile: additionalProperties: false properties: avatar: anyOf: - $ref: '#/components/schemas/TwitterImage' - type: 'null' banner: anyOf: - $ref: '#/components/schemas/TwitterImage' - type: 'null' bio: minLength: 1 type: - string - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' displayName: minLength: 1 type: - string - 'null' entities: $ref: '#/components/schemas/TwitterProfileEntities' externalUrl: format: uri minLength: 1 type: - string - 'null' handle: minLength: 1 type: string hasCustomTimelines: type: - boolean - 'null' id: minLength: 1 type: string isLifelineInstitution: type: - boolean - 'null' isPrivate: type: - boolean - 'null' isSuspended: type: - boolean - 'null' isVerified: type: - boolean - 'null' labels: items: $ref: '#/components/schemas/TwitterLabel' type: - array - 'null' location: anyOf: - $ref: '#/components/schemas/TwitterProfileLocation' - type: 'null' metrics: $ref: '#/components/schemas/TwitterProfileMetrics' pinnedPostIds: items: minLength: 1 type: string type: - array - 'null' professional: anyOf: - $ref: '#/components/schemas/TwitterProfessional' - type: 'null' subscriptions: $ref: '#/components/schemas/TwitterSubscriptions' url: format: uri minLength: 1 type: string verification: $ref: '#/components/schemas/TwitterVerification' visibility: $ref: '#/components/schemas/TwitterVisibility' withheld: $ref: '#/components/schemas/TwitterWithheld' required: - id - handle - displayName - bio - url - externalUrl - createdAt - location - avatar - banner - isPrivate - isSuspended - isVerified - hasCustomTimelines - isLifelineInstitution - metrics - verification - pinnedPostIds - entities - withheld - subscriptions - visibility - professional - labels type: object InstagramBioLink: additionalProperties: false properties: icon: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' id: minLength: 1 type: - string - 'null' image: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' isPinned: type: - boolean - 'null' isVerified: type: - boolean - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - title - url - type - isPinned - isVerified - icon - image type: object InstagramSticker: additionalProperties: false properties: audio: anyOf: - $ref: '#/components/schemas/InstagramAudioReference' - type: 'null' endTime: type: - number - 'null' hashtag: anyOf: - $ref: '#/components/schemas/InstagramHashtagReference' - type: 'null' id: minLength: 1 type: - string - 'null' isHidden: type: - boolean - 'null' isPinned: type: - boolean - 'null' position: additionalProperties: false properties: height: type: - number - 'null' rotation: type: - number - 'null' width: type: - number - 'null' x: type: - number - 'null' y: type: - number - 'null' z: type: - number - 'null' required: - x - y - z - width - height - rotation type: object post: anyOf: - $ref: '#/components/schemas/InstagramStickerPost' - type: 'null' startTime: type: - number - 'null' targetMediaId: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' user: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' required: - id - type - position - isHidden - isPinned - user - post - targetMediaId - startTime - endTime - audio - url - title - hashtag type: object TwitterImageAltText: additionalProperties: false properties: role: minLength: 1 type: - string - 'null' text: minLength: 1 type: - string - 'null' required: - role - text type: object TikTokChartMetadata: additionalProperties: false properties: cover: anyOf: - $ref: '#/components/schemas/TikTokAsset' - type: 'null' id: minLength: 1 type: - string - 'null' updatedAt: format: date-time minLength: 1 type: - string - 'null' required: - id - updatedAt - cover type: object RedditProfileCommunity: additionalProperties: false properties: communityIcon: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' displayHandle: minLength: 1 type: - string - 'null' handle: minLength: 1 type: - string - 'null' icon: anyOf: - $ref: '#/components/schemas/RedditImage' - type: 'null' primaryColor: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' required: - handle - type - displayHandle - icon - communityIcon - primaryColor type: object TwitterPreviousMetrics: additionalProperties: false properties: comments: type: - integer - 'null' likes: type: - integer - 'null' quotes: type: - integer - 'null' required: - likes - quotes - comments type: object TikTokStreamingLink: additionalProperties: false properties: platformCode: type: - integer - 'null' songId: minLength: 1 type: - string - 'null' required: - platformCode - songId type: object TikTokDistrict: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' name: minLength: 1 type: - string - 'null' parentName: minLength: 1 type: - string - 'null' required: - id - name - parentName type: object TikTokPostMetrics: additionalProperties: false properties: comments: type: - integer - 'null' downloads: type: - integer - 'null' likes: type: - integer - 'null' reposts: type: - integer - 'null' saves: type: - integer - 'null' shares: type: - integer - 'null' views: type: - integer - 'null' whatsapp: $ref: '#/components/schemas/TikTokWhatsAppMetrics' required: - likes - comments - views - saves - shares - downloads - reposts - whatsapp type: object RedditSubredditSettings: additionalProperties: false properties: comments: $ref: '#/components/schemas/RedditCommentSettings' display: $ref: '#/components/schemas/RedditDisplaySettings' postFlair: $ref: '#/components/schemas/RedditPostFlairSettings' posting: $ref: '#/components/schemas/RedditPostingSettings' reports: $ref: '#/components/schemas/RedditReportSettings' required: - posting - comments - reports - display - postFlair type: object TwitterMedia: additionalProperties: false properties: altText: minLength: 1 type: - string - 'null' aspectRatio: anyOf: - $ref: '#/components/schemas/TwitterAspectRatio' - type: 'null' availability: anyOf: - $ref: '#/components/schemas/TwitterMediaAvailability' - type: 'null' duration: type: - number - 'null' features: items: $ref: '#/components/schemas/TwitterMediaFeature' type: - array - 'null' focusRegions: items: $ref: '#/components/schemas/TwitterRectangle' type: - array - 'null' height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isAnimated: type: - boolean - 'null' isMonetizable: type: - boolean - 'null' key: minLength: 1 type: - string - 'null' palette: items: $ref: '#/components/schemas/TwitterColor' type: - array - 'null' restrictions: anyOf: - $ref: '#/components/schemas/TwitterMediaRestrictions' - type: 'null' sizes: items: $ref: '#/components/schemas/TwitterMediaSize' type: - array - 'null' source: anyOf: - $ref: '#/components/schemas/TwitterMediaSource' - type: 'null' thumbnail: anyOf: - $ref: '#/components/schemas/TwitterImage' - type: 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/TwitterMediaVariant' type: - array - 'null' width: type: - integer - 'null' required: - id - type - key - altText - isAnimated - source - width - height - focusRegions - features - sizes - duration - aspectRatio - variants - url - thumbnail - availability - restrictions - isMonetizable - palette type: object TikTokMusicSource: additionalProperties: false properties: audioAssetId: minLength: 1 type: - string - 'null' sourcePostId: minLength: 1 type: - string - 'null' required: - sourcePostId - audioAssetId type: object TwitterPreview: additionalProperties: false properties: displayTextRange: anyOf: - $ref: '#/components/schemas/TwitterRange' - type: 'null' entities: items: $ref: '#/components/schemas/TwitterEntity' type: - array - 'null' text: minLength: 1 type: - string - 'null' required: - text - entities - displayTextRange type: object TwitterAspectRatio: additionalProperties: false properties: height: type: integer width: type: integer required: - width - height type: object InstagramImage: additionalProperties: false properties: height: type: - integer - 'null' id: minLength: 1 type: - string - 'null' isDefault: type: - boolean - 'null' isSpatial: type: - boolean - 'null' thumbnail: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' variants: items: $ref: '#/components/schemas/InstagramImage' type: - array - 'null' width: type: - integer - 'null' required: - thumbnail - id - type - url - width - height - isDefault - isSpatial - variants type: object TikTokMusicClassification: additionalProperties: false properties: languageLabel: minLength: 1 type: - string - 'null' styleCodes: items: type: integer type: - array - 'null' themeCodes: items: type: integer type: - array - 'null' themes: items: minLength: 1 type: string type: - array - 'null' required: - themes - themeCodes - styleCodes - languageLabel type: object InstagramAudioReference: additionalProperties: false properties: artist: anyOf: - $ref: '#/components/schemas/InstagramProfileReference' - type: 'null' artistId: minLength: 1 type: - string - 'null' artistName: minLength: 1 type: - string - 'null' artwork: anyOf: - $ref: '#/components/schemas/InstagramImage' - type: 'null' clusterId: minLength: 1 type: - string - 'null' compositionStartTime: type: - number - 'null' createdAt: format: date-time minLength: 1 type: - string - 'null' duration: type: - number - 'null' fastStartUrl: format: uri minLength: 1 type: - string - 'null' filters: items: {} type: - array - 'null' hasLyrics: type: - boolean - 'null' highlightStartTimes: items: type: number type: - array - 'null' id: minLength: 1 type: - string - 'null' isAutomaticallyAttributed: type: - boolean - 'null' isCrosspostedFromFacebook: type: - boolean - 'null' isExplicit: type: - boolean - 'null' isTrending: type: - boolean - 'null' metrics: $ref: '#/components/schemas/InstagramAudioMetrics' monetizationType: minLength: 1 type: - string - 'null' musicId: minLength: 1 type: - string - 'null' originalPostId: minLength: 1 type: - string - 'null' overlapDuration: type: - number - 'null' parts: items: $ref: '#/components/schemas/InstagramAudioPart' type: - array - 'null' previewUrl: format: uri minLength: 1 type: - string - 'null' spotify: additionalProperties: false properties: id: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - url type: object startTime: type: - number - 'null' streaming: anyOf: - $ref: '#/components/schemas/InstagramStreaming' - type: 'null' subtype: minLength: 1 type: - string - 'null' title: minLength: 1 type: - string - 'null' type: minLength: 1 type: - string - 'null' url: format: uri minLength: 1 type: - string - 'null' required: - id - type - musicId - artistId - clusterId - title - artistName - artist - isExplicit - hasLyrics - isTrending - subtype - isAutomaticallyAttributed - isCrosspostedFromFacebook - monetizationType - duration - startTime - overlapDuration - compositionStartTime - createdAt - originalPostId - url - fastStartUrl - previewUrl - artwork - streaming - highlightStartTimes - filters - metrics - spotify - parts type: object InstagramProfileContent: additionalProperties: false properties: hasGuides: type: - boolean - 'null' hasHighlights: type: - boolean - 'null' hasLongformMedia: type: - boolean - 'null' hasMusic: type: - boolean - 'null' hasVideos: type: - boolean - 'null' hasVisibleNotes: type: - boolean - 'null' required: - hasHighlights - hasLongformMedia - hasVideos - hasMusic - hasGuides - hasVisibleNotes type: object TwitterPoll: additionalProperties: false properties: choices: items: $ref: '#/components/schemas/TwitterPollChoice' type: - array - 'null' countsAreFinal: type: - boolean - 'null' duration: type: - integer - 'null' endsAt: format: date-time minLength: 1 type: - string - 'null' metrics: additionalProperties: false properties: choices: type: integer required: - choices type: object updatedAt: format: date-time minLength: 1 type: - string - 'null' required: - metrics - choices - endsAt - updatedAt - countsAreFinal - duration type: object RedditCommunityHandle: additionalProperties: false properties: handle: minLength: 1 type: - string - 'null' required: - handle type: object securitySchemes: OpenhandleKey: description: Use an oh_test_ key for synthetic data and $0.000 actual charges, or an oh_live_ key for real public data and normal billing. Legacy oh_ keys remain Live. scheme: bearer type: http OpenhandleMCPOAuth: description: OAuth grants for the MCP endpoint only. REST operations require OpenhandleKey. flows: authorizationCode: authorizationUrl: https://api.openhandle.dev/oauth/authorize scopes: mcp: Read public social data through all MCP tools (legacy default). read:instagram: Read public Instagram data through MCP tools. read:tiktok: Read public TikTok data through MCP tools. read:twitter: Read public X (Twitter) data through MCP tools. tokenUrl: https://api.openhandle.dev/oauth/token type: oauth2 externalDocs: description: Test environment guide url: https://openhandle.dev/docs/test-environment x-openhandle-mcp: documentation: https://openhandle.dev/docs/mcp protectedResourceMetadata: https://api.openhandle.dev/.well-known/oauth-protected-resource/mcp scopesSupported: - mcp - read:instagram - read:tiktok - read:twitter securityScheme: OpenhandleMCPOAuth transport: streamable-http url: https://api.openhandle.dev/mcp x-openhandle-sdks: - documentation: https://openhandle.dev/docs/sdks language: TypeScript package: '@openhandle/sdk' repository: https://github.com/openhandlehq/openhandle-typescript - documentation: https://openhandle.dev/docs/sdks language: Go package: github.com/openhandlehq/openhandle-go repository: https://github.com/openhandlehq/openhandle-go - documentation: https://openhandle.dev/docs/sdks language: Python package: openhandle repository: https://github.com/openhandlehq/openhandle-python x-openhandle-test-data: catalogUrl: /v1/test-data contentHash: sha256:b5b99db8b0b9435d04d230483c54f5accfaa44dfa2cd12962a02e03739edfab0 datasetVersion: 2026-09-07.2 x-openhandle-versioning-policy: https://openhandle.dev/docs/versioning