165 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			165 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
| {
 | |
|   "apiVersion": "1.0.0",
 | |
|   "swaggerVersion": "1.2",
 | |
|   "basePath": "http://localhost:8008/_matrix/client/api/v1",
 | |
|   "resourcePath": "/presence",
 | |
|   "produces": [
 | |
|     "application/json"
 | |
|   ],
 | |
|   "consumes": [
 | |
|     "application/json"
 | |
|   ],
 | |
|   "apis": [
 | |
|     {
 | |
|       "path": "/presence/{userId}/status",
 | |
|       "operations": [
 | |
|         {
 | |
|           "method": "PUT",
 | |
|           "summary": "Update this user's presence state.",
 | |
|           "notes": "This can only be done by the logged in user.",
 | |
|           "type": "void",
 | |
|           "nickname": "update_presence",
 | |
|           "parameters": [
 | |
|             {
 | |
|               "name": "body",
 | |
|               "description": "The new presence state",
 | |
|               "required": true,
 | |
|               "type": "PresenceUpdate",
 | |
|               "paramType": "body"
 | |
|             },
 | |
|             {
 | |
|               "name": "userId",
 | |
|               "description": "The user whose presence to set.",
 | |
|               "required": true,
 | |
|               "type": "string",
 | |
|               "paramType": "path"
 | |
|             }
 | |
|           ]
 | |
|         },
 | |
|         {
 | |
|           "method": "GET",
 | |
|           "summary": "Get this user's presence state.",
 | |
|           "notes": "Get this user's presence state.",
 | |
|           "type": "PresenceUpdate",
 | |
|           "nickname": "get_presence",
 | |
|           "parameters": [
 | |
|             {
 | |
|               "name": "userId",
 | |
|               "description": "The user whose presence to get.",
 | |
|               "required": true,
 | |
|               "type": "string",
 | |
|               "paramType": "path"
 | |
|             }
 | |
|           ]
 | |
|         }
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       "path": "/presence/list/{userId}",
 | |
|       "operations": [
 | |
|         {
 | |
|           "method": "GET",
 | |
|           "summary": "Retrieve a list of presences for all of this user's friends.",
 | |
|           "notes": "",
 | |
|           "type": "array",
 | |
|           "items": {
 | |
|             "$ref": "Presence"
 | |
|           },
 | |
|           "nickname": "get_presence_list",
 | |
|           "parameters": [
 | |
|             {
 | |
|               "name": "userId",
 | |
|               "description": "The user whose presence list to get.",
 | |
|               "required": true,
 | |
|               "type": "string",
 | |
|               "paramType": "path"
 | |
|             }
 | |
|           ]
 | |
|         },
 | |
|         {
 | |
|           "method": "POST",
 | |
|           "summary": "Add or remove users from this presence list.",
 | |
|           "notes": "Add or remove users from this presence list.",
 | |
|           "type": "void",
 | |
|           "nickname": "modify_presence_list",
 | |
|           "parameters": [
 | |
|             {
 | |
|               "name": "userId",
 | |
|               "description": "The user whose presence list is being modified.",
 | |
|               "required": true,
 | |
|               "type": "string",
 | |
|               "paramType": "path"
 | |
|             },
 | |
|             {
 | |
|               "name": "body",
 | |
|               "description": "The modifications to make to this presence list.",
 | |
|               "required": true,
 | |
|               "type": "PresenceListModifications",
 | |
|               "paramType": "body"
 | |
|             }
 | |
|           ]
 | |
|         }
 | |
|       ]
 | |
|     }
 | |
|   ],
 | |
|   "models": {
 | |
|     "PresenceUpdate": {
 | |
|       "id": "PresenceUpdate",
 | |
|       "properties": {
 | |
|         "presence": {
 | |
|           "type": "string",
 | |
|           "description": "Enum: The presence state.",
 | |
|           "enum": [
 | |
|             "offline",
 | |
|             "unavailable",
 | |
|             "online",
 | |
|             "free_for_chat"
 | |
|           ]
 | |
|         },
 | |
|         "status_msg": {
 | |
|           "type": "string",
 | |
|           "description": "The user-defined message associated with this presence state."
 | |
|         }
 | |
|       },
 | |
|       "subTypes": [
 | |
|         "Presence"
 | |
|       ]
 | |
|     },
 | |
|     "Presence": {
 | |
|       "id": "Presence",
 | |
|       "properties": {
 | |
|         "last_active_ago": {
 | |
|           "type": "integer",
 | |
|           "format": "int64",
 | |
|           "description": "The last time this user performed an action on their home server."
 | |
|         },
 | |
|         "user_id": {
 | |
|           "type": "string",
 | |
|           "description": "The fully qualified user ID"
 | |
|         }
 | |
|       }
 | |
|     },
 | |
|     "PresenceListModifications": {
 | |
|       "id": "PresenceListModifications",
 | |
|       "properties": {
 | |
|         "invite": {
 | |
|           "type": "array",
 | |
|           "description": "A list of user IDs to add to the list.",
 | |
|           "items": {
 | |
|             "type": "string",
 | |
|             "description": "A fully qualified user ID."
 | |
|           }
 | |
|         },
 | |
|         "drop": {
 | |
|           "type": "array",
 | |
|           "description": "A list of user IDs to remove from the list.",
 | |
|           "items": {
 | |
|             "type": "string",
 | |
|             "description": "A fully qualified user ID."
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| }
 |