mirror of
https://github.com/thegeneralist01/twitter-openapi
synced 2026-01-11 15:40:26 +01:00
164 lines
4.5 KiB
YAML
164 lines
4.5 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: Twitter OpenAPI
|
|
version: 0.0.1
|
|
|
|
paths: {}
|
|
components:
|
|
schemas:
|
|
InstructionUnion:
|
|
oneOf:
|
|
- $ref: "#/components/schemas/TimelineAddEntries"
|
|
- $ref: "#/components/schemas/TimelineAddToModule"
|
|
- $ref: "#/components/schemas/TimelineClearCache"
|
|
- $ref: "#/components/schemas/TimelinePinEntry"
|
|
- $ref: "#/components/schemas/TimelineReplaceEntry"
|
|
- $ref: "#/components/schemas/TimelineShowAlert"
|
|
- $ref: "#/components/schemas/TimelineTerminateTimeline"
|
|
discriminator:
|
|
propertyName: type
|
|
mapping": # deprecated
|
|
TimelineAddEntries: "#/components/schemas/TimelineAddEntries"
|
|
TimelineAddToModule: "#/components/schemas/TimelineAddToModule"
|
|
TimelineClearCache: "#/components/schemas/TimelineClearCache"
|
|
TimelinePinEntry: "#/components/schemas/TimelinePinEntry"
|
|
TimelineReplaceEntry: "#/components/schemas/TimelineReplaceEntry"
|
|
TimelineShowAlert: "#/components/schemas/TimelineShowAlert"
|
|
TimelineTerminateTimeline: "#/components/schemas/TimelineTerminateTimeline"
|
|
|
|
InstructionType:
|
|
type: string
|
|
enum:
|
|
[
|
|
TimelineAddEntries,
|
|
TimelineAddToModule,
|
|
TimelineClearCache,
|
|
TimelinePinEntry,
|
|
TimelineReplaceEntry,
|
|
TimelineShowAlert,
|
|
TimelineTerminateTimeline,
|
|
]
|
|
|
|
TimelineAddEntries:
|
|
required:
|
|
- type
|
|
- entries
|
|
properties:
|
|
type:
|
|
$ref: "#/components/schemas/InstructionType" # TimelineAddEntries
|
|
entries:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/TimelineAddEntry"
|
|
|
|
TimelineAddToModule:
|
|
required:
|
|
- type
|
|
- moduleItems
|
|
- moduleEntryId
|
|
properties:
|
|
type:
|
|
$ref: "#/components/schemas/InstructionType" # TimelineAddToModule
|
|
moduleItems:
|
|
type: array
|
|
items:
|
|
$ref: "./content.yaml#/components/schemas/ModuleItem"
|
|
moduleEntryId:
|
|
type: string
|
|
prepend:
|
|
type: boolean
|
|
|
|
TimelineClearCache:
|
|
required:
|
|
- type
|
|
properties:
|
|
type:
|
|
$ref: "#/components/schemas/InstructionType" # TimelineClearCache
|
|
|
|
TimelinePinEntry:
|
|
required:
|
|
- type
|
|
- entry
|
|
properties:
|
|
type:
|
|
$ref: "#/components/schemas/InstructionType" # TimelinePinEntry
|
|
entry:
|
|
$ref: "#/components/schemas/TimelineAddEntry"
|
|
|
|
TimelineReplaceEntry:
|
|
required:
|
|
- type
|
|
- entry_id_to_replace
|
|
- entry
|
|
properties:
|
|
type:
|
|
$ref: "#/components/schemas/InstructionType" # TimelineReplaceEntry
|
|
entry_id_to_replace:
|
|
type: string
|
|
entry:
|
|
$ref: "#/components/schemas/TimelineAddEntry"
|
|
|
|
TimelineShowAlert:
|
|
required:
|
|
- type
|
|
- usersResults
|
|
- richText
|
|
properties:
|
|
type:
|
|
$ref: "#/components/schemas/InstructionType" # TimelineShowAlert
|
|
alertType:
|
|
type: string
|
|
enum: [NewTweets] # which else?
|
|
triggerDelayMs:
|
|
type: integer
|
|
displayDurationMs:
|
|
type: integer
|
|
usersResults:
|
|
type: array
|
|
items:
|
|
$ref: "./user.yaml#/components/schemas/UserResults"
|
|
richText:
|
|
type: object
|
|
properties:
|
|
text:
|
|
type: string
|
|
entities:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: true # todo
|
|
iconDisplayInfo:
|
|
type: object
|
|
additionalProperties: true # todo
|
|
colorConfig:
|
|
type: object
|
|
additionalProperties: true # todo
|
|
displayLocation:
|
|
type: string
|
|
enum: [Top] # which else?
|
|
|
|
TimelineTerminateTimeline:
|
|
required:
|
|
- type
|
|
- direction
|
|
properties:
|
|
type:
|
|
$ref: "#/components/schemas/InstructionType" # TimelineTerminateTimeline
|
|
direction:
|
|
type: string
|
|
enum: [Top, Bottom]
|
|
|
|
TimelineAddEntry:
|
|
required:
|
|
- "content"
|
|
- "entryId"
|
|
- "sortIndex"
|
|
properties:
|
|
content:
|
|
$ref: "./content.yaml#/components/schemas/ContentUnion"
|
|
entryId:
|
|
type: string
|
|
pattern: "^(([a-z]+|[0-9]+|[0-9a-f]+)(-|$))+"
|
|
sortIndex:
|
|
type: string
|
|
pattern: "[0-9]+$"
|