API Reference
This page provides a comprehensive reference of all available endpoints in the TaskIP API. All endpoints require authentication using the X-Secret-Key header.
Base URL
https://public-api.taskip.net/api/public-v1Authentication
All API requests must include the authentication header:
X-Secret-Key: your-secret-key-here
Content-Type: application/jsonContact Management
Contact Operations
| Method | Endpoint | Description | 
|---|---|---|
| GET | /contact | Get all contacts | 
| POST | /contact | Create a new contact | 
| GET | /contact/{id} | Get a specific contact | 
| PUT | /contact/{id} | Update a contact | 
| DELETE | /contact/{id} | Delete a contact | 
| POST | /contact/bulk-delete | Bulk delete contacts | 
| POST | /contact/invite-client | Invite contact as client | 
Company Management
Company Operations
| Method | Endpoint | Description | 
|---|---|---|
| GET | /company | Get all companies | 
| POST | /company | Create a new company | 
| GET | /company/{id} | Get a specific company | 
| PUT | /company/{id} | Update a company | 
| DELETE | /company/{id} | Delete a company | 
| POST | /company/bulk-delete | Bulk delete companies | 
Team Member Management
Team Member Operations
| Method | Endpoint | Description | 
|---|---|---|
| GET | /team-member | Get all team members | 
| POST | /team-member | Create a new team member | 
| GET | /team-member/{id} | Get a specific team member | 
| PUT | /team-member/{id} | Update a team member | 
| DELETE | /team-member/{id} | Delete a team member | 
| POST | /team-member/bulk-delete | Bulk delete team members | 
Invoice Management
Invoice Operations
| Method | Endpoint | Description | 
|---|---|---|
| GET | /invoice | Get all invoices | 
| POST | /invoice | Create a new invoice | 
| GET | /invoice/{id} | Get a specific invoice | 
| PUT | /invoice/{id} | Update an invoice | 
| DELETE | /invoice/{id} | Delete an invoice | 
| POST | /invoice/{id}/send-to-client | Send invoice to client | 
| POST | /invoice/{id}/status-update | Update invoice status | 
| GET | /invoice/{id}/download-pdf | Download invoice PDF | 
| POST | /invoice/{id}/payment-gateway | Configure payment gateway | 
| POST | /invoice/{id}/recurring-setup | Setup recurring invoice | 
| POST | /invoice/bulk-actions | Bulk invoice operations | 
Quotation Management
Quotation Operations
| Method | Endpoint | Description | 
|---|---|---|
| GET | /quotation | Get all quotations | 
| POST | /quotation | Create a new quotation | 
| GET | /quotation/{id} | Get a specific quotation | 
| PUT | /quotation/{id} | Update a quotation | 
| DELETE | /quotation/{id} | Delete a quotation | 
| POST | /quotation/{id}/convert-to-invoice | Convert quotation to invoice | 
| POST | /quotation/{id}/send-to-client | Send quotation to client | 
| POST | /quotation/{id}/status-update | Update quotation status | 
| POST | /quotation/bulk-actions | Bulk quotation operations | 
Support Ticket Management
Support Ticket Operations
| Method | Endpoint | Description | 
|---|---|---|
| GET | /ticket | Get all support tickets | 
| POST | /ticket | Create a new support ticket | 
| GET | /ticket/{id} | Get a specific support ticket | 
| PUT | /ticket/{id} | Update a support ticket | 
| DELETE | /ticket/{id} | Delete a support ticket | 
| POST | /ticket/{id}/assign | Assign ticket to team member | 
| POST | /ticket/{id}/status-update | Update ticket status | 
| POST | /ticket/{id}/add-reply | Add reply to ticket | 
| POST | /ticket/{id}/attachments | Upload ticket attachments | 
| GET | /ticket/{id}/attachments | Get ticket attachments | 
| POST | /ticket/bulk-actions | Bulk ticket operations | 
| GET | /ticket/analytics | Get ticket analytics | 
Document Management
Document Operations
| Method | Endpoint | Description | 
|---|---|---|
| GET | /document | Get all documents | 
| POST | /document | Upload a new document | 
| GET | /document/{id} | Get a specific document | 
| PUT | /document/{id} | Update document metadata | 
| DELETE | /document/{id} | Delete a document | 
| GET | /document/{id}/download | Download document file | 
Project Management
Project Operations
| Method | Endpoint | Description | 
|---|---|---|
| GET | /project | Get all projects | 
| POST | /project | Create a new project | 
| GET | /project/{id} | Get a specific project | 
| PUT | /project/{id} | Update a project | 
| DELETE | /project/{id} | Delete a project | 
| POST | /project/dashboard/activity | Get dashboard activities | 
| POST | /project/{uuid}/activity | Get project activities | 
| POST | /project/all-tasks/list | Get all tasks list | 
| POST | /project/{uuid}/change-priority | Change project priority | 
| POST | /project/{uuid}/change-status | Change project status | 
| POST | /project/{uuid}/change-category | Change project category | 
Task Management
| Method | Endpoint | Description | 
|---|---|---|
| GET | /project/{uuid}/task | Get all tasks in project | 
| POST | /project/{uuid}/task | Create a new task | 
| GET | /project/{uuid}/task/{id} | Get a specific task | 
| PUT | /project/{uuid}/task/{id} | Update a task | 
| DELETE | /project/{uuid}/task/{id} | Delete a task | 
| POST | /project/{uuid}/task/change-order | Change task order | 
| POST | /project/{uuid}/task/{id}/change-container | Change task container | 
| POST | /project/{uuid}/task/{id}/change-priority | Change task priority | 
| POST | /project/{uuid}/task/{id}/mark-as-complete | Mark task as complete | 
Task Labels & Assignees
| Method | Endpoint | Description | 
|---|---|---|
| POST | /project/{uuid}/task/{id}/label | Add label to task | 
| DELETE | /project/{uuid}/task/{id}/label | Remove label from task | 
| POST | /project/{uuid}/task/{id}/assignee | Add assignee to task | 
| DELETE | /project/{uuid}/task/{id}/assignee | Remove assignee from task | 
Task Files Management
| Method | Endpoint | Description | 
|---|---|---|
| GET | /project/{uuid}/task/files | Get all task files in project | 
| GET | /project/{uuid}/task/{id}/files | Get task files | 
| POST | /project/{uuid}/task/{id}/files | Upload file to task | 
| DELETE | /project/{uuid}/task/{id}/files | Delete file from task | 
| GET | /project/{uuid}/files | Get all project files | 
Discussion Management
| Method | Endpoint | Description | 
|---|---|---|
| GET | /project/{uuid}/discussion | Get project discussions | 
| POST | /project/{uuid}/discussion | Create new discussion | 
| GET | /project/{uuid}/discussion/files | Get discussion files | 
Container Management
| Method | Endpoint | Description | 
|---|---|---|
| POST | /project/{uuid}/container | Create new container | 
| PUT | /project/{uuid}/container/{id}/rename | Rename container | 
| POST | /project/{uuid}/container/{id}/change-color | Change container color | 
| POST | /project/{uuid}/container/change-order | Change container order | 
| DELETE | /project/{uuid}/container/{id}/delete | Delete container | 
| POST | /project/{uuid}/container/{id}/move-all-tasks | Move all tasks from container | 
Project Attributes
| Method | Endpoint | Description | 
|---|---|---|
| GET | /project/attribute/all | Get all project attributes | 
| POST | /project/attribute | Create new attribute | 
| PUT | /project/attribute/{id}/update | Update attribute | 
| DELETE | /project/attribute/{id}/delete | Delete attribute | 
| POST | /project/attribute/tags/update | Bulk update tags | 
| POST | /project/attribute/categories/update | Bulk update categories | 
Sales Pipeline Management
Sales Pipeline Operations
| Method | Endpoint | Description | 
|---|---|---|
| GET | /sales-pipeline | Get all sales pipelines | 
| POST | /sales-pipeline | Create a new sales pipeline | 
| GET | /sales-pipeline/{uuid} | Get a specific sales pipeline | 
| PUT | /sales-pipeline/{uuid} | Update a sales pipeline | 
| DELETE | /sales-pipeline/{uuid} | Delete a sales pipeline | 
Deal Management
| Method | Endpoint | Description | 
|---|---|---|
| GET | /sales-pipeline/{uuid}/deal | Get all deals in pipeline | 
| POST | /sales-pipeline/{uuid}/deal | Create a new deal | 
| GET | /sales-pipeline/{uuid}/deal/{id} | Get a specific deal | 
| PUT | /sales-pipeline/{uuid}/deal/{id} | Update a deal | 
| DELETE | /sales-pipeline/{uuid}/deal/{id} | Delete a deal | 
| POST | /sales-pipeline/{uuid}/deal/{id}/change-stage | Change deal stage | 
| POST | /sales-pipeline/{uuid}/deal/{id}/add-note | Add note to deal | 
| POST | /sales-pipeline/{uuid}/deal/{id}/add-activity | Add activity to deal | 
| POST | /sales-pipeline/{uuid}/deal/bulk-actions | Bulk deal operations | 
Stage Management
| Method | Endpoint | Description | 
|---|---|---|
| GET | /sales-pipeline/{uuid}/stage | Get all stages in pipeline | 
| POST | /sales-pipeline/{uuid}/stage | Create a new stage | 
| PUT | /sales-pipeline/{uuid}/stage/{id} | Update a stage | 
| DELETE | /sales-pipeline/{uuid}/stage/{id} | Delete a stage | 
| POST | /sales-pipeline/{uuid}/stage/reorder | Reorder stages | 
Meeting Management
Meeting Operations
| Method | Endpoint | Description | 
|---|---|---|
| GET | /meeting-list | Get all meetings | 
| GET | /meeting/details/{uuid} | Get meeting details | 
| GET | /meeting/{uuid}/booking-list | Get booking list for a meeting | 
| GET | /meeting/{uuid}/booking/details/{id} | Get specific booking details | 
| POST | /meeting/{uuid}/booking | Book a meeting slot | 
Inbox Management
Conversation Operations
| Method | Endpoint | Description | 
|---|---|---|
| GET | /inbox/conversation/all | Get all inbox conversations | 
| POST | /inbox/conversation/new-message | Create a new message/conversation | 
| POST | /inbox/conversation/{uuid}/reply | Reply to a conversation | 
| POST | /inbox/conversation/{uuid}/assign-tags | Assign tags to a conversation | 
| GET | /get-email-address | Get inbox email address | 
| PUT | /inbox/assign-tags/{id} | Update tag assignments | 
| DELETE | /inbox/assign-tags/{id} | Remove tag assignments | 
HTTP Status Codes
The API uses standard HTTP status codes to indicate the success or failure of requests:
Success Codes
| Code | Status | Description | 
|---|---|---|
| 200 | OK | Request successful | 
| 201 | Created | Resource created successfully | 
| 204 | No Content | Request successful, no content returned | 
Error Codes
| Code | Status | Description | 
|---|---|---|
| 400 | Bad Request | Invalid request data | 
| 401 | Unauthorized | Authentication required | 
| 403 | Forbidden | Insufficient permissions | 
| 404 | Not Found | Resource not found | 
| 409 | Conflict | Resource conflict | 
| 422 | Validation Error | Request data validation failed | 
| 429 | Too Many Requests | Rate limit exceeded | 
| 500 | Internal Server Error | Server error | 
Response Format
All API responses follow a consistent JSON structure:
Success Response
{
  "success": true,
  "data": {},
  "message": "Operation completed successfully",
  "meta": {
    "current_page": 1,
    "per_page": 50,
    "total": 100,
    "total_pages": 2
  }
}Error Response
{
  "success": false,
  "error": "Error Type",
  "message": "Detailed error message",
  "errors": {
    "field_name": ["Field specific error message"]
  },
  "status_code": 422
}Rate Limiting
The API implements rate limiting to ensure fair usage:
- Standard Rate Limit: 1000 requests per hour per API key
- Burst Limit: 100 requests per minute per API key
- File Upload Limit: 50 uploads per hour per API key
Rate limit headers are included in all responses:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200Pagination
Endpoints that return multiple items support pagination:
Request Parameters
- page: Page number (default: 1)
- limit: Items per page (default: 50, max: 100)
Response Meta Data
{
  "meta": {
    "current_page": 1,
    "per_page": 50,
    "total": 250,
    "total_pages": 5
  }
}Filtering and Sorting
Many endpoints support filtering and sorting parameters:
Common Filter Parameters
- search: Text search across relevant fields
- status: Filter by status
- date_from: Filter from date (YYYY-MM-DD)
- date_to: Filter to date (YYYY-MM-DD)
- created_at: Filter by creation date
Sorting Parameters
- sort: Field to sort by
- order: Sort direction (- ascor- desc)
Example:
GET /api/public-v1/contact?search=john&status=active&sort=created_at&order=descWebhooks
TaskIP API supports webhooks for real-time event notifications. Configure webhooks in your account settings to receive HTTP POST requests when specific events occur.
Supported Events
- contact.created,- contact.updated,- contact.deleted
- company.created,- company.updated,- company.deleted
- invoice.created,- invoice.sent,- invoice.paid
- quotation.created,- quotation.accepted,- quotation.rejected
- ticket.created,- ticket.assigned,- ticket.resolved
- project.created,- project.completed
- task.created,- task.completed
Webhook Payload
{
  "event": "invoice.paid",
  "timestamp": "2024-01-20T10:30:00Z",
  "data": {
    "invoice_id": 123,
    "amount": 1500.00,
    "client_id": 45
  }
}Support
API Support
- Documentation: This documentation site
- Support Email: contact@taskip.net
- Status Page: https://status.taskip.com (opens in a new tab)
Rate Limit Increases
For higher rate limits, contact our support team with your use case and current API usage patterns.
Tip: Bookmark this API Reference page for quick access to all available endpoints. Each endpoint links to detailed documentation with examples and response schemas.