> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ruddr.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a project task

A work item or activity that helps complete a project.


## OpenAPI

````yaml openapi.json POST /project-tasks
openapi: 3.1.0
info:
  title: Ruddr API
  version: '1.0'
  license:
    name: Proprietary
    url: https://www.ruddr.com/master-subscription-agreement
servers:
  - url: https://www.ruddr.io/api/workspace
security:
  - bearerAuth: []
tags:
  - name: Allocations
    description: Manage resource allocations for scheduling team members to projects.
  - name: Availability Periods
    description: Manage member availability periods for capacity planning.
  - name: Business Units
    description: >-
      Manage business units for organizing invoice settings and grouping clients
      and projects.
  - name: Client Roles
    description: Manage client roles and their billing terms.
  - name: Client Tags
    description: Manage tags for categorizing clients.
  - name: Clients
    description: Manage clients and their billing settings.
  - name: Companies
    description: Manage companies in the CRM pipeline.
  - name: Company Spend Tiers
    description: Manage spend tier classifications for companies.
  - name: Company Types
    description: Manage type classifications for companies.
  - name: Contact Tags
    description: Manage tags for categorizing contacts.
  - name: Contacts
    description: Manage contacts associated with clients, companies, and opportunities.
  - name: Cost Periods
    description: Manage member cost rate periods for profitability tracking.
  - name: Credit Notes
    description: View credit notes issued against invoices.
  - name: Disciplines
    description: Manage disciplines for classifying member skill areas.
  - name: Exchange Rate
    description: Get exchange rates for multi-currency workspaces.
  - name: Exchange Rate Periods
    description: Manage custom exchange rate periods for currency conversion.
  - name: Expense Categories
    description: Manage expense categories for tracking and reporting.
  - name: Expense Items
    description: Manage individual expense line items.
  - name: Expense Reports
    description: Manage expense reports submitted by members.
  - name: Holiday Schedules
    description: Manage holiday schedules for capacity and availability planning.
  - name: Holidays
    description: Manage individual holidays within holiday schedules.
  - name: Industries
    description: Manage industry classifications for clients and companies.
  - name: Invoice Items
    description: Manage invoice line item types for billing.
  - name: Invoices
    description: View invoices and their line items.
  - name: Job Titles
    description: Manage job title classifications for members.
  - name: Locations
    description: Manage office locations for members and projects.
  - name: Member Certifications
    description: Manage certification types that can be assigned to members.
  - name: Member Levels
    description: Manage member level classifications for career tracking.
  - name: Member Tags
    description: Manage tags for categorizing members.
  - name: Members
    description: Manage workspace members and their profiles.
  - name: Opportunities
    description: Manage sales opportunities in the CRM pipeline.
  - name: Opportunity Pipelines
    description: Manage pipelines for tracking opportunity stages.
  - name: Opportunity Lead Sources
    description: Manage lead source classifications for opportunities.
  - name: Opportunity Stages
    description: Manage pipeline stage definitions for opportunities.
  - name: Opportunity Tags
    description: Manage tags for categorizing opportunities.
  - name: Opportunity Types
    description: Manage type classifications for opportunities.
  - name: Payment Methods
    description: Manage payment method options for invoices.
  - name: Payments
    description: View payments received against invoices.
  - name: Pipeline Activities
    description: >-
      Manage pipeline activities associated with companies, contacts, members,
      and opportunities.
  - name: Pipeline Activity Types
    description: Manage activity type classifications for pipeline activities.
  - name: Practices
    description: Manage practice area classifications for organizing projects and members.
  - name: Project Budget Expenses
    description: Manage expense budget line items on projects.
  - name: Project Budget Other Items
    description: Manage other budget line items on projects.
  - name: Project Budget Product Items
    description: Manage product budget line items on projects.
  - name: Project Budget Service Items
    description: Manage additional service budget line items on projects.
  - name: Project Expenses
    description: Manage project-level expense line items.
  - name: Project Groups
    description: View project groups for organizing related projects.
  - name: Project Health Reports
    description: Manage project health status reports.
  - name: Project Invoice Milestones
    description: Manage invoice milestones for fixed-fee project billing.
  - name: Project Members
    description: Manage team member assignments on projects.
  - name: Project Monthly Budget Expenses
    description: Manage monthly expense budget line items on projects.
  - name: Project Monthly Budget Other Items
    description: Manage monthly other budget line items on projects.
  - name: Project Monthly Budget Product Items
    description: Manage monthly product budget line items on projects.
  - name: Project Monthly Budget Service Items
    description: Manage monthly additional service budget line items on projects.
  - name: Project Other Items
    description: Manage project-level other item line items.
  - name: Project Product Items
    description: Manage project-level product line items.
  - name: Project Revenue Adjustments
    description: Manage earned revenue adjustments for projects.
  - name: Project Revenue Recognition Entries
    description: Manage revenue recognition entries for projects.
  - name: Project Roles
    description: Manage roles defined on projects for billing and staffing.
  - name: Project Service Items
    description: Manage project-level additional service line items.
  - name: Project Tags
    description: Manage tags for categorizing projects.
  - name: Project Tasks
    description: Manage tasks on projects for time tracking and planning.
  - name: Project Types
    description: Manage type classifications for projects.
  - name: Projects
    description: Manage projects and their settings.
  - name: Resource Placeholders
    description: Manage placeholder resources for allocation planning.
  - name: Security Roles
    description: View security roles for assigning member permissions.
  - name: Skills
    description: Manage skill classifications for members and resource planning.
  - name: Task Categories
    description: Manage task category classifications for project tasks.
  - name: Task Tags
    description: Manage tags for categorizing project tasks.
  - name: Task Templates
    description: Manage reusable task templates for projects.
  - name: Tax Rates
    description: Manage tax rates for invoicing.
  - name: Time Entries
    description: Manage time entries for tracking hours on projects.
  - name: Time Off Types
    description: Manage time off type classifications.
  - name: Timesheet Attestations
    description: Manage attestation statements members sign when submitting timesheets.
  - name: Timesheets
    description: Manage timesheet submissions for tracking hours across a period.
  - name: Utilization Target Periods
    description: Manage member utilization target periods for capacity planning.
  - name: Workspace Roles
    description: Manage workspace-level roles for billing rate configuration.
paths:
  /project-tasks:
    post:
      tags:
        - Project Tasks
      summary: Create a project task
      operationId: create-a-project-task
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - projectId
                - name
              properties:
                projectId:
                  type: string
                  description: The ID of the project to assign this task to (`uuid`).
                name:
                  type: string
                  description: The name of the task (max 255 chars).
                notes:
                  type:
                    - string
                    - 'null'
                  description: Any notes associated with the task (max 5000 chars).
                statusId:
                  type: string
                  description: >-
                    The status of the task, defaults to `not_started` if not
                    set.
                  enum:
                    - not_started
                    - in_progress
                    - completed
                start:
                  type:
                    - string
                    - 'null'
                  description: >-
                    The start date (`YYYY-MM-DD`) of the task, must come on or
                    before `end` date if set.
                  format: date
                end:
                  type:
                    - string
                    - 'null'
                  description: >-
                    The end date (`YYYY-MM-DD`) of the task, must come on or
                    after the `start` date if set.
                  format: date
                isBillable:
                  type: boolean
                  description: >-
                    Whether the task is billable, defaults to `true` if not set.
                    Will be overridden to `false` if the project is not
                    billable.
                lockTime:
                  type: boolean
                  description: >-
                    When enabled, prevents new time entries from being created
                    with this task.
                capHours:
                  type: boolean
                  description: >-
                    When enabled, prevents time entries that would exceed the
                    budgeted hours for this task.
                capAssignedHours:
                  type: boolean
                  description: >-
                    When enabled, prevents time entries that would exceed the
                    budgeted hours assigned to the role or member for this task.
                code:
                  type:
                    - string
                    - 'null'
                  description: The project task code (max 255 chars).
                forAssignedOnly:
                  type: boolean
                  description: >-
                    When enabled, only assigned members and roles can track time
                    to this task.
                requireNotes:
                  type: boolean
                  description: Requires notes on time entries for this task.
                budgetedHours:
                  type:
                    - number
                    - 'null'
                  description: >-
                    The budgeted hours for the task. Only used if there are no
                    roles or project members set.
                budgetedServicesRevenue:
                  type:
                    - number
                    - 'null'
                  description: >-
                    The budgeted services revenue for the task. Only used if
                    there are no roles or project members set.
                roles:
                  type: array
                  description: >-
                    The list of project roles to assign to this task. IDs must
                    be unique.
                  items:
                    type: object
                    required:
                      - id
                    properties:
                      id:
                        type: string
                        description: The ID (`uuid`) of the project role.
                      hours:
                        type:
                          - number
                          - 'null'
                        description: >-
                          The budgeted hours allocated to this role for the
                          task.
                projectMembers:
                  type: array
                  description: >-
                    The list of project members to assign to this task. IDs must
                    be unique.
                  items:
                    type: object
                    required:
                      - id
                    properties:
                      id:
                        type: string
                        description: The ID (`uuid`) of the project member.
                      hours:
                        type:
                          - number
                          - 'null'
                        description: >-
                          The budgeted hours allocated to this member for the
                          task. Only used if not using roles.
                tagIds:
                  type: array
                  description: >-
                    A list of project task tag IDs (`uuid`) to associate with
                    this task.
                  items:
                    type: string
                taskCategoryId:
                  type: string
                  description: >-
                    The ID (`uuid`) of the task category to assign to this task.
                    Defaults to the workspace's default task category if not
                    provided.
                parentId:
                  type:
                    - string
                    - 'null'
                  description: The ID (`uuid`) of the parent task to nest this task under.
                recordStatusId:
                  type: string
                  description: >-
                    The record status of the task, defaults to `active` if not
                    set.
                  enum:
                    - active
                    - archived
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectTask'
              examples:
                Result:
                  value:
                    id: a3f8c214-7b92-4e61-9d05-1c83e6f2a047
                    name: Backend API Integration
                    notes: Implement REST endpoints for the client portal module.
                    order: 16384
                    position: 16384
                    statusId: in_progress
                    start: '2026-02-01'
                    end: '2026-03-31'
                    isBillable: true
                    lockTime: false
                    capHours: true
                    capAssignedHours: false
                    code: DEV-042
                    forAssignedOnly: false
                    requireNotes: false
                    recordStatusId: active
                    budgetedHours: 120.5
                    budgetedServicesRevenue: 18075
                    createdAt: '2026-01-10T14:22:35.491Z'
                    project:
                      id: f52e9a17-3c64-4b88-a701-8d94bc2f5e63
                      name: Acme Portal Redesign
                      client:
                        id: 2b7d8e41-9f53-4a26-b8c2-6e1f5d3a9074
                        name: Acme Company, Inc.
                    parent:
                      id: 7d1b4f93-2a85-4c70-8e16-5b29d4c7e831
                      name: Phase 2 Development
                    roles:
                      - id: 0e011217-4925-4931-b2ee-257da8d9f0fe
                        name: Senior Developer
                        hours: 80
                      - id: c4a9f312-8b57-4d93-a625-1e7f2b8d4c06
                        name: QA Engineer
                        hours: 40.5
                    projectMembers:
                      - id: 5c2d9f84-1b67-4e38-a915-7d3c8e2f6a41
                        member:
                          id: b8f4e293-6d17-4a85-9c42-3e7f1d5b2a68
                          name: Jordan Rivera
                        hours: null
                    tags:
                      - id: 91b3e724-5f18-4a92-8c37-2d6e4f1b5a89
                        name: Backend
                      - id: 3e8f1d62-7a45-4b19-9c28-6f2e5d4a3b17
                        name: High Priority
                    taskCategory:
                      id: c7e2f4a1-9b38-4d65-8c17-3a5f1e2d4b96
                      name: Standard Task
                      type: standard
        '400':
          description: '400'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
              examples:
                Validation:
                  value:
                    status: 400
                    message: >-
                      There was a problem processing your request. See errors
                      for more details.
                    errors:
                      - '''name'' is required'
                InvalidData:
                  value:
                    status: 400
                    message: >-
                      'projectId' '24024dd6-4b44-4a0e-a2d6-c4e2f2faca9a' does
                      not match a valid project.
      deprecated: false
components:
  schemas:
    ProjectTask:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the object.
        name:
          type: string
          description: The name of the task.
        notes:
          type:
            - string
            - 'null'
          description: Any notes associated with the task.
        order:
          type: integer
          description: The display order position of the task (same value as `position`).
        position:
          type: integer
          description: The numeric position of the task used for ordering.
        statusId:
          type: string
          description: The status of the task.
          enum:
            - not_started
            - in_progress
            - completed
        start:
          type:
            - string
            - 'null'
          description: The start date for the task. Will be in the form YYYY-MM-DD.
          format: date
        end:
          type:
            - string
            - 'null'
          description: >-
            The end date for the task. Will be in the form YYYY-MM-DD. `null` if
            no end date is set.
          format: date
        isBillable:
          type: boolean
          description: >-
            Whether the task is billable. Overridden to `false` when the project
            is not billable.
        lockTime:
          type: boolean
          description: >-
            When enabled, prevents new time entries from being created with this
            task.
        capHours:
          type: boolean
          description: >-
            When enabled, prevents time entries that would exceed the budgeted
            hours for this task.
        capAssignedHours:
          type: boolean
          description: >-
            When enabled, prevents time entries that would exceed the budgeted
            hours assigned to the role or member for this task.
        code:
          type:
            - string
            - 'null'
          description: The project task code.
        forAssignedOnly:
          type: boolean
          description: >-
            When enabled, only assigned members and roles can track time to this
            task.
        requireNotes:
          type: boolean
          description: >-
            Whether notes are required on time entries for this task. Overridden
            to `true` when the project requires notes.
        recordStatusId:
          type: string
          description: The record status of the task.
          enum:
            - active
            - archived
        budgetedHours:
          type:
            - number
            - 'null'
          description: The budgeted hours for the task.
        budgetedServicesRevenue:
          type:
            - number
            - 'null'
          description: The budgeted services revenue for the task.
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the object was created.
        project:
          type: object
          description: The project this task belongs to.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the project.
            client:
              type: object
              description: The client associated with the project.
              properties:
                id:
                  type: string
                  description: The unique identifier for the object.
                name:
                  type: string
                  description: The name of the client.
        parent:
          type:
            - object
            - 'null'
          description: >-
            The parent task this task is nested under, or `null` if it has no
            parent.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the parent task.
        roles:
          type:
            - array
            - 'null'
          description: >-
            The list of project roles assigned to this task. `null` when the
            project does not use roles.
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique identifier for the object.
              name:
                type: string
                description: The name of the project role.
              hours:
                type:
                  - number
                  - 'null'
                description: The budgeted hours allocated to this role for the task.
        projectMembers:
          type: array
          description: The list of project members directly assigned to this task.
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique identifier for the object.
              member:
                type: object
                description: The member associated with the project member assignment.
                properties:
                  id:
                    type: string
                    description: The unique identifier for the object.
                  name:
                    type: string
                    description: The full name of the member.
              hours:
                type:
                  - number
                  - 'null'
                description: >-
                  The budgeted hours allocated to this member for the task.
                  `null` when the project uses roles.
        tags:
          type: array
          description: The list of tags associated with this task.
          items:
            type: object
            properties:
              id:
                type: string
                description: The unique identifier for the object.
              name:
                type: string
                description: The name of the tag.
        taskCategory:
          type: object
          description: The task category associated with this task.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the task category.
            type:
              type: string
              description: The type of the task category.
              enum:
                - standard
                - rollup
    ValidationErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: The HTTP status code.
        message:
          type: string
          description: A human-readable error message.
        errors:
          type: array
          description: A list of validation error messages.
          items:
            type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````