PLANKA · Schema

User

KanbanProject ManagementSelf-HostedAgileOpen Source

Properties

Name Type Description
id string Unique identifier for the user
email string Email address for login and notifications (private field)
role string User role defining access permissions
name string Full display name of the user
username stringnull Unique username for user identification
avatar objectnull Avatar information for the user with generated URLs
gravatarUrl string Gravatar URL for the user (conditionally added if configured)
phone stringnull Contact phone number
organization stringnull Organization or company name
language stringnull Preferred language for user interface and notifications (personal field)
apiKeyPrefix stringnull Prefix of the API key for display purposes (private field)
subscribeToOwnCards boolean Whether the user subscribes to their own cards (personal field)
subscribeToCardWhenCommenting boolean Whether the user subscribes to cards when commenting (personal field)
turnOffRecentCardHighlighting boolean Whether recent card highlighting is disabled (personal field)
enableFavoritesByDefault boolean Whether favorites are enabled by default (personal field)
defaultEditorMode string Default markdown editor mode (personal field)
defaultHomeView string Default view mode for the home page (personal field)
defaultProjectsOrder string Default sort order for projects display (personal field)
isSsoUser boolean Whether the user is SSO user (private field)
isDeactivated boolean Whether the user account is deactivated and cannot log in
isDefaultAdmin boolean Whether the user is the default admin (visible only to current user or admin)
lockedFieldNames array List of fields locked from editing (visible only to current user or admin)
createdAt stringnull When the user was created
updatedAt stringnull When the user was last updated
View JSON Schema on GitHub

JSON Schema

planka-user-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/planka/main/json-schema/planka-user-schema.json",
  "title": "User",
  "x-generated": "2026-10-27",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/planka-openapi.json#/components/schemas/User",
  "type": "object",
  "required": [
    "id",
    "role",
    "name",
    "username",
    "avatar",
    "phone",
    "organization",
    "isDeactivated",
    "createdAt",
    "updatedAt"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the user"
    },
    "email": {
      "type": "string",
      "format": "email",
      "description": "Email address for login and notifications (private field)"
    },
    "role": {
      "type": "string",
      "enum": [
        "admin",
        "projectOwner",
        "boardUser"
      ],
      "description": "User role defining access permissions"
    },
    "name": {
      "type": "string",
      "description": "Full display name of the user"
    },
    "username": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 3,
      "maxLength": 64,
      "pattern": "^[a-z0-9._-]*$",
      "description": "Unique username for user identification"
    },
    "avatar": {
      "type": [
        "object",
        "null"
      ],
      "required": [
        "url",
        "thumbnailUrls"
      ],
      "description": "Avatar information for the user with generated URLs",
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "URL to the full-size avatar image"
        },
        "thumbnailUrls": {
          "type": "object",
          "required": [
            "cover180"
          ],
          "description": "URLs for different thumbnail sizes",
          "properties": {
            "cover180": {
              "type": "string",
              "format": "uri",
              "description": "URL for 180px thumbnail version"
            }
          }
        }
      }
    },
    "gravatarUrl": {
      "type": "string",
      "format": "uri",
      "description": "Gravatar URL for the user (conditionally added if configured)"
    },
    "phone": {
      "type": [
        "string",
        "null"
      ],
      "description": "Contact phone number"
    },
    "organization": {
      "type": [
        "string",
        "null"
      ],
      "description": "Organization or company name"
    },
    "language": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "ar-YE",
        "bg-BG",
        "ca-ES",
        "cs-CZ",
        "da-DK",
        "de-DE",
        "el-GR",
        "en-GB",
        "en-US",
        "es-ES",
        "et-EE",
        "fa-IR",
        "fi-FI",
        "fr-FR",
        "hu-HU",
        "id-ID",
        "it-IT",
        "ja-JP",
        "ko-KR",
        "nl-NL",
        "pl-PL",
        "pt-BR",
        "pt-PT",
        "ro-RO",
        "ru-RU",
        "sk-SK",
        "sr-Cyrl-RS",
        "sr-Latn-RS",
        "sv-SE",
        "tr-TR",
        "uk-UA",
        "uz-UZ",
        "vi-VN",
        "zh-CN",
        "zh-TW"
      ],
      "description": "Preferred language for user interface and notifications (personal field)"
    },
    "apiKeyPrefix": {
      "type": [
        "string",
        "null"
      ],
      "description": "Prefix of the API key for display purposes (private field)"
    },
    "subscribeToOwnCards": {
      "type": "boolean",
      "default": false,
      "description": "Whether the user subscribes to their own cards (personal field)"
    },
    "subscribeToCardWhenCommenting": {
      "type": "boolean",
      "default": true,
      "description": "Whether the user subscribes to cards when commenting (personal field)"
    },
    "turnOffRecentCardHighlighting": {
      "type": "boolean",
      "default": false,
      "description": "Whether recent card highlighting is disabled (personal field)"
    },
    "enableFavoritesByDefault": {
      "type": "boolean",
      "default": true,
      "description": "Whether favorites are enabled by default (personal field)"
    },
    "defaultEditorMode": {
      "type": "string",
      "enum": [
        "wysiwyg",
        "markup"
      ],
      "default": "wysiwyg",
      "description": "Default markdown editor mode (personal field)"
    },
    "defaultHomeView": {
      "type": "string",
      "enum": [
        "gridProjects",
        "groupedProjects"
      ],
      "default": "groupedProjects",
      "description": "Default view mode for the home page (personal field)"
    },
    "defaultProjectsOrder": {
      "type": "string",
      "enum": [
        "byDefault",
        "alphabetically",
        "byCreationTime"
      ],
      "default": "byDefault",
      "description": "Default sort order for projects display (personal field)"
    },
    "isSsoUser": {
      "type": "boolean",
      "default": false,
      "description": "Whether the user is SSO user (private field)"
    },
    "isDeactivated": {
      "type": "boolean",
      "default": false,
      "description": "Whether the user account is deactivated and cannot log in"
    },
    "isDefaultAdmin": {
      "type": "boolean",
      "description": "Whether the user is the default admin (visible only to current user or admin)"
    },
    "lockedFieldNames": {
      "type": "array",
      "description": "List of fields locked from editing (visible only to current user or admin)",
      "items": {
        "type": "string"
      }
    },
    "createdAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "When the user was created"
    },
    "updatedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "When the user was last updated"
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/planka-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.