248 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			248 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
| {
 | |
|   "apiVersion": "1.0.0",
 | |
|   "swaggerVersion": "1.2",
 | |
|   "basePath": "http://localhost:8008/_matrix/client/api/v1",
 | |
|   "resourcePath": "/events",
 | |
|   "produces": [
 | |
|     "application/json"
 | |
|   ],
 | |
|   "apis": [
 | |
|     {
 | |
|       "path": "/events",
 | |
|       "operations": [
 | |
|         {
 | |
|           "method": "GET",
 | |
|           "summary": "Listen on the event stream",
 | |
|           "notes": "This can only be done by the logged in user. This will block until an event is received, or until the timeout is reached.",
 | |
|           "type": "PaginationChunk",
 | |
|           "nickname": "get_event_stream",
 | |
|           "parameters": [
 | |
|             {
 | |
|               "name": "from",
 | |
|               "description": "The token to stream from.",
 | |
|               "required": false,
 | |
|               "type": "string",
 | |
|               "paramType": "query"
 | |
|             },
 | |
|             {
 | |
|               "name": "timeout",
 | |
|               "description": "The maximum time in milliseconds to wait for an event.",
 | |
|               "required": false,
 | |
|               "type": "integer",
 | |
|               "paramType": "query"
 | |
|             }
 | |
|           ]
 | |
|         }
 | |
|       ],
 | |
|       
 | |
|       "responseMessages": [
 | |
|         {
 | |
|           "code": 400,
 | |
|           "message": "Bad pagination token."
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "path": "/events/{eventId}",
 | |
|       "operations": [
 | |
|         {
 | |
|           "method": "GET",
 | |
|           "summary": "Get information about a single event.",
 | |
|           "notes": "Get information about a single event.",
 | |
|           "type": "Event",
 | |
|           "nickname": "get_event",
 | |
|           "parameters": [
 | |
|             {
 | |
|               "name": "eventId",
 | |
|               "description": "The event ID to get.",
 | |
|               "required": true,
 | |
|               "type": "string",
 | |
|               "paramType": "path"
 | |
|             }
 | |
|           ],
 | |
|           "responseMessages": [
 | |
|             {
 | |
|               "code": 404,
 | |
|               "message": "Event not found."
 | |
|             }
 | |
|           ]
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "path": "/initialSync",
 | |
|       "operations": [
 | |
|         {
 | |
|           "method": "GET",
 | |
|           "summary": "Get this user's current state.",
 | |
|           "notes": "Get this user's current state.",
 | |
|           "type": "InitialSyncResponse",
 | |
|           "nickname": "initial_sync",
 | |
|           "parameters": [
 | |
|             {
 | |
|               "name": "limit",
 | |
|               "description": "The maximum number of messages to return for each room.",
 | |
|               "type": "integer",
 | |
|               "paramType": "query",
 | |
|               "required": false
 | |
|             }
 | |
|           ]
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "path": "/publicRooms",
 | |
|       "operations": [
 | |
|         {
 | |
|           "method": "GET",
 | |
|           "summary": "Get a list of publicly visible rooms.",
 | |
|           "type": "PublicRoomsPaginationChunk",
 | |
|           "nickname": "get_public_room_list"
 | |
|         }
 | |
|       ]
 | |
|     }
 | |
|   ],
 | |
|   "models": {
 | |
|     "PaginationChunk": {
 | |
|       "id": "PaginationChunk",
 | |
|       "properties": {
 | |
|         "start": {
 | |
|           "type": "string",
 | |
|           "description": "A token which correlates to the first value in \"chunk\" for paginating.",
 | |
|           "required": true
 | |
|         },
 | |
|         "end": {
 | |
|           "type": "string",
 | |
|           "description": "A token which correlates to the last value in \"chunk\" for paginating.",
 | |
|           "required": true
 | |
|         },
 | |
|         "chunk": {
 | |
|           "type": "array",
 | |
|           "description": "An array of events.",
 | |
|           "required": true,
 | |
|           "items": {
 | |
|             "$ref": "Event"
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|     },
 | |
|     "Event": {
 | |
|       "id": "Event",
 | |
|       "properties": {
 | |
|         "event_id": {
 | |
|           "type": "string",
 | |
|           "description": "An ID which uniquely identifies this event.",
 | |
|           "required": true
 | |
|         },
 | |
|         "room_id": {
 | |
|           "type": "string",
 | |
|           "description": "The room in which this event occurred.",
 | |
|           "required": true
 | |
|         }
 | |
|       }
 | |
|     },
 | |
|     "PublicRoomInfo": {
 | |
|       "id": "PublicRoomInfo",
 | |
|       "properties": {
 | |
|         "aliases": {
 | |
|           "type": "array",
 | |
|           "description": "A list of room aliases for this room.",
 | |
|           "items": {
 | |
|             "$ref": "string"
 | |
|           }
 | |
|         },
 | |
|         "name": {
 | |
|           "type": "string",
 | |
|           "description": "The name of the room, as given by the m.room.name state event."
 | |
|         },
 | |
|         "room_id": {
 | |
|           "type": "string",
 | |
|           "description": "The room ID for this public room.",
 | |
|           "required": true
 | |
|         },
 | |
|         "topic": {
 | |
|           "type": "string",
 | |
|           "description": "The topic of this room, as given by the m.room.topic state event."
 | |
|         }
 | |
|       }
 | |
|     },
 | |
|     "PublicRoomsPaginationChunk": {
 | |
|       "id": "PublicRoomsPaginationChunk",
 | |
|       "properties": {
 | |
|         "start": {
 | |
|           "type": "string",
 | |
|           "description": "A token which correlates to the first value in \"chunk\" for paginating.",
 | |
|           "required": true
 | |
|         },
 | |
|         "end": {
 | |
|           "type": "string",
 | |
|           "description": "A token which correlates to the last value in \"chunk\" for paginating.",
 | |
|           "required": true
 | |
|         },
 | |
|         "chunk": {
 | |
|           "type": "array",
 | |
|           "description": "A list of public room data.",
 | |
|           "required": true,
 | |
|           "items": {
 | |
|             "$ref": "PublicRoomInfo"
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|     },
 | |
|     "InitialSyncResponse": {
 | |
|       "id": "InitialSyncResponse",
 | |
|       "properties": {
 | |
|         "end": {
 | |
|           "type": "string",
 | |
|           "description": "A streaming token which can be used with /events to continue from this snapshot of data.",
 | |
|           "required": true
 | |
|         },
 | |
|         "presence": {
 | |
|           "type": "array",
 | |
|           "description": "A list of presence events.",
 | |
|           "items": {
 | |
|             "$ref": "Event"
 | |
|           },
 | |
|           "required": false
 | |
|         },
 | |
|         "rooms": {
 | |
|           "type": "array",
 | |
|           "description": "A list of initial sync room data.",
 | |
|           "required": false,
 | |
|           "items": {
 | |
|             "$ref": "InitialSyncRoomData"
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|     },
 | |
|     "InitialSyncRoomData": {
 | |
|       "id": "InitialSyncRoomData",
 | |
|       "properties": {
 | |
|         "membership": {
 | |
|           "type": "string",
 | |
|           "description": "This user's membership state in this room.",
 | |
|           "required": true
 | |
|         },
 | |
|         "room_id": {
 | |
|           "type": "string",
 | |
|           "description": "The ID of this room.",
 | |
|           "required": true
 | |
|         },
 | |
|         "messages": {
 | |
|           "type": "PaginationChunk",
 | |
|           "description": "The most recent messages for this room, governed by the limit parameter.",
 | |
|           "required": false
 | |
|         },
 | |
|         "state": {
 | |
|           "type": "array",
 | |
|           "description": "A list of state events representing the current state of the room.",
 | |
|           "required": false,
 | |
|           "items": {
 | |
|             "$ref": "Event"
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| }
 |