asyncapi: 1.2.0 info: title: Gitter Streaming API version: 1.0.0 servers: - url: https://stream.gitter.im/v1/rooms/{roomId}/{resource} scheme: https schemeVersion: "1.1" variables: roomId: description: Id of the Gitter room. resource: description: The resource to consume. enum: - chatMessages - events security: - httpBearerToken: [] stream: framing: type: chunked delimiter: \r\n read: - $ref: "#/components/messages/chatMessage" - $ref: "#/components/messages/heartbeat" components: securitySchemes: httpBearerToken: type: http scheme: bearer messages: chatMessage: summary: A message represents an individual chat message sent to a room. They are a sub-resource of a room. payload: type: object properties: id: type: string description: ID of the message. text: type: string description: Original message in plain-text/markdown. html: type: string description: HTML formatted message. sent: type: string format: date-time description: ISO formatted date of the message. fromUser: type: object description: User that sent the message. properties: id: type: string description: Gitter User ID. username: type: string description: Gitter/GitHub username. displayName: type: string description: Gitter/GitHub user real name. url: type: string description: Path to the user on Gitter. avatarUrl: type: string format: uri description: User avatar URI. avatarUrlSmall: type: string format: uri description: User avatar URI (small). avatarUrlMedium: type: string format: uri description: User avatar URI (medium). v: type: number description: Version. gv: type: string description: Stands for "Gravatar version" and is used for cache busting. unread: type: boolean description: Boolean that indicates if the current user has read the message. readBy: type: number description: Number of users that have read the message. urls: type: array description: List of URLs present in the message. items: type: string format: uri mentions: type: array description: List of @Mentions in the message. items: type: object properties: screenName: type: string userId: type: string userIds: type: array items: type: string issues: type: array description: "List of #Issues referenced in the message." items: type: object properties: number: type: string meta: type: array description: Metadata. This is currently not used for anything. items: {} v: type: number description: Version. gv: type: string description: Stands for "Gravatar version" and is used for cache busting. heartbeat: summary: Its purpose is to keep the connection alive. payload: type: string enum: - "\r\n"