openapi: 3.0.0 info: contact: {} description: A read/write API for the Matterbridge chat bridge. license: name: Apache 2.0 url: 'https://github.com/42wim/matterbridge/blob/master/LICENSE' title: Matterbridge API version: "0.1.0-oas3" paths: /health: get: responses: '200': description: OK content: '*/*': schema: type: string summary: Checks if the server is alive. /message: post: responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/config.OutgoingMessageResponse' summary: Create a message requestBody: content: application/json: schema: $ref: '#/components/schemas/config.OutgoingMessage' description: Message object to create required: true /messages: get: responses: '200': description: OK content: application/json: schema: items: $ref: '#/components/schemas/config.IncomingMessage' type: array security: - ApiKeyAuth: [] summary: List new messages /stream: get: responses: '200': description: OK content: application/x-json-stream: schema: $ref: '#/components/schemas/config.IncomingMessage' summary: Stream realtime messages servers: - url: /api components: securitySchemes: bearerAuth: type: http scheme: bearer schemas: config.IncomingMessage: properties: avatar: description: URL to an avatar image example: >- https://secure.gravatar.com/avatar/1234567890abcdef1234567890abcdef.jpg type: string event: description: >- A specific matterbridge event. (see https://github.com/42wim/matterbridge/blob/master/bridge/config/config.go#L16) type: string gateway: description: Name of the gateway as configured in matterbridge.toml example: mygateway type: string text: description: Content of the message example: 'Testing, testing, 1-2-3.' type: string username: description: Human-readable username example: alice type: string account: description: Unique account name of format "[protocol].[slug]" as defined in matterbridge.toml example: slack.myteam type: string channel: description: Human-readable channel name of sending bridge example: test-channel type: string id: description: Unique ID of message on the gateway example: slack 1541361213.030700 type: string parent_id: description: Unique ID of a parent message, if threaded example: slack 1541361213.030700 type: string protocol: description: Chat protocol of the sending bridge example: slack type: string timestamp: description: Timestamp of the message example: "1541361213.030700" type: string userid: description: Userid on the sending bridge example: U4MCXJKNC type: string extra: description: Extra data that doesn't fit in other fields (eg base64 encoded files) type: object config.OutgoingMessage: properties: avatar: description: URL to an avatar image example: >- https://secure.gravatar.com/avatar/1234567890abcdef1234567890abcdef.jpg type: string event: description: >- A specific matterbridge event. (see https://github.com/42wim/matterbridge/blob/master/bridge/config/config.go#L16) example: "" type: string gateway: description: Name of the gateway as configured in matterbridge.toml example: mygateway type: string text: description: Content of the message example: 'Testing, testing, 1-2-3.' type: string username: description: Human-readable username example: alice type: string type: object required: - gateway - text - username config.OutgoingMessageResponse: properties: avatar: description: URL to an avatar image example: >- https://secure.gravatar.com/avatar/1234567890abcdef1234567890abcdef.jpg type: string event: description: >- A specific matterbridge event. (see https://github.com/42wim/matterbridge/blob/master/bridge/config/config.go#L16) example: "" type: string gateway: description: Name of the gateway as configured in matterbridge.toml example: mygateway type: string text: description: Content of the message example: 'Testing, testing, 1-2-3.' type: string username: description: Human-readable username example: alice type: string account: description: fixed api account example: api.local type: string channel: description: fixed api channel example: api type: string id: example: "" type: string parent_id: example: "" type: string protocol: description: fixed api protocol example: api type: string timestamp: description: Timestamp of the message example: "1541361213.030700" type: string userid: example: "" type: string extra: example: null type: object type: object security: - bearerAuth: []