# Trello Integration via LowCodeAPI

## Overview

Trello is a visual collaboration tool that creates a shared perspective on any project. It uses boards, lists, and cards to organize tasks and workflows. The Trello API provides comprehensive access to:

- **Boards** - Create, read, update, and delete boards
- **Lists** - Manage lists within boards
- **Cards** - Create and manage cards with due dates, attachments, comments, and more
- **Checklists** - Add checklists to cards for detailed task tracking
- **Members** - Manage board members and their permissions
- **Labels** - Organize cards with color-coded labels
- **Attachments** - Attach files and links to cards
- **Webhooks** - Subscribe to Trello events
- **Search** - Search across boards, cards, and members

## Base Endpoint

```
https://api.lowcodeapi.com/trello/
```

## Authentication

LowCodeAPI handles authentication automatically using OAuth1.0. You only need to:

1. **Sign up** at [Trello Power-Ups Admin](https://trello.com/power-ups/admin) to get your API Key and Secret
2. **Connect your Trello account** in the LowCodeAPI dashboard
3. **Use your `api_token`** in all requests

The `api_token` is your LowCodeAPI authentication token. LowCodeAPI will automatically:
- Fetch your Trello API Key and OAuth tokens
- Apply them to each request
- Handle token refresh when needed

**Auth Type**: OAuth1.0 (API Key + Token)

## API Categories

- **Board** - Manage boards, memberships, lists, cards, labels, and custom fields
- **Lists** - Create and manage lists on boards
- **Card** - CRUD operations for cards, including attachments, comments, labels, and members
- **Checklist** - Manage checklists and checklist items
- **Members** - Retrieve and update member information
- **Organizations** - Manage workspaces/organizations
- **Labels** - Create and update labels
- **Search** - Search for boards, cards, and members

## Common Endpoints

### Category: Board

#### Get a Board

**Method**: `GET` | **LowCodeAPI Path**: `/1/boards/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/boards/id?id={id}&api_token={api_token}
```

**Description**: Retrieve a single board by ID with optional nested resources.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the board (Pattern: ^[0-9a-fA-F]{24}$) |
| `actions` | string | No | Nested resource for board actions |
| `cards` | string | No | Nested resource for cards on the board |
| `lists` | string | No | Nested resource for lists on the board |
| `members` | string | No | Nested resource for board members |
| `memberships` | string | No | Nested resource for board memberships |
| `organization` | boolean | No | Include organization details |
| `fields` | string | No | all or comma-separated list of board fields |

**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/trello/1/boards/id?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN&cards=open&lists=open"
```

**Example Response**:
```json
{
  "data": {
    "id": "5abcd1234ef5678901234567",
    "name": "Project Board",
    "desc": "Main project tracking board",
    "closed": false,
    "url": "https://trello.com/b/abc123",
    "cards": [
      {
        "id": "5abcd1234ef5678901234568",
        "name": "Task 1",
        "closed": false
      }
    ],
    "lists": [
      {
        "id": "5abcd1234ef5678901234569",
        "name": "To Do",
        "closed": false
      }
    ]
  }
}
```

**Official Documentation**: [Get a Board](https://developer.atlassian.com/cloud/trello/rest/api-group-boards/#api-boards-id-get)

---

#### Update a Board

**Method**: `PUT` | **LowCodeAPI Path**: `/1/boards/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/boards/id?id={id}&api_token={api_token}
```

**Description**: Update an existing board's properties.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the board (Pattern: ^[0-9a-fA-F]{24}$) |

**Request Body**:
```json
{
  "name": "Updated Board Name",
  "desc": "New board description",
  "closed": false
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | No | New name for the board (1-16384 characters) |
| `desc` | string | No | New description for the board (0-16384 characters) |
| `closed` | boolean | No | Whether the board is closed |
| `prefs/permissionLevel` | string | No | Permission level: "org", "private", "public", or "public" |
| `prefs/selfJoin` | boolean | No | Whether users can join themselves |
| `prefs/commentPermissions` | string | No | Comment permissions: "disabled", "members", "observers", "org" |

**Example Request**:
```bash
curl -X PUT "https://api.lowcodeapi.com/trello/1/boards/id?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Updated Board Name","desc":"New description"}'
```

**Official Documentation**: [Update a Board](https://developer.atlassian.com/cloud/trello/rest/api-group-boards/#api-boards-id-put)

---

#### Delete a Board

**Method**: `DELETE` | **LowCodeAPI Path**: `/1/boards/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/boards/id?id={id}&api_token={api_token}
```

**Description**: Permanently delete a board.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the board (Pattern: ^[0-9a-fA-F]{24}$) |

**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/trello/1/boards/id?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN"
```

**Official Documentation**: [Delete a Board](https://developer.atlassian.com/cloud/trello/rest/api-group-boards/#api-boards-id-delete)

---

#### Get Lists on a Board

**Method**: `GET` | **LowCodeAPI Path**: `/1/boards/id/lists`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/boards/id/lists?id={id}&api_token={api_token}
```

**Description**: Retrieve all lists on a board.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the board (Pattern: ^[0-9a-fA-F]{24}$) |
| `cards` | string | No | Filter to apply to cards (e.g., "open", "closed", "all") |
| `filter` | string | No | Filter to apply to lists (e.g., "open", "closed", "all") |

**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/trello/1/boards/id/lists?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN&cards=open"
```

**Official Documentation**: [Get Lists on a Board](https://developer.atlassian.com/cloud/trello/rest/api-group-boards/#api-boards-id-lists-get)

---

#### Get Cards on a Board

**Method**: `GET` | **LowCodeAPI Path**: `/1/boards/id/cards`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/boards/id/cards?id={id}&api_token={api_token}
```

**Description**: Retrieve all open cards on a board.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the board |

**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/trello/1/boards/id/cards?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN"
```

**Official Documentation**: [Get Cards on a Board](https://developer.atlassian.com/cloud/trello/rest/api-group-boards/#api-boards-id-cards-get)

---

#### Create a List on a Board

**Method**: `POST` | **LowCodeAPI Path**: `/1/boards/id/lists`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/boards/id/lists?id={id}&api_token={api_token}
```

**Description**: Create a new list on a board.

**Request Body**:
```json
{
  "name": "To Do",
  "pos": "top"
}
```

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the board (Pattern: ^[0-9a-fA-F]{24}$) |

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | Yes | The name of the list (1-16384 characters) |
| `pos` | string | No | Position: "top", "bottom", or a positive number |

**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/trello/1/boards/id/lists?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"In Progress","pos":"top"}'
```

**Official Documentation**: [Create a List on a Board](https://developer.atlassian.com/cloud/trello/rest/api-group-boards/#api-boards-id-lists-post)

---

### Category: Lists

#### Get a List

**Method**: `GET` | **LowCodeAPI Path**: `/1/lists/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/lists/id?id={id}&api_token={api_token}
```

**Description**: Get information about a specific list.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the list |
| `fields` | string | No | all or comma-separated list of fields (name, closed, idBoard, pos) |

**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/trello/1/lists/id?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN"
```

**Official Documentation**: [Get a List](https://developer.atlassian.com/cloud/trello/rest/api-group-lists/#api-lists-id-get)

---

#### Update a List

**Method**: `PUT` | **LowCodeAPI Path**: `/1/lists/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/lists/id?id={id}&api_token={api_token}
```

**Description**: Update list properties.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the list |
| `name` | string | No | New name for the list |
| `closed` | boolean | No | Whether the list should be archived |
| `pos` | string|number | No | Position: "top", "bottom", or a positive number |
| `subscribed` | boolean | No | Whether the active member is subscribed |

**Example Request**:
```bash
curl -X PUT "https://api.lowcodeapi.com/trello/1/lists/id?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN&name=Updated%20List%20Name"
```

**Official Documentation**: [Update a List](https://developer.atlassian.com/cloud/trello/rest/api-group-lists/#api-lists-id-put)

---

#### Archive all Cards in List

**Method**: `POST` | **LowCodeAPI Path**: `/1/lists/id/archiveallcards`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/lists/id/archiveallcards?id={id}&api_token={api_token}
```

**Description**: Archive all cards in a list.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the list (Pattern: ^[0-9a-fA-F]{24}$) |

**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/trello/1/lists/id/archiveallcards?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN"
```

**Official Documentation**: [Archive all Cards in List](https://developer.atlassian.com/cloud/trello/rest/api-group-lists/#api-lists-id-archiveallcards-post)

---

### Category: Card

#### Get a Card

**Method**: `GET` | **LowCodeAPI Path**: `/1/cards/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/cards/id?id={id}&api_token={api_token}
```

**Description**: Retrieve a single card by ID.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the card (Pattern: ^[0-9a-fA-F]{24}$) |
| `actions` | string | No | Nested resource for card actions |
| `attachments` | boolean | No | Include attachment details |
| `members` | boolean | No | Include member details |
| `checklists` | string | No | Nested resource for checklists |
| `fields` | string | No | all or comma-separated list of card fields |

**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/trello/1/cards/id?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN&members=true&attachments=true"
```

**Official Documentation**: [Get a Card](https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-get)

---

#### Create a Card

**Method**: `POST` | **LowCodeAPI Path**: `/1/cards`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/cards?api_token={api_token}
```

**Description**: Create a new card on a list.

**Request Body**:
```json
{
  "name": "New Task",
  "desc": "Task description",
  "idList": "5abcd1234ef5678901234567",
  "due": "2024-12-31T23:59:59Z",
  "labels": ["green", "high priority"]
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | Yes | The name for the card (1-16384 characters) |
| `idList` | string | Yes | The ID of the list to add the card to |
| `desc` | string | No | Card description (0-16384 characters) |
| `due` | string | No | Due date (ISO 8601 format) |
| `idMembers` | array | No | Array of member IDs to add |
| `idLabels` | array | No | Array of label IDs to add |
| `pos` | string|number | No | Position: "top", "bottom", or positive number |

**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/trello/1/cards?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"New Task","idList":"5abcd1234ef5678901234567","desc":"Complete this task"}'
```

**Official Documentation**: [Create a Card](https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-post)

---

#### Update a Card

**Method**: `PUT` | **LowCodeAPI Path**: `/1/cards/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/cards/id?id={id}&api_token={api_token}
```

**Description**: Update card properties.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the card |
| `name` | string | No | New name for the card |
| `desc` | string | No | New description |
| `closed` | boolean | No | Whether the card is archived |
| `due` | string | No | Due date (ISO 8601 format) |
| `idList` | string | No | ID of list to move card to |
| `pos` | string|number | No | Position: "top", "bottom", or positive number |

**Example Request**:
```bash
curl -X PUT "https://api.lowcodeapi.com/trello/1/cards/id?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN&name=Updated%20Task%20Name&due=2024-12-31T23:59:59Z"
```

**Official Documentation**: [Update a Card](https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-put)

---

#### Delete a Card

**Method**: `DELETE` | **LowCodeAPI Path**: `/1/cards/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/cards/id?id={id}&api_token={api_token}
```

**Description**: Permanently delete a card.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the card |

**Example Request**:
```bash
curl -X DELETE "https://api.lowcodeapi.com/trello/1/cards/id?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN"
```

**Official Documentation**: [Delete a Card](https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-delete)

---

#### Add a Comment to a Card

**Method**: `POST` | **LowCodeAPI Path**: `/1/cards/id/actions/comments`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/cards/id/actions/comments?id={id}&api_token={api_token}
```

**Description**: Add a comment to a card.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the card (Pattern: ^[0-9a-fA-F]{24}$) |

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `text` | string | Yes | The comment text |

**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/trello/1/cards/id/actions/comments?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"This is a comment on the card"}'
```

**Official Documentation**: [Add a comment](https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-actions-comments-post)

---

#### Add a Label to a Card

**Method**: `POST` | **LowCodeAPI Path**: `/1/cards/id/idlabels`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/cards/id/idlabels?id={id}&api_token={api_token}
```

**Description**: Add a label to a card.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the card (Pattern: ^[0-9a-fA-F]{24}$) |

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `value` | string | Yes | The ID of the label to add (Pattern: ^[0-9a-fA-F]{24}$) |

**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/trello/1/cards/id/idlabels?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"value":"5abcd1234ef5678901234568"}'
```

**Official Documentation**: [Add Label to Card](https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-idlabels-post)

---

#### Add a Member to a Card

**Method**: `POST` | **LowCodeAPI Path**: `/1/cards/id/idmembers`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/cards/id/idmembers?id={id}&api_token={api_token}
```

**Description**: Add a member to a card.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the card (Pattern: ^[0-9a-fA-F]{24}$) |

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `value` | string | Yes | The ID of the member to add (Pattern: ^[0-9a-fA-F]{24}$) |

**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/trello/1/cards/id/idmembers?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"value":"5abcd1234ef5678901234569"}'
```

**Official Documentation**: [Add Member to Card](https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-idmembers-post)

---

#### Get Attachments on a Card

**Method**: `GET` | **LowCodeAPI Path**: `/1/cards/id/attachments`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/cards/id/attachments?id={id}&api_token={api_token}
```

**Description**: List all attachments on a card.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the card (Pattern: ^[0-9a-fA-F]{24}$) |
| `fields` | string | No | all or comma-separated list of attachment fields |
| `filter` | string | No | Use "cover" to restrict to just the cover attachment |

**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/trello/1/cards/id/attachments?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN"
```

**Official Documentation**: [Get Attachments](https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-attachments-get)

---

### Category: Checklist

#### Get Checklists on a Card

**Method**: `GET` | **LowCodeAPI Path**: `/1/cards/id/checklists`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/cards/id/checklists?id={id}&api_token={api_token}
```

**Description**: Get all checklists on a card.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the card (Pattern: ^[0-9a-fA-F]{24}$) |
| `checkItems` | string | No | "all" or "none" - whether to include checklist items |
| `checkItem_fields` | string | No | all or comma-separated list of fields |

**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/trello/1/cards/id/checklists?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN&checkItems=all"
```

**Official Documentation**: [Get Checklists](https://developer.atlassian.com/cloud/trello/rest/api-group-cards/#api-cards-id-checklists-get)

---

#### Create a Checklist

**Method**: `POST` | **LowCodeAPI Path**: `/1/checklists`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/checklists?api_token={api_token}
```

**Description**: Create a new checklist on a card.

**Request Body**:
```json
{
  "name": "Task Checklist",
  "idCard": "5abcd1234ef5678901234567"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | No | The name for the checklist |
| `idCard` | string | Yes | The ID of the card to add the checklist to |
| `pos` | string|number | No | Position: "top", "bottom", or positive number |

**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/trello/1/checklists?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Deployment Checklist","idCard":"5abcd1234ef5678901234567"}'
```

**Official Documentation**: [Create Checklist](https://developer.atlassian.com/cloud/trello/rest/api-group-checklists/#api-checklists-post)

---

#### Add an Item to a Checklist

**Method**: `POST` | **LowCodeAPI Path**: `/1/checklists/id/checkitems`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/checklists/id/checkitems?id={id}&api_token={api_token}
```

**Description**: Add an item to a checklist.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the checklist (Pattern: ^[0-9a-fA-F]{24}$) |

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | Yes | The name of the checklist item (1-16384 characters) |
| `pos` | string|number | No | Position: "top", "bottom", or positive number |
| `checked` | boolean | No | Whether the item is already checked |
| `due` | string | No | Due date for the item |

**Example Request**:
```bash
curl -X POST "https://api.lowcodeapi.com/trello/1/checklists/id/checkitems?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Complete task","pos":"bottom"}'
```

**Official Documentation**: [Add Checklist Item](https://developer.atlassian.com/cloud/trello/rest/api-group-checklists/#api-checklists-id-checkitems-post)

---

### Category: Members

#### Get a Member

**Method**: `GET` | **LowCodeAPI Path**: `/1/members/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/members/id?id={id}&api_token={api_token}
```

**Description**: Get information about a member.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID or username of the member |
| `boards` | string | No | Nested resource for boards |
| `cards` | string | No | Nested resource for cards ("all" or "none") |
| `organizations` | string | No | Nested resource for organizations |
| `fields` | string | No | all or comma-separated list of member fields |

**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/trello/1/members/id?id=johndoe&api_token=YOUR_API_TOKEN"
```

**Official Documentation**: [Get a Member](https://developer.atlassian.com/cloud/trello/rest/api-group-members/#api-members-id-get)

---

#### Update a Member

**Method**: `PUT` | **LowCodeAPI Path**: `/1/members/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/members/id?id={id}&api_token={api_token}
```

**Description**: Update a member's profile.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID or username of the member |

**Request Body**:
```json
{
  "fullName": "John Doe",
  "initials": "JD",
  "username": "johndoe",
  "bio": "Software developer"
}
```

**Request Body Fields**:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `fullName` | string | No | New name for the member (cannot begin or end with space) |
| `initials` | string | No | New initials (1-4 characters) |
| `username` | string | No | New username (3+ characters, lowercase letters, underscores, numbers) |
| `bio` | string | No | New bio text |

**Example Request**:
```bash
curl -X PUT "https://api.lowcodeapi.com/trello/1/members/id?id=johndoe&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"fullName":"John Doe","initials":"JD","bio":"Software developer"}'
```

**Official Documentation**: [Update a Member](https://developer.atlassian.com/cloud/trello/rest/api-group-members/#api-members-id-put)

---

### Category: Labels

#### Get a Label

**Method**: `GET` | **LowCodeAPI Path**: `/1/labels/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/labels/id?id={id}&api_token={api_token}
```

**Description**: Get information about a label.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the label (Pattern: ^[0-9a-fA-F]{24}$) |
| `fields` | string | No | all or comma-separated list of fields |

**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/trello/1/labels/id?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN"
```

**Official Documentation**: [Get a Label](https://developer.atlassian.com/cloud/trello/rest/api-group-labels/#api-labels-id-get)

---

#### Update a Label

**Method**: `PUT` | **LowCodeAPI Path**: `/1/labels/id`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/labels/id?id={id}&api_token={api_token}
```

**Description**: Update a label's properties.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the label (Pattern: ^[0-9a-fA-F]{24}$) |
| `name` | string | No | The new name for the label |
| `color` | string | No | The new color: yellow, purple, blue, red, green, orange, black, sky, pink, or lime |

**Example Request**:
```bash
curl -X PUT "https://api.lowcodeapi.com/trello/1/labels/id?id=5abcd1234ef5678901234567&api_token=YOUR_API_TOKEN&name=Urgent&color=red"
```

**Official Documentation**: [Update a Label](https://developer.atlassian.com/cloud/trello/rest/api-group-labels/#api-labels-id-put)

---

### Category: Search

#### Search Trello

**Method**: `GET` | **LowCodeAPI Path**: `/1/search`

**Full URL**:
```
https://api.lowcodeapi.com/trello/1/search?api_token={api_token}
```

**Description**: Search for boards, cards, and members.

**Query Parameters**:

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | The search query |
| `modelTypes` | string | No | Comma-separated list: "cards", "boards", "members", "organizations" |
| `board_fields` | string | No | all or comma-separated list of board fields |
| `card_fields` | string | No | all or comma-separated list of card fields |
| `member_fields` | string | No | all or comma-separated list of member fields |
| `partial` | boolean | No | Search for partial matches |

**Example Request**:
```bash
curl -X GET "https://api.lowcodeapi.com/trello/1/search?api_token=YOUR_API_TOKEN&query=project&modelTypes=cards,boards"
```

**Official Documentation**: [Search](https://developer.atlassian.com/cloud/trello/rest/api-group-search/)

---

## Usage Examples

### Example 1: Create a Complete Project Board

Create a new board with lists and cards for project management:

```bash
# Step 1: Get all boards to find the right one or create new
curl -X GET "https://api.lowcodeapi.com/trello/1/members/me/boards?api_token=YOUR_API_TOKEN"

# Step 2: Create lists on the board
# Replace BOARD_ID with the actual board ID (e.g., 5abcd1234ef5678901234567)
curl -X POST "https://api.lowcodeapi.com/trello/1/boards/id/lists?id=BOARD_ID&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Backlog","pos":"top"}'

curl -X POST "https://api.lowcodeapi.com/trello/1/boards/id/lists?id=BOARD_ID&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"In Progress","pos":"bottom"}'

curl -X POST "https://api.lowcodeapi.com/trello/1/boards/id/lists?id=BOARD_ID&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Done","pos":"bottom"}'

# Step 3: Create cards in the lists
# Replace LIST_ID with the actual list ID returned from Step 2
curl -X POST "https://api.lowcodeapi.com/trello/1/cards?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Design System","idList":"LIST_ID","desc":"Create design system components"}'

# Step 4: Add checklist to the card
# Replace CARD_ID with the actual card ID returned from Step 3
curl -X POST "https://api.lowcodeapi.com/trello/1/checklists?api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Design Tasks","idCard":"CARD_ID"}'
```

### Example 2: Move Card Through Workflow

Move a card from one list to another and add comments:

```bash
# Step 1: Get the card details
# Replace CARD_ID with the actual card ID
curl -X GET "https://api.lowcodeapi.com/trello/1/cards/id?id=CARD_ID&api_token=YOUR_API_TOKEN"

# Step 2: Update card to move it to a different list
# Replace TARGET_LIST_ID with the destination list ID
curl -X PUT "https://api.lowcodeapi.com/trello/1/cards/id?id=CARD_ID&api_token=YOUR_API_TOKEN&idList=TARGET_LIST_ID"

# Step 3: Add a comment
curl -X POST "https://api.lowcodeapi.com/trello/1/cards/id/actions/comments?id=CARD_ID&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text":"Moved to In Progress - started working on this task"}'

# Step 4: Add team members
# Replace MEMBER_ID with the actual member ID
curl -X POST "https://api.lowcodeapi.com/trello/1/cards/id/idmembers?id=CARD_ID&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"value":"MEMBER_ID"}'

# Step 5: Add labels
# Replace LABEL_ID with the actual label ID
curl -X POST "https://api.lowcodeapi.com/trello/1/cards/id/idlabels?id=CARD_ID&api_token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"value":"LABEL_ID"}'
```

### Example 3: Board Analytics and Reporting

Get board data for analytics:

```bash
# Get board with all cards and lists
# Replace BOARD_ID with the actual board ID
curl -X GET "https://api.lowcodeapi.com/trello/1/boards/id?id=BOARD_ID&api_token=YOUR_API_TOKEN&cards=all&lists=all&members=true"

# Get all checklists on a specific card
# Replace CARD_ID with the actual card ID
curl -X GET "https://api.lowcodeapi.com/trello/1/cards/id/checklists?id=CARD_ID&api_token=YOUR_API_TOKEN&checkItems=all"

# Get member activity
# Replace MEMBER_ID with the actual member ID
curl -X GET "https://api.lowcodeapi.com/trello/1/members/id/actions?id=MEMBER_ID&api_token=YOUR_API_TOKEN&filter=createCard,updateCard"

# Search for specific cards across boards
# No ID needed - searches across all accessible boards
curl -X GET "https://api.lowcodeapi.com/trello/1/search?api_token=YOUR_API_TOKEN&query=urgent&modelTypes=cards&card_fields=all"
```

## Complete Endpoint Reference

For a complete list of all 248+ endpoints and their parameters, refer to:

- **OpenAPI Definition**: https://backend.lowcodeapi.com/trello/definition
- **Official Trello API Documentation**: https://developer.atlassian.com/cloud/trello/rest

## Rate Limits & Best Practices

Trello implements rate limiting to ensure API stability:

- **Rate Limit**: Approximately 100 requests per 10 seconds per token
- **Best Practices**:
  - Use nested resources to reduce API calls (e.g., `?cards=open&lists=open`)
  - Cache board and list IDs when working with multiple cards
  - Use webhooks for real-time updates instead of polling
  - Filter results with the `fields` parameter to reduce response size

## Error Handling

Standard HTTP status codes apply:

- **200 OK**: Request successful
- **400 Bad Request**: Invalid parameters
- **401 Unauthorized**: Invalid API token or authentication failed
- **404 Not Found**: Resource not found
- **429 Too Many Requests**: Rate limit exceeded
- **500 Server Error**: Trello server error

Errors are returned in the response body:
```json
{
  "error": "invalid id",
  "message": "The ID provided is not valid."
}
```

## ID Patterns

Trello IDs follow a consistent 24-character hex pattern:
- Pattern: `^[0-9a-fA-F]{24}$`
- Example: `5abcd1234ef5678901234567`

This applies to:
- Board IDs
- List IDs
- Card IDs
- Member IDs
- Label IDs
- Checklist IDs
- Organization IDs