API Reference

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-v1

Authentication

All API requests must include the authentication header:

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

Contact Management

Contact Operations

MethodEndpointDescription
GET/contactGet all contacts
POST/contactCreate 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-deleteBulk delete contacts
POST/contact/invite-clientInvite contact as client

Company Management

Company Operations

MethodEndpointDescription
GET/companyGet all companies
POST/companyCreate 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-deleteBulk delete companies

Team Member Management

Team Member Operations

MethodEndpointDescription
GET/team-memberGet all team members
POST/team-memberCreate 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-deleteBulk delete team members

Invoice Management

Invoice Operations

MethodEndpointDescription
GET/invoiceGet all invoices
POST/invoiceCreate 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-clientSend invoice to client
POST/invoice/{id}/status-updateUpdate invoice status
GET/invoice/{id}/download-pdfDownload invoice PDF
POST/invoice/{id}/payment-gatewayConfigure payment gateway
POST/invoice/{id}/recurring-setupSetup recurring invoice
POST/invoice/bulk-actionsBulk invoice operations

Quotation Management

Quotation Operations

MethodEndpointDescription
GET/quotationGet all quotations
POST/quotationCreate 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-invoiceConvert quotation to invoice
POST/quotation/{id}/send-to-clientSend quotation to client
POST/quotation/{id}/status-updateUpdate quotation status
POST/quotation/bulk-actionsBulk quotation operations

Support Ticket Management

Support Ticket Operations

MethodEndpointDescription
GET/ticketGet all support tickets
POST/ticketCreate 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}/assignAssign ticket to team member
POST/ticket/{id}/status-updateUpdate ticket status
POST/ticket/{id}/add-replyAdd reply to ticket
POST/ticket/{id}/attachmentsUpload ticket attachments
GET/ticket/{id}/attachmentsGet ticket attachments
POST/ticket/bulk-actionsBulk ticket operations
GET/ticket/analyticsGet ticket analytics

Document Management

Document Operations

MethodEndpointDescription
GET/documentGet all documents
POST/documentUpload 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}/downloadDownload document file

Project Management

Project Operations

MethodEndpointDescription
GET/projectGet all projects
POST/projectCreate 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/activityGet dashboard activities
POST/project/{uuid}/activityGet project activities
POST/project/all-tasks/listGet all tasks list
POST/project/{uuid}/change-priorityChange project priority
POST/project/{uuid}/change-statusChange project status
POST/project/{uuid}/change-categoryChange project category

Task Management

MethodEndpointDescription
GET/project/{uuid}/taskGet all tasks in project
POST/project/{uuid}/taskCreate 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-orderChange task order
POST/project/{uuid}/task/{id}/change-containerChange task container
POST/project/{uuid}/task/{id}/change-priorityChange task priority
POST/project/{uuid}/task/{id}/mark-as-completeMark task as complete

Task Labels & Assignees

MethodEndpointDescription
POST/project/{uuid}/task/{id}/labelAdd label to task
DELETE/project/{uuid}/task/{id}/labelRemove label from task
POST/project/{uuid}/task/{id}/assigneeAdd assignee to task
DELETE/project/{uuid}/task/{id}/assigneeRemove assignee from task

Task Files Management

MethodEndpointDescription
GET/project/{uuid}/task/filesGet all task files in project
GET/project/{uuid}/task/{id}/filesGet task files
POST/project/{uuid}/task/{id}/filesUpload file to task
DELETE/project/{uuid}/task/{id}/filesDelete file from task
GET/project/{uuid}/filesGet all project files

Discussion Management

MethodEndpointDescription
GET/project/{uuid}/discussionGet project discussions
POST/project/{uuid}/discussionCreate new discussion
GET/project/{uuid}/discussion/filesGet discussion files

Container Management

MethodEndpointDescription
POST/project/{uuid}/containerCreate new container
PUT/project/{uuid}/container/{id}/renameRename container
POST/project/{uuid}/container/{id}/change-colorChange container color
POST/project/{uuid}/container/change-orderChange container order
DELETE/project/{uuid}/container/{id}/deleteDelete container
POST/project/{uuid}/container/{id}/move-all-tasksMove all tasks from container

Project Attributes

MethodEndpointDescription
GET/project/attribute/allGet all project attributes
POST/project/attributeCreate new attribute
PUT/project/attribute/{id}/updateUpdate attribute
DELETE/project/attribute/{id}/deleteDelete attribute
POST/project/attribute/tags/updateBulk update tags
POST/project/attribute/categories/updateBulk update categories

Sales Pipeline Management

Sales Pipeline Operations

MethodEndpointDescription
GET/sales-pipelineGet all sales pipelines
POST/sales-pipelineCreate 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

MethodEndpointDescription
GET/sales-pipeline/{uuid}/dealGet all deals in pipeline
POST/sales-pipeline/{uuid}/dealCreate 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-stageChange deal stage
POST/sales-pipeline/{uuid}/deal/{id}/add-noteAdd note to deal
POST/sales-pipeline/{uuid}/deal/{id}/add-activityAdd activity to deal
POST/sales-pipeline/{uuid}/deal/bulk-actionsBulk deal operations

Stage Management

MethodEndpointDescription
GET/sales-pipeline/{uuid}/stageGet all stages in pipeline
POST/sales-pipeline/{uuid}/stageCreate 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/reorderReorder stages

Meeting Management

Meeting Operations

MethodEndpointDescription
GET/meeting-listGet all meetings
GET/meeting/details/{uuid}Get meeting details
GET/meeting/{uuid}/booking-listGet booking list for a meeting
GET/meeting/{uuid}/booking/details/{id}Get specific booking details
POST/meeting/{uuid}/bookingBook a meeting slot

Inbox Management

Conversation Operations

MethodEndpointDescription
GET/inbox/conversation/allGet all inbox conversations
POST/inbox/conversation/new-messageCreate a new message/conversation
POST/inbox/conversation/{uuid}/replyReply to a conversation
POST/inbox/conversation/{uuid}/assign-tagsAssign tags to a conversation
GET/get-email-addressGet 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

CodeStatusDescription
200OKRequest successful
201CreatedResource created successfully
204No ContentRequest successful, no content returned

Error Codes

CodeStatusDescription
400Bad RequestInvalid request data
401UnauthorizedAuthentication required
403ForbiddenInsufficient permissions
404Not FoundResource not found
409ConflictResource conflict
422Validation ErrorRequest data validation failed
429Too Many RequestsRate limit exceeded
500Internal Server ErrorServer 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: 1640995200

Pagination

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 (asc or desc)

Example:

GET /api/public-v1/contact?search=john&status=active&sort=created_at&order=desc

Webhooks

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

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.