project.task.type: fields, relations and API
The project.task.type model ("Task Stage") is a persistent model declared by the Project module, then extended by 2 other modules. It exposes 23 fields, 17 of them declared directly on the model; 9 fields from other models point to it. Below you will find every field with its technical name, type, label and relations, followed by an Odoo 19 JSON-2 API call.
Model identity
- Technical name
project.task.type- Label
- Task Stage
- Type
- Persistent (models.Model)
- SQL table
project_task_type- Origin module
- Project (
project) - Extended by
- sale_project, project_sms
- Default order (_order)
sequence, id
Model fields
17 own fields, 0 inherited from mixins and 6 automatic ORM fields. Click a name to get a direct link to that field.
23 of 23 fields shown
| Technical name | Label | Type | Details |
|---|---|---|---|
| active | Active | boolean | |
| auto_validation_state | Automatic Kanban Status Automatically modify the state when the customer replies to the feedback for this stage. * Good feedback from the customer will update the state to 'Approved' (green bullet). * Neutral or bad feedback will set the kanban state to 'Changes Requested' (orange bullet). | boolean | |
| color | Color | integer | |
| fold | Folded | boolean | |
| mail_template_id | Email Template If set, an email will be automatically sent to the customer when the task reaches this stage. | many2one | |
| name | Name | char | requiredtranslatable |
| project_ids | Projects Projects in which this stage is present. If you follow a similar workflow in several projects, you can share this stage among them and get consolidated information this way. | many2many | |
| rating_active | Send a customer rating request | boolean | |
| rating_request_deadline | Rating Request Deadline | datetime | computed, stored |
| rating_status | Customer Ratings Status Collect feedback from your customers by sending them a rating request when a task enters a certain stage. To do so, define a rating email template on the stage. Rating when changing stage: an email will be automatically sent when a task reaches the stage. Periodic rating: an email will be automatically sent at regular intervals as long as the task remains in the stage. | selection | required Values: |
| rating_status_period | Rating Frequency | selection | required Values: |
| rating_template_id | Rating Email Template If set, a rating request will automatically be sent by email to the customer when the task reaches this stage. Alternatively, it will be sent at a regular interval as long as the task remains in this stage. | many2one | |
| rotting_threshold_days | Days to rot Day count before tasks in this stage become stale. Set to 0 to disable Changing this parameter will not affect the rotting status/date of resources last updated before this change. | integer | |
| sequence | Sequence | integer | |
| show_rating_active | Show Rating Active | boolean | computed added by Sales - Project ( |
| sms_template_id | SMS Template If set, an SMS Text Message will be automatically sent to the customer when the task reaches this stage. | many2one | added by Project - SMS ( |
| user_id | Stage Owner | many2one | computed, stored |
| create_date | Created on | datetime | read-onlyautomatic |
| create_uid | Created by | many2one | read-onlyautomatic |
| display_name | Display Name | char | read-onlycomputedautomatic |
| id | ID | integer | read-onlyautomatic |
| write_date | Last Updated on | datetime | read-onlyautomatic |
| write_uid | Last Updated by | many2one | read-onlyautomatic |
Relations
Models linked from this model
- mail.template: mail_template_id, rating_template_id
- project.project: project_ids
- res.users: user_id
- sms.template: sms_template_id
Fields of other models pointing here
- project.project: type_ids
- project.task: personal_stage_type_id, personal_stage_type_ids, stage_id
- project.task.burndown.chart.report: stage_id
- project.task.stage.personal: stage_id
- project.task.type.delete.wizard: stage_ids
- report.project.task.user: personal_stage_type_ids, stage_id
Reading this model through the API
Odoo 19 JSON-2 API call reading the first five records with real fields of the model. Replace the instance, database and API key with your own.
curl -X POST "https://your-instance.odoo.com/json/2/project.task.type/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: your-db" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","rating_status","rating_status_period","mail_template_id","rating_template_id"],"limit":5}'import requests
BASE_URL = "https://your-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "your-db"}
res = requests.post(
f"{BASE_URL}/project.task.type/search_read",
headers=headers,
json={"domain": [], "fields": ["name","rating_status","rating_status_period","mail_template_id","rating_template_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- External API access requires Odoo's Custom plan.
- XML-RPC and JSON-RPC will be removed in Odoo 22 (fall 2028): use JSON-2.
- The access rights and record rules of the key's user apply.
Cite this tool
Writing a tutorial, internal documentation or a forum answer? Copy this link to send your readers to the up-to-date reference.
<a href="https://aidoo.ai/en/outils/explorateur-modeles-odoo/project-task-type">project.task.type (Odoo 19.0)</a>Sources
Data verified on September 23, 2026 · Odoo 19.0 Community
Have an Odoo project, or want to put your ERP to work with AI? Let's talk
Implementation, custom module development, connecting Claude or ChatGPT to your data: tell us about your context and we will reply within 24 business hours.