{
	"lexicon": 1,
	"id": "com.atproto.server.createAppPassword",
	"defs": {
		"main": {
			"type": "procedure",
			"description": "Create an App Password.",
			"input": {
				"encoding": "application/json",
				"schema": {
					"type": "object",
					"required": ["name"],
					"properties": {
						"name": {
							"type": "string",
							"description": "A short name for the App Password, to help distinguish them."
						},
						"privileged": {
							"type": "boolean",
							"description": "If an app password has 'privileged' access to possibly sensitive account state. Meant for use with trusted clients."
						}
					}
				}
			},
			"output": {
				"encoding": "application/json",
				"schema": {
					"type": "ref",
					"ref": "#appPassword"
				}
			},
			"errors": [{ "name": "AccountTakedown" }]
		},
		"appPassword": {
			"type": "object",
			"required": ["name", "password", "createdAt"],
			"properties": {
				"name": { "type": "string" },
				"password": { "type": "string" },
				"createdAt": { "type": "string", "format": "datetime" },
				"privileged": { "type": "boolean" }
			}
		}
	}
}
