Task Management API

Base URL

All URLs referenced in the documentation have the following base:

https://api.meetandrock.com/v1/dev

Authentication

All API endpoints require a valid API key in the Authorization header:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.meetandrock.com/v1/dev/task-boards

Task Board Management

List Task Boards

Retrieve all task boards for the project

curl -X GET "https://api.meetandrock.com/v1/dev/task-boards" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:
{
  "data": [
    {
      "id": "uuid",
      "name": "string",
      "description": "string",
      "project_id": "uuid",
      "created_by": "uuid",
      "createdAt": "datetime",
      "updatedAt": "datetime"
    }
  ]
}

Create Task Board

Create a new task board

curl -X POST "https://api.meetandrock.com/v1/dev/task-boards" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Sprint Board",
    "description": "Q1 2024 Sprint Board"
  }'

Response:
{
  "data": {
    "id": "uuid",
    "name": "Sprint Board",
    "description": "Q1 2024 Sprint Board",
    "createdAt": "datetime",
    "updatedAt": "datetime"
  }
}

Update Task Board

Update an existing task board

curl -X PUT "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Board Name",
    "description": "Updated description"
  }'

Delete Task Board

Delete a task board

curl -X DELETE "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response: 201 No Content

Column Management

Endpoints for managing columns within a task board

List Columns

Retrieve all columns for a task board

curl -X GET "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/column" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:
{
  "data": [
    {
      "id": "uuid",
      "name": "To Do",
      "order": 0,
      "color": "#FF5733",
      "project_board_id": "uuid",
      "cards": [...]
    }
  ]
}

Create Column

Create a new column in a task board

curl -X POST "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/column" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "In Progress",
    "order": 1
  }'

Get Column

Retrieve a specific column

curl -X GET "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/column/:projectColumnId" \
  -H "Authorization: Bearer YOUR_API_KEY"

Update Column

Update a column

curl -X PUT "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/column/:projectColumnId" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Column Name",
    "order": 2
  }'

Move Column

Reorder columns within a task board

curl -X PATCH "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/column/:projectColumnId/move" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": 0,
    "to": 2
  }'

Delete Column

Delete a column

curl -X DELETE "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/column/:projectColumnId" \
  -H "Authorization: Bearer YOUR_API_KEY"

Task Management

Endpoints for managing tasks within a task board

List Tasks

Retrieve all tasks in a task board

curl -X GET "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:
{
  "data": [
    {
      "id": "uuid",
      "title": "string",
      "description": "string",
      "column_id": "uuid",
      "milestone_id": "uuid",
      "assigned_to": "uuid",
      "reported_by": "uuid",
      "parent_id": "uuid",
      "estimate": "number",
      "type": "string",
      "order": "number",
      "status": "active|archive",
      "createdAt": "datetime",
      "updatedAt": "datetime"
    }
  ]
}

Create Task

Create a new task

curl -X POST "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Implement user authentication",
    "description": "Add login and registration functionality",
    "column_id": "uuid",
    "milestone_id": "uuid",
    "assigned_to": "uuid",
    "estimate": 8,
    "type": "feature"
  }'

Get Task

Retrieve a specific task

curl -X GET "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task/:taskId" \
  -H "Authorization: Bearer YOUR_API_KEY"

Update Task

Update an existing task

curl -X PUT "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task/:taskId" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Updated Task Title",
    "description": "Updated description",
    "assigned_to": "uuid"
  }'

Move Task

Move a task to a different column and reorder

curl -X POST "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task/:taskId/move" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "column_id": "uuid",
    "cardIndexes": {
      "task-id-1": 0,
      "task-id-2": 1,
      "task-id-3": 2
    }
  }'

Archive Task

Archive a task

curl -X PUT "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task/:taskId/archive" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response: 201 No Content

Delete Task

Delete a task

curl -X DELETE "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task/:taskId" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response: 201 No Content

Task Members & Comments

Endpoints for managing task members and comments

Task Members

Manage members assigned to a task

# List task members
curl -X GET "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task/:taskId/member" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Add task member
curl -X POST "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task/:taskId/member" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "member_id": "uuid"
  }'

# Remove task member
curl -X DELETE "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task/:taskId/member/:taskMemberId" \
  -H "Authorization: Bearer YOUR_API_KEY"

Task Comments

Manage comments on a task

# List task comments
curl -X GET "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task/:taskId/comment" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Add task comment
curl -X POST "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task/:taskId/comment" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "comment": "This looks good!"
  }'

# Delete task comment
curl -X DELETE "https://api.meetandrock.com/v1/dev/task-boards/:projectBoardId/task/:taskId/comment/:taskCommentId" \
  -H "Authorization: Bearer YOUR_API_KEY"

Error Responses

400 Bad Request
{
  "message": "Invalid request parameters"
}

401 Unauthorized
{
  "message": "Invalid or missing API key"
}

404 Not Found
{
  "message": "Task board not found"
}

500 Internal Server Error
{
  "message": "ProjectBoard create failed"
}

Contents