Properties
| Name | Type | Description |
|---|---|---|
| id | object | |
| username | object | |
| string | The user email | |
| emailVerified | boolean | Has the user confirmed their email address? |
| emailPublic | boolean | Has the user accepted to display the email publicly? |
| nsfwPolicy | object | |
| nsfwFlagsDisplayed | object | |
| nsfwFlagsHidden | object | |
| nsfwFlagsWarned | object | |
| nsfwFlagsBlurred | object | |
| adminFlags | object | |
| autoPlayNextVideo | boolean | Automatically start playing the upcoming video after the currently playing video |
| autoPlayNextVideoPlaylist | boolean | Automatically start playing the video on the playlist after the currently playing video |
| autoPlayVideo | boolean | Automatically start playing the video on the watch page |
| p2pEnabled | boolean | whether to enable P2P in the player or not |
| videosHistoryEnabled | boolean | whether to keep track of watched history or not |
| videoLanguages | array | list of languages to filter videos down to |
| language | string | default language for this user |
| videoQuota | integer | The user video quota in bytes |
| videoQuotaDaily | integer | The user daily video quota in bytes |
| role | object | |
| theme | string | Theme enabled by this user |
| account | object | |
| notificationSettings | object | |
| videoChannels | array | |
| blocked | boolean | |
| blockedReason | string | |
| noInstanceConfigWarningModal | boolean | |
| noAccountSetupWarningModal | boolean | |
| noWelcomeModal | boolean | |
| createdAt | string | |
| pluginAuth | string | Auth plugin to use to authenticate the user |
| lastLoginDate | string | |
| twoFactorEnabled | boolean | Whether the user has enabled two-factor authentication or not |
| newFeaturesInfoRead | number | New features information the user has read |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/peertube/main/json-schema/User.json",
"title": "User",
"properties": {
"id": {
"$ref": "#/components/schemas/id"
},
"username": {
"$ref": "#/components/schemas/username"
},
"email": {
"type": "string",
"format": "email",
"description": "The user email"
},
"emailVerified": {
"type": "boolean",
"description": "Has the user confirmed their email address?"
},
"emailPublic": {
"type": "boolean",
"description": "Has the user accepted to display the email publicly?"
},
"nsfwPolicy": {
"$ref": "#/components/schemas/NSFWPolicy"
},
"nsfwFlagsDisplayed": {
"$ref": "#/components/schemas/NSFWFlag"
},
"nsfwFlagsHidden": {
"$ref": "#/components/schemas/NSFWFlag"
},
"nsfwFlagsWarned": {
"$ref": "#/components/schemas/NSFWFlag"
},
"nsfwFlagsBlurred": {
"$ref": "#/components/schemas/NSFWFlag"
},
"adminFlags": {
"$ref": "#/components/schemas/UserAdminFlags"
},
"autoPlayNextVideo": {
"type": "boolean",
"description": "Automatically start playing the upcoming video after the currently playing video"
},
"autoPlayNextVideoPlaylist": {
"type": "boolean",
"description": "Automatically start playing the video on the playlist after the currently playing video"
},
"autoPlayVideo": {
"type": "boolean",
"description": "Automatically start playing the video on the watch page"
},
"p2pEnabled": {
"type": "boolean",
"description": "whether to enable P2P in the player or not"
},
"videosHistoryEnabled": {
"type": "boolean",
"description": "whether to keep track of watched history or not"
},
"videoLanguages": {
"type": "array",
"items": {
"type": "string"
},
"description": "list of languages to filter videos down to"
},
"language": {
"type": "string",
"description": "default language for this user"
},
"videoQuota": {
"type": "integer",
"description": "The user video quota in bytes",
"example": -1
},
"videoQuotaDaily": {
"type": "integer",
"description": "The user daily video quota in bytes",
"example": -1
},
"role": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UserRole"
},
"label": {
"type": "string",
"enum": [
"User",
"Moderator",
"Administrator"
]
}
}
},
"theme": {
"type": "string",
"description": "Theme enabled by this user"
},
"account": {
"$ref": "#/components/schemas/Account"
},
"notificationSettings": {
"$ref": "#/components/schemas/UserNotificationSettings"
},
"videoChannels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VideoChannel"
}
},
"blocked": {
"type": "boolean"
},
"blockedReason": {
"type": "string"
},
"noInstanceConfigWarningModal": {
"type": "boolean"
},
"noAccountSetupWarningModal": {
"type": "boolean"
},
"noWelcomeModal": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"pluginAuth": {
"type": "string",
"description": "Auth plugin to use to authenticate the user"
},
"lastLoginDate": {
"type": "string",
"format": "date-time"
},
"twoFactorEnabled": {
"type": "boolean",
"description": "Whether the user has enabled two-factor authentication or not"
},
"newFeaturesInfoRead": {
"type": "number",
"description": "New features information the user has read"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/User"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.