Lists the organization's project types in their display order. A type configures the projects created from it: its statuses (each with a name and a category: open, in_progress, paused, done or cancelled; a project's status is one of them), its default phases, its custom field definitions (fields: name, slug, type, options) and its initial status. Archived types are left out unless include_archived is true. The list is empty if the organization never opened Projects: projects.projects.create without type_id creates the two built-in types. Requires view access to Projects.
Alcance
projects:read
Permiso
Ver el módulo
Tool del MCP
projects_types_listEn la superficie completa; en la compacta, mb_execute_operation con id: "projects.types.list".
Costo declarado: hasta 701 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).
Parámetros
limitintegerqueryopcional
How many items this page brings at most (see the maximum and the default in the schema).
Por defecto: 50
cursorstringqueryopcional
The next_cursor of the previous page, exactly as it came (only for the same list and filters); without it, the first page.
Returns one project type: name, description, color, icon, statuses (id, name, category, color), default phases, custom field definitions (fields: the slugs that the custom_fields of its projects use, with their type and options), initial status, whether it is the default type and whether it is archived. Not found if the id does not exist in this organization. Requires view access to Projects.
Alcance
projects:read
Permiso
Ver el módulo
Tool del MCP
projects_types_getEn la superficie completa; en la compacta, mb_execute_operation con id: "projects.types.get".
Costo declarado: hasta 2 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).
Parámetros
type_idstringrutarequerido
The type's id (from projects.types.list).
Respuesta
idstring
namestring
statusesarray<object>
fieldsarray<object>
descriptionstring | null
colorstring
iconstring
phasesarray<object>
default_status_idstring
is_defaultboolean
is_archivedboolean
ordernumber
created_by_idstring
Who created it (a user id).
created_by_namestring | null
Display name of created_by_id (list and get; null if it is not a person of the organization).
Creates a project type: name, statuses (at least one, each with a name and a category: open, in_progress, paused, done or cancelled; ids are generated unless given), default phases, custom field definitions (fields; a slug comes from the name unless given), color, icon (an SVG path of a Material Design icon) and the initial status (default_status_id: the id of one of the given statuses; default the first). is_default makes it the type preselected for new projects and unmarks the previous one (the first type of an organization always is). Projects created later copy its statuses, phases and fields. Owners and admins only, as on the screen. Returns type_id and the type.
Alcance
projects:write
Permiso
Editar en el módulo · Solo owner, admin
Tool del MCP
projects_types_createEn la superficie completa; en la compacta, mb_execute_operation con id: "projects.types.create".
Costo declarado: hasta 52 lecturas y 51 escrituras por llamada (cuentan en el cupo diario).
Parámetros
namestringcuerporequerido
The type's name (up to 120 characters).
statusesarray<object>cuerporequerido
Its statuses, in order (1 to 30).
descriptionstringcuerpoopcional
What projects of this type are.
colorstringcuerpoopcional
A hex color like #3b82f6.
iconstringcuerpoopcional
An SVG path of a Material Design icon (24×24), as the screen's type editor saves it.
phasesarray<object>cuerpoopcional
Its phases, in order: each new project copies them.
fieldsarray<object>cuerpoopcional
Its custom fields: each new project copies them as its item fields.
default_status_idstringcuerpoopcional
The id of one of statuses (give that status an id) that new projects start in; default: the first.
is_defaultbooleancuerpoopcional
Make it the organization's default type (the previous default stops being one).
Updates a project type: name, description (null clears), color, icon, statuses, phases, fields, initial status, is_default (only true: it becomes the default and the previous one stops being it) and is_archived (an archived type is not offered for new projects; its projects keep working). statuses, phases and fields replace the whole list: send every entry and keep the id of the ones that stay. Removing a status that projects use moves them to the type's initial status; changing a status between an open and a closed category updates their is_closed (up to 480 projects per call). A field keeps its slug. Projects already created keep their own item statuses and item fields. Owners and admins only. Returns the updated type.
Alcance
projects:write
Permiso
Editar en el módulo · Solo owner, admin
Tool del MCP
projects_types_updateEn la superficie completa; en la compacta, mb_execute_operation con id: "projects.types.update".
Costo declarado: hasta 520 lecturas y 500 escrituras por llamada (cuentan en el cupo diario).
Deletes a project type that no project uses; if some project still has it, it fails with project_type_in_use, which says how many and which (move those projects to another type or delete them first). To stop offering a type without deleting it, archive it. The dry run runs the same check (it fails the same way) and warns about the projects of this type that are in the trash: restored later, they come back with the organization's default type. The type goes to the 30-day trash and comes back as a non-default type when restored. Owners and admins only; outside the screen it requires a dry run and a confirm_token, except a REST DELETE with a key that can delete.
Con una API key, este DELETE se ejecuta directo: el registro queda 30 días en la papelera y la respuesta trae su trash_item_id. Con un token OAuth, y por el MCP, pide dry_run → confirm_token.
Alcance
projects:writey «Permitir eliminar» (projects:delete en OAuth)
Permiso
Editar en el módulo · Solo owner, admin
Tool del MCP
projects_types_deleteEn la superficie completa; en la compacta, mb_execute_operation con id: "projects.types.delete".
Costo declarado: hasta 2 lecturas y 2 escrituras por llamada (cuentan en el cupo diario).
Parámetros
type_idstringrutarequerido
The type's id (from projects.types.list).
Respuesta
oktrue
trash_item_idstring
The trash item this deletion left: the item_id of platform.trash.restore (POST /trash/{item_id}/restore). Missing if nothing went to the trash.
trash_item_idsarray<string>
Only when the deletion left more than one copy: all of them, the first being trash_item_id.
trash_expires_atnumber
When the copy leaves the trash for good (epoch ms): 30 days after the deletion.