Inbox Management

Inbox Management API

The Inbox Management API provides comprehensive email conversation handling and communication management capabilities. This powerful API allows you to manage email threads, assign tags, reply to conversations, and organize your communication workflow efficiently.

Overview

Inbox Management consists of multiple communication features:

  • Conversation Management: Handle email threads and conversations
  • Message Handling: Send and receive messages within conversations
  • Tag Assignment: Organize conversations with tags and labels
  • Reply System: Respond to emails and maintain conversation flow
  • Inbox Configuration: Manage inbox settings and email addresses
  • Team Assignment: Assign conversations to team members
  • Thread Organization: Group related messages together

Main Endpoints Overview

MethodEndpointDescription
GET/api/public-v1/inbox/conversation/allGet all inbox conversations
POST/api/public-v1/inbox/conversation/new-messageCreate a new message/conversation
POST/api/public-v1/inbox/conversation/{uuid}/replyReply to a conversation
POST/api/public-v1/inbox/conversation/{uuid}/assign-tagsAssign tags to a conversation
GET/api/public-v1/get-email-addressGet inbox email address
PUT/api/public-v1/inbox/assign-tags/{id}Update tag assignments
DELETE/api/public-v1/inbox/assign-tags/{id}Remove tag assignments

Get All Conversations

Retrieve all email conversations from your inbox.

GET /api/public-v1/inbox/conversation/all

Request Headers

X-Secret-Key: your-secret-key-here
Content-Type: application/json

Query Parameters

ParameterTypeRequiredDescription
pageintegerNoPage number for pagination (default: 1)
limitintegerNoNumber of conversations per page (default: 50)
statusstringNoFilter by status (unread, read, archived)
tag_idintegerNoFilter by tag ID
assigned_tointegerNoFilter by assigned team member
date_fromdateNoFilter conversations from date (YYYY-MM-DD)
date_todateNoFilter conversations to date (YYYY-MM-DD)
searchstringNoSearch term for subject or content
sortstringNoSort field (created_at, updated_at, subject)
orderstringNoSort order (asc or desc)

Example Request

curl -X GET "https://public-api.taskip.net/api/public-v1/inbox/conversation/all?status=unread&limit=20" \
  -H "X-Secret-Key: your-secret-key-here" \
  -H "Content-Type: application/json"

Example Response

{
  "data": [
    {
      "message_id": "msg_abc123def456",
      "in_reply_to": null,
      "reply_to": "john.doe@client.com",
      "from_email": "support@taskip.net",
      "from_name": "TaskIP Support",
      "to_email": "john.doe@client.com",
      "subject": "Project Discussion - Website Redesign",
      "is_read": false,
      "created_at": "2 hours ago",
      "uuid": "conv_abc123def456",
      "body_plain": "Looking forward to the updated mockups and design concepts for the new website. Please let me know if you need any additional information or resour...",
      "tags": [
        {
          "id": 1,
          "title": "Client Communication",
          "color": "blue",
          "type": "project"
        },
        {
          "id": 3,
          "title": "High Priority",
          "color": "red",
          "type": "priority"
        }
      ],
      "replied_by": {
        "id": 12,
        "name": "Jane Smith",
        "email": "jane@taskip.com"
      },
      "send_type": true
    }
  ],
  "links": {
    "first": "https://public-api.taskip.net/api/public-v1/inbox/conversation/all?page=1",
    "last": "https://public-api.taskip.net/api/public-v1/inbox/conversation/all?page=3",
    "prev": null,
    "next": "https://public-api.taskip.net/api/public-v1/inbox/conversation/all?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 3,
    "path": "https://public-api.taskip.net/api/public-v1/inbox/conversation/all",
    "per_page": 15,
    "to": 15,
    "total": 45
  }
}

Create New Message/Conversation

Start a new email conversation or send a new message.

POST /api/public-v1/inbox/conversation/new-message

Request Headers

X-Secret-Key: your-secret-key-here
Content-Type: application/json

Request Body

FieldTypeRequiredDescription
to_emailsarrayYesArray of recipient email addresses
subjectstringYesEmail subject
messagestringNoMessage content (HTML supported)
ccstringNoComma-separated CC recipient emails
bccstringNoComma-separated BCC recipient emails
from_emailstringNoSender email (uses connected email if not provided)
template_idintegerNoEmail template ID to use

Example Request

curl -X POST "https://public-api.taskip.net/api/public-v1/inbox/conversation/new-message" \
  -H "X-Secret-Key: your-secret-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "to_emails": ["client@example.com"],
    "subject": "Project Update - Website Development", 
    "message": "<p>Hi there,</p><p>I wanted to provide you with an update...</p>",
    "cc": "manager@taskip.com",
    "bcc": "archive@taskip.com"
  }'

Example Response

{
  "data": {
    "message_id": "msg_xyz789abc123",
    "in_reply_to": null,
    "reply_to": "client@example.com",
    "from_email": "support@taskip.net",
    "from_name": "TaskIP Support",
    "to_email": "client@example.com",
    "subject": "Project Update - Website Development",
    "is_read": true,
    "created_at": "just now",
    "uuid": "conv_xyz789abc123",
    "body_plain": "Hi there, I wanted to provide you with an update on the website development project. We have made significant progress and should have the initial...",
    "tags": [],
    "replied_by": null,
    "send_type": true
  },
  "msg": "Message Send Successful"
}

Reply to Conversation

Reply to an existing email conversation.

POST /api/public-v1/inbox/conversation/{uuid}/reply

Path Parameters

ParameterTypeRequiredDescription
uuidstringYesConversation UUID

Request Body

FieldTypeRequiredDescription
messagestringYesReply content (HTML supported)
reply_allbooleanNoReply to all participants (default: false)
attachmentsarrayNoArray of attachment file IDs
internal_notebooleanNoMark as internal team note

Example Request

curl -X POST "https://public-api.taskip.net/api/public-v1/inbox/conversation/conv-abc123def456/reply" \
  -H "X-Secret-Key: your-secret-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "<p>Thank you for your message. I will review and respond soon.</p>",
    "reply_all": false
  }'

Example Response

{
  "data": {
    "message_id": "msg_reply789abc123",
    "in_reply_to": "msg_abc123def456",
    "from_email": "jane@taskip.com",
    "from_name": "Jane Smith",
    "to_email": "john.doe@client.com",
    "subject": "Re: Project Discussion - Website Redesign",
    "is_read": true,
    "delivered": true,
    "created_at": "just now",
    "uuid": "conv_abc123def456",
    "body_plain": "Thank you for your message. I will review and respond soon.",
    "body_html": "<p>Thank you for your message. I will review and respond soon.</p>",
    "error_message": null,
    "attachments": [],
    "reply_by": {
      "id": 12,
      "name": "Jane Smith",
      "email": "jane@taskip.com"
    }
  },
  "msg": "Message Send Successfully"
}

Assign Tags to Conversation

Assign tags to organize and categorize conversations.

POST /api/public-v1/inbox/conversation/{uuid}/assign-tags

Path Parameters

ParameterTypeRequiredDescription
uuidstringYesConversation UUID

Request Body

FieldTypeRequiredDescription
tagsarrayYesArray of tag objects with label and optional color

Example Request

curl -X POST "https://public-api.taskip.net/api/public-v1/inbox/conversation/conv-abc123def456/assign-tags" \
  -H "X-Secret-Key: your-secret-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "tags": [
      {"label": "Client Communication", "color": "blue"},
      {"label": "High Priority", "color": "red"},
      {"label": "Website Project"}
    ]
  }'

Example Response

{
  "msg": "Tag Assigned"
}

Get Email Address

Retrieve the inbox email address configuration for receiving messages.

GET /api/public-v1/get-email-address

Example Request

curl -X GET "https://public-api.taskip.net/api/public-v1/get-email-address" \
  -H "X-Secret-Key: your-secret-key-here" \
  -H "Content-Type: application/json"

Example Response

{
  "forwarding_email": "inbox-12345@taskip.net",
  "connected_email": "support@yourcompany.com",
  "verified_at": "2024-01-15T10:30:00Z",
  "forwarding_verified_at": "2024-01-15T11:00:00Z",
  "dns_verified_at": "2024-01-15T11:15:00Z"
}


---

## Update Tag Assignment

Update existing tag information.

```http
PUT /api/public-v1/inbox/assign-tags/{id}

Path Parameters

ParameterTypeRequiredDescription
idintegerYesTag ID to update

Request Body

FieldTypeRequiredDescription
namestringYesTag name (max 191 characters)
colorstringNoTag color (max 98 characters)

Example Request

curl -X PUT "https://public-api.taskip.net/api/public-v1/inbox/assign-tags/1" \
  -H "X-Secret-Key: your-secret-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Client Communication",
    "color": "green"
  }'

Example Response

{
  "msg": "Tag Updated Successfully"
}

Remove Tag Assignment

Delete a tag completely.

DELETE /api/public-v1/inbox/assign-tags/{id}

Path Parameters

ParameterTypeRequiredDescription
idintegerYesTag ID to delete

Example Request

curl -X DELETE "https://public-api.taskip.net/api/public-v1/inbox/assign-tags/1" \
  -H "X-Secret-Key: your-secret-key-here"

Example Response

{
  "msg": "Tag Deleted Successfully"
}

📧

Email Integration: The Inbox API seamlessly integrates with popular email providers and supports IMAP/SMTP protocols for real-time message synchronization.

🔒

Security & Privacy: All email communications are encrypted in transit and at rest. Access controls ensure only authorized team members can view conversations.

Real-time Updates: Conversations and messages are updated in real-time using WebSocket connections for instant notification delivery.