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

# Create project task

> Cards on the board, ordered by column and position, each with `assignee_ids` and `label_ids`.

Cards on the board, ordered by column and position, each with `assignee_ids` and `label_ids`. Filter by `column_id`. Create needs a title; the key's owner must hold Projects **create** in the chapter. Assignees must be active chapter members.

**Required scope:** `projects:write`

```json Request theme={null}
{
  "title": "Book venue",
  "column_id": 21,
  "priority": "high",
  "due_date": "2026-09-20T00:00:00Z",
  "assignee_ids": [
    42
  ],
  "label_ids": [
    6
  ]
}
```

```json 201 theme={null}
{
  "status": "success",
  "data": {
    "id": 77,
    "project_id": 4,
    "column_id": 21,
    "title": "Book venue",
    "description": null,
    "priority": "high",
    "position": 0,
    "estimate_minutes": 120,
    "is_open_for_volunteers": false,
    "created_by": 7,
    "assignee_ids": [
      42
    ],
    "label_ids": [
      6
    ],
    "start_date": null,
    "due_date": "2026-09-20T00:00:00Z",
    "createddate": "2026-09-02T00:00:00Z",
    "lastmodifieddate": null
  }
}
```


## OpenAPI

````yaml POST /v1/projects/{project_id}/tasks
openapi: 3.0.3
info:
  title: Transparency Hub Public API
  version: 1.7.0
  description: Key-authenticated REST API for association and chapter integrations.
servers:
  - url: https://api.transparencyhubnetwork.ai/api
  - url: https://testapi.transparencyhubnetwork.ai/api
    description: Test
security:
  - ApiKeyAuth: []
  - BearerAuth: []
paths:
  /v1/projects/{project_id}/tasks:
    post:
      summary: Create project task
      description: Requires scope `projects:write`.
      parameters:
        - name: project_id
          in: path
          required: true
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProjectTaskCreate'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - success
                  data:
                    $ref: '#/components/schemas/ProjectTask'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    ProjectTaskCreate:
      type: object
      required:
        - title
      properties:
        chapter_id:
          type: integer
        title:
          type: string
        description:
          type: string
        column_id:
          type: integer
        priority:
          type: string
        start_date:
          type: string
          format: date-time
        due_date:
          type: string
          format: date-time
        estimate_minutes:
          type: integer
        assignee_ids:
          type: array
          items:
            type: integer
        label_ids:
          type: array
          items:
            type: integer
        is_open_for_volunteers:
          type: boolean
    ProjectTask:
      type: object
      properties:
        id:
          type: integer
          nullable: true
        project_id:
          type: integer
          nullable: true
        column_id:
          type: integer
          nullable: true
        title:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        priority:
          type: string
          nullable: true
        position:
          type: integer
          nullable: true
        estimate_minutes:
          type: integer
          nullable: true
        is_open_for_volunteers:
          type: boolean
          nullable: true
        created_by:
          type: integer
          nullable: true
        assignee_ids:
          type: array
          items:
            type: integer
        label_ids:
          type: array
          items:
            type: integer
        start_date:
          type: string
          format: date-time
          nullable: true
        due_date:
          type: string
          format: date-time
          nullable: true
        createddate:
          type: string
          format: date-time
          nullable: true
        lastmodifieddate:
          type: string
          format: date-time
          nullable: true
    Error:
      type: object
      required:
        - status
        - code
        - message
      properties:
        status:
          type: string
          enum:
            - error
        code:
          type: string
        message:
          type: string
        details:
          type: object
  responses:
    ValidationError:
      description: validation_error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: insufficient_scope or chapter_forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: not_found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: rate_limited; see Retry-After
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
    BearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.