1
Fork 0
mirror of https://github.com/thegeneralist01/twitter-openapi synced 2026-01-10 15:20:26 +01:00
twitter-openapi/dist/compatible/schemas/instruction.yaml
ふぁ 6d4ab844cc
build
Signed-off-by: ふぁ <yuki@yuki0311.com>
2023-09-17 03:35:36 +09:00

286 lines
7.1 KiB
YAML

components:
schemas:
Callback:
properties:
endpoint:
format: uri
type: string
required:
- endpoint
CoverCta:
properties:
Text:
type: string
buttonStyle:
enum:
- Primary
type: string
callbacks:
items:
$ref: '#/components/schemas/Callback'
type: array
clientEventInfo:
$ref: '#/components/schemas/CtaClientEventInfo'
ctaBehavior:
$ref: '#/components/schemas/TimelineCoverBehavior'
required:
- text
- ctaBehavior
- callbacks
- clientEventInfo
- buttonStyle
CtaClientEventInfo:
properties:
action:
enum:
- primary_cta
type: string
required:
- action
InstructionType:
enum:
- TimelineAddEntries
- TimelineAddToModule
- TimelineClearCache
- TimelinePinEntry
- TimelineReplaceEntry
- TimelineShowAlert
- TimelineTerminateTimeline
- TimelineShowCover
type: string
InstructionUnion:
discriminator:
mapping":
TimelineAddEntries: '#/components/schemas/TimelineAddEntries'
TimelineAddToModule: '#/components/schemas/TimelineAddToModule'
TimelineClearCache: '#/components/schemas/TimelineClearCache'
TimelinePinEntry: '#/components/schemas/TimelinePinEntry'
TimelineReplaceEntry: '#/components/schemas/TimelineReplaceEntry'
TimelineShowAlert: '#/components/schemas/TimelineShowAlert'
TimelineShowCover: '#/components/schemas/TimelineShowCover'
TimelineTerminateTimeline: '#/components/schemas/TimelineTerminateTimeline'
propertyName: type
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'
- $ref: '#/components/schemas/TimelineShowCover'
Text:
properties:
entities:
items:
$ref: '#/components/schemas/TextEntity'
type: array
text:
type: string
required:
- text
- entities
TextEntity:
properties:
fromIndex:
type: integer
ref:
$ref: '#/components/schemas/TextEntityRef'
toIndex:
type: integer
required:
- fromIndex
- toIndex
- ref
TextEntityRef:
properties:
type:
enum:
- TimelineUrl
type: string
url:
format: uri
type: string
urlType:
enum:
- ExternalUrl
type: string
required:
- type
- url
- urlType
TimelineAddEntries:
properties:
entries:
items:
$ref: '#/components/schemas/TimelineAddEntry'
type: array
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- entries
TimelineAddEntry:
properties:
content:
$ref: ./content.yaml#/components/schemas/ContentUnion
entryId:
pattern: ^(([a-z]+|[0-9]+|[0-9a-f]+)(-|$))+
type: string
sortIndex:
pattern: '[0-9]+$'
type: string
required:
- content
- entryId
- sortIndex
TimelineAddToModule:
properties:
moduleEntryId:
type: string
moduleItems:
items:
$ref: ./content.yaml#/components/schemas/ModuleItem
type: array
prepend:
type: boolean
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- moduleItems
- moduleEntryId
TimelineClearCache:
properties:
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
TimelineCoverBehavior:
properties:
type:
enum:
- TimelineCoverBehaviorDismiss
type: string
required:
- type
TimelineHalfCover:
properties:
dismissible:
type: boolean
halfCoverDisplayType:
enum:
- Cover
type: string
impressionCallbacks:
items:
$ref: '#/components/schemas/Callback'
type: array
primaryCoverCta:
$ref: '#/components/schemas/CoverCta'
primaryText:
$ref: '#/components/schemas/Text'
secondaryText:
$ref: '#/components/schemas/Text'
type:
enum:
- TimelineHalfCover
type: string
required:
- type
- halfCoverDisplayType
- primaryText
- primaryCoverCta
- secondaryText
- impressionCallbacks
- dismissible
TimelinePinEntry:
properties:
entry:
$ref: '#/components/schemas/TimelineAddEntry'
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- entry
TimelineReplaceEntry:
properties:
entry:
$ref: '#/components/schemas/TimelineAddEntry'
entry_id_to_replace:
type: string
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- entry_id_to_replace
- entry
TimelineShowAlert:
properties:
alertType:
enum:
- NewTweets
type: string
colorConfig:
additionalProperties: true
type: object
displayDurationMs:
type: integer
displayLocation:
enum:
- Top
type: string
iconDisplayInfo:
additionalProperties: true
type: object
richText:
properties:
entities:
items:
additionalProperties: true
type: object
type: array
text:
type: string
type: object
triggerDelayMs:
type: integer
type:
$ref: '#/components/schemas/InstructionType'
usersResults:
items:
$ref: ./user.yaml#/components/schemas/UserResults
type: array
required:
- type
- usersResults
- richText
TimelineShowCover:
properties:
clientEventInfo:
$ref: ./content.yaml#/components/schemas/ClientEventInfo
cover:
$ref: '#/components/schemas/TimelineHalfCover'
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- clientEventInfo
- cover
TimelineTerminateTimeline:
properties:
direction:
enum:
- Top
- Bottom
type: string
type:
$ref: '#/components/schemas/InstructionType'
required:
- type
- direction
info:
title: Twitter OpenAPI
version: 0.0.1
openapi: 3.0.3
paths: {}