Sales Pipeline Management API
The Sales Pipeline Management API is a comprehensive system for managing sales processes, deals, stages, tasks, meetings, files, notes, and activities. This powerful API allows you to build complete CRM workflows and sales automation systems.
Overview
Sales Pipeline API consists of multiple interconnected modules:
- Pipeline Management: Main pipeline operations
- Deals Management: Individual deal lifecycle
- Stages Management: Pipeline stage configuration
- Tasks Management: Deal-specific task tracking
- Files Management: Document handling for deals
- Meetings Management: Schedule and manage meetings
- Notes Management: Deal notes and communication
- Activities Management: Activity tracking and logging
- Attributes Management: Custom pipeline attributes
Complete Endpoints Overview
Pipeline Management
Method | Endpoint | Description |
---|---|---|
GET | /api/public-v1/sales-pipeline | Get all sales pipelines |
POST | /api/public-v1/sales-pipeline | Create a new sales pipeline |
GET | /api/public-v1/sales-pipeline/{id} | Get a specific sales pipeline |
PUT | /api/public-v1/sales-pipeline/{id} | Update a sales pipeline |
DELETE | /api/public-v1/sales-pipeline/{id} | Delete a sales pipeline |
POST | /api/public-v1/sales-pipeline/bulk-actions | Perform bulk operations |
Deals Management
Method | Endpoint | Description |
---|---|---|
GET | /api/public-v1/sales-pipeline/{uuid}/deals | Get all deals in a pipeline |
POST | /api/public-v1/sales-pipeline/{uuid}/deals | Create a new deal |
GET | /api/public-v1/sales-pipeline/{uuid}/deals/{id} | Get a specific deal |
PUT | /api/public-v1/sales-pipeline/{uuid}/deals/{id} | Update a deal |
DELETE | /api/public-v1/sales-pipeline/{uuid}/deals/{id} | Delete a deal |
POST | /api/public-v1/sales-pipeline/{uuid}/deals/bulk-actions/{id} | Bulk deal operations |
POST | /api/public-v1/sales-pipeline/{uuid}/deals/order-change | Change deal order |
Stage Management
Method | Endpoint | Description |
---|---|---|
GET | /api/public-v1/sales-pipeline/{uuid}/stage | Get all stages |
POST | /api/public-v1/sales-pipeline/{uuid}/stage | Create a new stage |
GET | /api/public-v1/sales-pipeline/{uuid}/stage/{id} | Get a specific stage |
PUT | /api/public-v1/sales-pipeline/{uuid}/stage/{id} | Update a stage |
DELETE | /api/public-v1/sales-pipeline/{uuid}/stage/{id} | Delete a stage |
POST | /api/public-v1/sales-pipeline/{uuid}/stage/order-change | Change stage order |
POST | /api/public-v1/sales-pipeline/{uuid}/stage/{id}/duplicate | Duplicate a stage |
POST | /api/public-v1/sales-pipeline/{uuid}/stage/{id}/move-all-deal | Move all deals to another stage |
POST | /api/public-v1/sales-pipeline/{uuid}/stage/bulk-actions | Bulk stage operations |
Task Management
Method | Endpoint | Description |
---|---|---|
GET | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task | Get all tasks for a deal |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task | Create a new task |
GET | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/{task_id} | Get a specific task |
PUT | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/{task_id} | Update a task |
DELETE | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/{task_id} | Delete a task |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/bulk-actions | Bulk task operations |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/order-change | Change task order |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/{task_id}/complete | Mark task as complete |
File Management
Method | Endpoint | Description |
---|---|---|
GET | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/file | Get all files for a deal |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/file | Upload a file |
DELETE | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/file/{file_id} | Delete a file |
Meeting Management
Method | Endpoint | Description |
---|---|---|
GET | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting | Get all meetings |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting | Create a new meeting |
GET | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting/{meeting_id} | Get a specific meeting |
PUT | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting/{meeting_id} | Update a meeting |
DELETE | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting/{meeting_id} | Delete a meeting |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting/bulk-actions | Bulk meeting operations |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting/{meeting_id}/complete | Mark meeting as complete |
Note Management
Method | Endpoint | Description |
---|---|---|
GET | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/note | Get all notes |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/note | Create a new note |
GET | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/note/{note_id} | Get a specific note |
PUT | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/note/{note_id} | Update a note |
DELETE | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/note/{note_id} | Delete a note |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/note/bulk-actions | Bulk note operations |
Activity Management
Method | Endpoint | Description |
---|---|---|
GET | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/activity | Get all activities |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/activity | Create a new activity |
GET | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/activity/{activity_id} | Get a specific activity |
PUT | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/activity/{activity_id} | Update an activity |
DELETE | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/activity/{activity_id} | Delete an activity |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/activity/bulk-actions | Bulk activity operations |
POST | /api/public-v1/sales-pipeline/{uuid}/deal/{id}/activity/send-mail | Send activity email |
Attribute Management
Method | Endpoint | Description |
---|---|---|
GET | /api/public-v1/sales-pipeline/attributes | Get all pipeline attributes |
POST | /api/public-v1/sales-pipeline/attributes | Create a new attribute |
GET | /api/public-v1/sales-pipeline/attributes/{id} | Get a specific attribute |
PUT | /api/public-v1/sales-pipeline/attributes/{id} | Update an attribute |
DELETE | /api/public-v1/sales-pipeline/attributes/{id} | Delete an attribute |
POST | /api/public-v1/sales-pipeline/attributes/bulk-actions | Bulk attribute operations |
Get All Sales Pipelines
Retrieve a list of all sales pipelines in your system.
GET /api/public-v1/sales-pipeline
Request Headers
X-Secret-Key: your-secret-key-here
Content-Type: application/json
Query Parameters
Parameter | Type | Required | Description |
---|---|---|---|
page | integer | No | Page number for pagination (default: 1) |
limit | integer | No | Number of pipelines per page (default: 50) |
search | string | No | Search term for pipeline name |
status | string | No | Filter by status (active , inactive , archived ) |
sort | string | No | Sort field (name , created_at , deals_count ) |
order | string | No | Sort order (asc or desc ) |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline?status=active" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"data": [
{
"title": "Main Sales Pipeline",
"status": "active",
"uuid": "pipeline-abc123def456",
"created_at": "2 weeks ago",
"stages_count": 5
},
{
"title": "Secondary Pipeline",
"status": "active",
"uuid": "pipeline-def456ghi789",
"created_at": "1 month ago",
"stages_count": 3
}
],
"msg": "Sales Pipeline retrieved successfully.",
"status": 200
}
Create a Sales Pipeline
Create a new sales pipeline with initial configuration.
POST /api/public-v1/sales-pipeline
Request Body
Field | Type | Required | Description |
---|---|---|---|
title | string | Yes | Pipeline title (max 191 characters) |
status | string | No | Pipeline status |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"title": "Enterprise Sales Pipeline",
"status": "active"
}'
Example Response
{
"msg": "Sales pipeline created successfully",
"data": {
"title": "Enterprise Sales Pipeline",
"status": "active",
"uuid": "pipeline-xyz789abc123",
"created_at": "just now",
"stages_count": 0
}
}
Get a Specific Sales Pipeline
Retrieve detailed information about a specific sales pipeline.
GET /api/public-v1/sales-pipeline/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
id | integer | Yes | Sales pipeline ID |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"title": "Main Sales Pipeline",
"status": "active",
"uuid": "pipeline-abc123def456",
"created_at": "2 weeks ago",
"stages": [
{
"id": 1,
"name": "Lead",
"position": 1,
"color": "#3b82f6"
},
{
"id": 2,
"name": "Qualified",
"position": 2,
"color": "#10b981"
},
{
"id": 3,
"name": "Proposal",
"position": 3,
"color": "#f59e0b"
}
]
}
Complex Module: Sales Pipeline is the most comprehensive API module with 50+ endpoints. Each sub-module (Deals, Stages, Tasks, etc.) provides full CRUD operations and specialized actions.
Next: Sub-Module Documentation
The Sales Pipeline API includes several specialized sub-modules, each documented separately:
- Deals Management - Individual deal lifecycle
- Stages Management - Pipeline stage configuration
- Tasks Management - Deal-specific tasks
- Files Management - Document handling
- Meetings Management - Meeting scheduling
- Notes Management - Deal notes
- Activities Management - Activity logging
- Attributes Management - Custom attributes
Deals Management
Manage individual deals within sales pipelines.
Deals Endpoints Overview
Method | Endpoint | Description |
---|---|---|
GET | /api/public-v1/sales-pipeline/{uuid}/deals | Get all deals in pipeline |
POST | /api/public-v1/sales-pipeline/{uuid}/deals | Create a new deal |
GET | /api/public-v1/sales-pipeline/{uuid}/deals/{id} | Get a specific deal |
PUT | /api/public-v1/sales-pipeline/{uuid}/deals/{id} | Update a deal |
DELETE | /api/public-v1/sales-pipeline/{uuid}/deals/{id} | Delete a deal |
POST | /api/public-v1/sales-pipeline/{uuid}/deals/bulk-actions/{id} | Perform bulk actions |
POST | /api/public-v1/sales-pipeline/{uuid}/deals/order-change | Change deal order |
Get All Deals
Retrieve all deals in a specific pipeline.
GET /api/public-v1/sales-pipeline/{uuid}/deals
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
Query Parameters
Parameter | Type | Required | Description |
---|---|---|---|
stage_id | integer | No | Filter by stage ID |
status | string | No | Filter by status (active , won , lost ) |
contact_id | integer | No | Filter by contact ID |
value_min | decimal | No | Minimum deal value |
value_max | decimal | No | Maximum deal value |
sort | string | No | Sort field (title , value , created_at ) |
order | string | No | Sort order (asc or desc ) |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/pipeline-abc123def456/deals?stage_id=2" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"success": true,
"data": [
{
"id": 156,
"title": "Acme Corp Website Redesign",
"description": "Complete website redesign and development",
"value": 15000.00,
"probability": 75,
"status": "active",
"stage": {
"id": 2,
"name": "Qualified",
"position": 2
},
"contact": {
"id": 45,
"name": "John Doe",
"email": "john.doe@acme.com"
},
"expected_close_date": "2024-02-15",
"created_at": "2024-01-20T14:30:00Z",
"updated_at": "2024-01-25T10:15:00Z"
}
],
"meta": {
"current_page": 1,
"per_page": 50,
"total": 8,
"total_pages": 1
}
}
Update a Sales Pipeline
Update an existing sales pipeline's information.
PUT /api/public-v1/sales-pipeline/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
id | integer | Yes | Sales pipeline ID to update |
Request Body
Same fields as create pipeline. All fields are optional - only include fields you want to update.
Example Request
curl -X PUT "https://public-api.taskip.net/api/public-v1/sales-pipeline/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated Sales Pipeline",
"status": "active"
}'
Example Response
{
"msg": "Pipeline Updated Successfully",
"data": {
"title": "Updated Sales Pipeline",
"status": "active",
"uuid": "pipeline-abc123def456",
"created_at": "2 weeks ago",
"stages_count": 5
}
}
Delete a Sales Pipeline
Delete a specific sales pipeline from your system.
DELETE /api/public-v1/sales-pipeline/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
id | integer | Yes | Sales pipeline ID to delete |
Example Request
curl -X DELETE "https://public-api.taskip.net/api/public-v1/sales-pipeline/1" \
-H "X-Secret-Key: your-secret-key-here"
Example Response
{
"msg": "pipeline deleted successfully.",
"status": 200
}
Pipeline Bulk Actions
Perform bulk operations on multiple sales pipelines.
POST /api/public-v1/sales-pipeline/bulk-actions
Request Body
Field | Type | Required | Description |
---|---|---|---|
ids | array | Yes | Array of pipeline IDs (must exist in sales_pipelines table) |
ids.* | integer | Yes | Each ID must be a valid sales pipeline ID |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/bulk-actions" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"ids": [1, 2, 3]
}'
Example Response
{
"msg": "Sales pipeline bulk actions successful",
"status": 200
}
Deals Management
Get All Deals
Retrieve all deals in a specific sales pipeline.
GET /api/public-v1/sales-pipeline/{uuid}/deals
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
Query Parameters
Parameter | Type | Required | Description |
---|---|---|---|
page | integer | No | Page number for pagination |
limit | integer | No | Number of deals per page |
stage_id | integer | No | Filter by stage ID |
status | string | No | Filter by deal status |
search | string | No | Search term |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deals" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"msg": "Sales Pipeline Deals retrieved successfully",
"data": [
{
"id": 1,
"deal_name": "Website Development Deal",
"company": {
"id": 15,
"name": "Acme Corporation",
"email": "contact@acme.com"
},
"contact": {
"id": 25,
"first_name": "John",
"last_name": "Smith",
"email": "john@acme.com"
},
"deal_stage_id": 2,
"deal_amount": "15000.00",
"closing_date": "15/02/24",
"description": "Complete website development project",
"documents": [],
"files": [],
"status": "active",
"currency": "USD",
"order": 1,
"created_at": "15/01/24",
"pipeline_uuid": "abc123def456",
"deal_owner": {
"id": 5,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"tags": []
}
]
}
Create a Deal
Create a new deal in a sales pipeline.
POST /api/public-v1/sales-pipeline/{uuid}/deals
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
deal_name | string | Yes | Deal name |
company_id | integer | Yes | Company ID |
deal_owner_id | integer | Yes | Deal owner user ID |
contact_id | integer | Yes | Contact ID |
deal_stage_id | integer | Yes | Deal stage ID |
deal_amount | decimal | Yes | Deal amount |
closing_date | string | Yes | Closing date (YYYY-MM-DD) |
description | string | No | Deal description |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deals" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"deal_name": "Website Development Deal",
"company_id": 25,
"deal_owner_id": 8,
"contact_id": 15,
"deal_stage_id": 2,
"deal_amount": 15000.00,
"closing_date": "2024-02-15",
"description": "Complete website development project"
}'
Example Response
{
"msg": "Deal Added Successfully",
"data": {
"id": 1,
"deal_name": "Website Development Deal",
"company": {
"id": 25,
"name": "Tech Solutions Ltd",
"email": "info@techsolutions.com"
},
"contact": {
"id": 15,
"name": "John Smith",
"email": "john@techsolutions.com"
},
"deal_stage_id": 2,
"deal_amount": "15000.00",
"closing_date": "15/02/24",
"created_at": "15/01/24",
"pipeline_uuid": "abc123def456",
"deal_owner": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"description": "Complete website development project"
},
"status": 201
}
Get a Specific Deal
Retrieve details of a specific deal.
GET /api/public-v1/sales-pipeline/{uuid}/deals/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deals/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"msg": "Sales Pipeline Deal retrieved successfully",
"data": {
"id": 1,
"deal_name": "Website Development Deal",
"company": {
"id": 25,
"name": "Tech Solutions Ltd",
"email": "info@techsolutions.com"
},
"contact": {
"id": 15,
"name": "John Smith",
"email": "john@techsolutions.com"
},
"deal_stage_id": 2,
"deal_amount": "15000.00",
"closing_date": "15/02/24",
"created_at": "15/01/24",
"pipeline_uuid": "abc123def456",
"deal_owner": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"description": "Complete website development project"
},
"status": 200
}
Update a Deal
Update an existing deal.
PUT /api/public-v1/sales-pipeline/{uuid}/deals/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
deal_name | string | No | Deal name |
company_id | integer | No | Company ID |
deal_owner_id | integer | No | Deal owner user ID |
contact_id | integer | No | Contact ID |
deal_stage_id | integer | No | Deal stage ID |
deal_amount | decimal | No | Deal amount |
closing_date | string | No | Closing date (YYYY-MM-DD) |
description | string | No | Deal description |
All fields are optional for updates.
Example Request
curl -X PUT "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deals/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"deal_name": "Updated Website Development Deal",
"deal_amount": 18000.00,
"deal_stage_id": 3
}'
Example Response
{
"msg": "Deal Updated Successfully",
"data": {
"id": 1,
"deal_name": "Updated Website Development Deal",
"company": {
"id": 25,
"name": "Tech Solutions Ltd",
"email": "info@techsolutions.com"
},
"contact": {
"id": 15,
"name": "John Smith",
"email": "john@techsolutions.com"
},
"deal_stage_id": 3,
"deal_amount": "18000.00",
"closing_date": "15/02/24",
"created_at": "15/01/24",
"pipeline_uuid": "abc123def456",
"deal_owner": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"description": "Complete website development project"
},
"status": 200
}
Delete a Deal
Delete a specific deal.
DELETE /api/public-v1/sales-pipeline/{uuid}/deals/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Example Request
curl -X DELETE "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deals/1" \
-H "X-Secret-Key: your-secret-key-here"
Example Response
{
"msg": "Deal Deleted Successfully",
"status": 200
}
Deals Bulk Actions
Perform bulk operations on deals.
POST /api/public-v1/sales-pipeline/{uuid}/deals/bulk-actions/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID or bulk action ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
deal_ids | array | Yes | Array of deal IDs |
action | string | Yes | Action to perform (delete , move_stage , update_status ) |
stage_id | integer | No | Target stage ID (for move_stage action) |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deals/bulk-actions/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"deal_ids": [1, 2, 3],
"action": "move_stage",
"stage_id": 3
}'
Example Response
{
"msg": "Bulk Action Completed Successfully",
"status": 200
}
Change Deals Order
Change the order of deals within a stage.
POST /api/public-v1/sales-pipeline/{uuid}/deals/order-change
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
deals | array | Yes | Array of deal objects with id and position |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deals/order-change" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"deals": [
{"id": 1, "position": 2},
{"id": 2, "position": 1},
{"id": 3, "position": 3}
]
}'
Example Response
{
"msg": "Deal Order Updated Successfully",
"status": 200
}
Stage Management
Get All Stages
Retrieve all stages in a sales pipeline.
GET /api/public-v1/sales-pipeline/{uuid}/stage
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/stage" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"data": [
{
"id": 1,
"title": "Lead",
"order": 1,
"color": "#3B82F6",
"created_at": "2 weeks ago",
"deals": [
{
"id": 1,
"deal_name": "Website Development Deal",
"company": {
"id": 25,
"name": "Tech Solutions Ltd",
"email": "info@techsolutions.com"
},
"contact": {
"id": 15,
"name": "John Smith",
"email": "john@techsolutions.com"
},
"deal_stage_id": 1,
"deal_amount": "15000.00",
"closing_date": "15/02/24",
"created_at": "15/01/24",
"pipeline_uuid": "abc123def456",
"deal_owner": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
}
}
],
"deals_count": 15
}
],
"status": 200
}
Create a Stage
Create a new stage in a sales pipeline.
POST /api/public-v1/sales-pipeline/{uuid}/stage
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
title | string | Yes | Stage title |
color | string | No | Stage color (hex code) |
order | integer | No | Stage order |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/stage" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"title": "Qualified Lead",
"color": "#10B981",
"order": 2
}'
Example Response
{
"msg": "Pipeline Stage Added Successfully",
"data": {
"id": 2,
"title": "Qualified Lead",
"order": 2,
"color": "#10B981",
"created_at": "just now",
"deals": [],
"deals_count": 0
}
}
Get a Specific Stage
Retrieve details of a specific stage.
GET /api/public-v1/sales-pipeline/{uuid}/stage/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Stage ID |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/stage/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"id": 1,
"name": "Lead",
"position": 1,
"color": "#3B82F6",
"deals_count": 15,
"total_value": 75000.00,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-25T14:20:00Z"
}
Update a Stage
Update an existing stage.
PUT /api/public-v1/sales-pipeline/{uuid}/stage/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Stage ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
title | string | No | Stage title |
color | string | No | Stage color (hex code) |
order | integer | No | Stage order |
All fields are optional for updates.
Example Request
curl -X PUT "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/stage/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated Lead Stage",
"color": "#EF4444"
}'
Example Response
{
"msg": "Pipeline Stage Updated Successfully",
"data": {
"id": 1,
"title": "Updated Lead Stage",
"order": 1,
"color": "#EF4444",
"created_at": "2 weeks ago",
"deals": [],
"deals_count": 0
}
}
Delete a Stage
Delete a specific stage.
DELETE /api/public-v1/sales-pipeline/{uuid}/stage/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Stage ID |
Example Request
curl -X DELETE "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/stage/1" \
-H "X-Secret-Key: your-secret-key-here"
Example Response
{
"msg": "Pipeline Stage Deleted",
"status": 200
}
Change Stage Order
Change the order of stages in a pipeline.
POST /api/public-v1/sales-pipeline/{uuid}/stage/order-change
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
order | array | Yes | Array of stage objects with stage_id and order |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/stage/order-change" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"order": [
{"stage_id": 1, "order": 2},
{"stage_id": 2, "order": 1},
{"stage_id": 3, "order": 3}
]
}'
Example Response
{
"msg": "Order changed"
}
Duplicate Stage
Create a duplicate of an existing stage.
POST /api/public-v1/sales-pipeline/{uuid}/stage/{id}/duplicate
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Stage ID to duplicate |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/stage/1/duplicate" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"msg": "SalesPipeline Stage Duplicated Successfully",
"data": {
"id": 4,
"title": "Lead (Copy)",
"order": 4,
"color": "#3B82F6",
"created_at": "just now",
"deals": [],
"deals_count": 0
}
}
Move All Deals
Move all deals from one stage to another.
POST /api/public-v1/sales-pipeline/{uuid}/stage/{id}/move-all-deal
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Source stage ID (stage to move deals from) |
Request Body
Field | Type | Required | Description |
---|---|---|---|
target_stage_id | integer | Yes | Target stage ID (stage to move deals to) |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/stage/1/move-all-deal" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"target_stage_id": 2
}'
Example Response
{
"msg": "Pipeline Stage Move All Deal Successfully"
}
Stage Bulk Actions
Perform bulk operations on stages.
POST /api/public-v1/sales-pipeline/{uuid}/stage/bulk-actions
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
stage_ids | array | Yes | Array of stage IDs to delete |
action | string | Yes | Action to perform (e.g., "delete") |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/stage/bulk-actions" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"stage_ids": [1, 2, 3],
"action": "delete"
}'
Example Response
{
"msg": "Failed to delete sales pipeline stage"
}
Task Management
Manage tasks within sales pipeline deals. Tasks help track action items, follow-ups, and activities related to specific deals.
Get All Tasks
Retrieve all tasks for a specific deal.
GET /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/task" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"data": [
{
"id": 1,
"title": "Follow up with client",
"deal_id": 1,
"type": 1,
"due_date": "2024-02-15",
"due_time": "14:30",
"priority": 2,
"description": "Call client to discuss project requirements",
"is_completed": false,
"assignee": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"assignedBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"reminder": {
"id": 1,
"reminder_date": "2024-02-15",
"reminder_time": "14:00"
},
"repeat": {
"id": 1,
"repeat_type": "weekly",
"repeat_until": "2024-03-15"
}
}
],
"status": 200
}
Create a Task
Create a new task for a deal.
POST /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
title | string | Yes | Task title (max 191 chars) |
type | integer | Yes | Task type (0-4) |
due_date | string | No | Due date (YYYY-MM-DD) |
due_time | string | Conditional | Required if due_date is provided |
assignee_id | integer | Yes | User ID of assignee |
priority | integer | Yes | Priority level (0-3) |
description | string | No | Task description |
repeat | integer | No | Repeat type |
repeat_until | string | Conditional | Required if repeat != 100 |
reminder | integer | No | Reminder type |
reminder_date | string | No | Reminder date |
reminder_time | string | No | Reminder time |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/task" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"title": "Follow up with client",
"type": 1,
"due_date": "2024-02-15",
"due_time": "14:30",
"assignee_id": 8,
"priority": 2,
"description": "Call client to discuss project requirements",
"reminder": 1,
"reminder_date": "2024-02-15",
"reminder_time": "14:00"
}'
Example Response
{
"msg": "Deal Task Added Successfully",
"data": {
"id": 1,
"title": "Follow up with client",
"deal_id": 1,
"type": 1,
"due_date": "2024-02-15",
"due_time": "14:30",
"priority": 2,
"description": "Call client to discuss project requirements",
"is_completed": false,
"assignee": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"assignedBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"reminder": {
"id": 1,
"reminder_date": "2024-02-15",
"reminder_time": "14:00"
},
"repeat": null
}
}
Get a Specific Task
Retrieve details of a specific task.
GET /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/{task_id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
task_id | integer | Yes | Task ID |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/task/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"data": {
"id": 1,
"title": "Follow up with client",
"deal_id": 1,
"type": 1,
"due_date": "2024-02-15",
"due_time": "14:30",
"priority": 2,
"description": "Call client to discuss project requirements",
"is_completed": false,
"assignee": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"assignedBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"reminder": {
"id": 1,
"reminder_date": "2024-02-15",
"reminder_time": "14:00"
},
"repeat": {
"id": 1,
"repeat_type": "weekly",
"repeat_until": "2024-03-15"
}
},
"status": 200
}
Update a Task
Update an existing task.
PUT /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/{task_id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
task_id | integer | Yes | Task ID |
Request Body
Same fields as create task. All fields are optional for updates.
Example Request
curl -X PUT "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/task/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated follow up with client",
"priority": 3
}'
Example Response
{
"msg": "Task Updated Successfully",
"data": {
"id": 1,
"title": "Updated follow up with client",
"deal_id": 1,
"type": 1,
"due_date": "2024-02-15",
"due_time": "14:30",
"priority": 3,
"description": "Call client to discuss project requirements",
"is_completed": false,
"assignee": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"assignedBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"reminder": {
"id": 1,
"reminder_date": "2024-02-15",
"reminder_time": "14:00"
},
"repeat": {
"id": 1,
"repeat_type": "weekly",
"repeat_until": "2024-03-15"
}
}
}
Delete a Task
Delete a specific task.
DELETE /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/{task_id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
task_id | integer | Yes | Task ID |
Example Request
curl -X DELETE "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/task/1" \
-H "X-Secret-Key: your-secret-key-here"
Example Response
{
"msg": "Task Deleted"
}
Task Bulk Actions
Perform bulk operations on tasks.
POST /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/bulk-actions
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
task_ids | array | Yes | Array of task IDs |
action | string | Yes | Action to perform (e.g., "delete") |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/task/bulk-actions" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"task_ids": [1, 2, 3],
"action": "delete"
}'
Example Response
{
"msg": "Tasks deleted successfully"
}
Change Task Order
Change the order of tasks for a deal.
POST /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/order-change
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
task_id | integer | Yes | Task ID to reorder |
new_order | integer | Yes | New order position |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/task/order-change" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"task_id": 1,
"new_order": 3
}'
Example Response
{
"msg": "Task Updated Successfully",
"data": {
"id": 1,
"title": "Follow up with client",
"deal_id": 1,
"type": 1,
"due_date": "2024-02-15",
"due_time": "14:30",
"priority": 2,
"description": "Call client to discuss project requirements",
"is_completed": false,
"assignee": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"assignedBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"reminder": {
"id": 1,
"reminder_date": "2024-02-15",
"reminder_time": "14:00"
},
"repeat": {
"id": 1,
"repeat_type": "weekly",
"repeat_until": "2024-03-15"
}
}
}
Complete Task
Mark a task as completed.
POST /api/public-v1/sales-pipeline/{uuid}/deal/{id}/task/{task_id}/complete
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
task_id | integer | Yes | Task ID |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/task/1/complete" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"msg": "Task Updated Successfully",
"data": {
"id": 1,
"title": "Follow up with client",
"deal_id": 1,
"type": 1,
"due_date": "2024-02-15",
"due_time": "14:30",
"priority": 2,
"description": "Call client to discuss project requirements",
"is_completed": true,
"assignee": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"assignedBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"reminder": {
"id": 1,
"reminder_date": "2024-02-15",
"reminder_time": "14:00"
},
"repeat": {
"id": 1,
"repeat_type": "weekly",
"repeat_until": "2024-03-15"
}
}
}
File Management
Manage files and documents attached to sales pipeline deals. This allows you to upload, view, and delete files associated with specific deals.
Get All Files
Retrieve all files for a specific deal.
GET /api/public-v1/sales-pipeline/{uuid}/deal/{id}/file
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/file" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"msg": "Deal file added",
"data": [
{
"deal_id": 1,
"media": {
"id": 15,
"name": "contract.pdf",
"file_name": "contract.pdf",
"mime_type": "application/pdf",
"size": 2048576,
"url": "https://storage.example.com/files/contract.pdf",
"created_at": "2024-01-15T10:30:00Z"
}
},
{
"deal_id": 1,
"media": {
"id": 16,
"name": "proposal.docx",
"file_name": "proposal.docx",
"mime_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"size": 1024000,
"url": "https://storage.example.com/files/proposal.docx",
"created_at": "2024-01-16T09:15:00Z"
}
}
],
"status": 200
}
Upload a File
Upload a new file for a deal.
POST /api/public-v1/sales-pipeline/{uuid}/deal/{id}/file
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
file_id | integer | Yes | Media upload ID (obtained from media upload endpoint) |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/file" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"file_id": 15
}'
Example Response
{
"msg": "Deal file added",
"data": {
"deal_id": 1,
"media": {
"id": 15,
"name": "contract.pdf",
"file_name": "contract.pdf",
"mime_type": "application/pdf",
"size": 2048576,
"url": "https://storage.example.com/files/contract.pdf",
"created_at": "2024-01-15T10:30:00Z"
}
},
"status": 200
}
Delete a File
Delete a specific file from a deal.
DELETE /api/public-v1/sales-pipeline/{uuid}/deal/{id}/file/{file_id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
file_id | integer | Yes | File/Media ID |
Example Request
curl -X DELETE "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/file/15" \
-H "X-Secret-Key: your-secret-key-here"
Example Response
{
"msg": "Deal file deleted",
"status": 200
}
Meeting Management
Manage meetings and appointments within sales pipeline deals. This allows you to schedule, track, and manage meetings related to specific deals.
Get All Meetings
Retrieve all meetings for a specific deal.
GET /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/meeting" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"data": [
{
"id": 1,
"title": "Project kickoff meeting",
"deal": 1,
"type": 0,
"description": "Initial project discussion and requirements gathering",
"priority": 2,
"duration": 1,
"notify_client": true,
"meeting_day": "Monday",
"date": "February 15, 2024",
"time_slot_start": "14:00",
"time_slot_end": "15:00",
"created_at": "2 days ago",
"assignee_id": 8,
"location": "Conference Room A",
"phone_number": null,
"meeting_url": null,
"google_meet_integration_id": null,
"assignee": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"assignedBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"reminder": {
"id": 1,
"reminder_date": "2024-02-15",
"reminder_time": "13:30"
}
}
],
"status": 200
}
Create a Meeting
Create a new meeting for a deal.
POST /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
title | string | Yes | Meeting title (max 191 chars) |
type | integer | Yes | Meeting type (0=in-person, 1=phone, 2=google meet, 3=other) |
assignee_id | integer | Yes | User ID of assignee |
description | string | No | Meeting description |
priority | integer | Yes | Priority level (0-3) |
duration | integer | Yes | Duration type (0-2) |
is_completed | boolean | No | Meeting completion status |
notify_client | boolean | Yes | Whether to notify client |
google_meet_integration_id | integer | Conditional | Required if type=2 |
phone_number | string | Conditional | Required if type=1 |
location | string | Conditional | Required if type=0 |
reminder | integer | No | Reminder type |
reminder_date | string | No | Reminder date |
reminder_time | string | No | Reminder time |
time_slot_start | string | No | Meeting start time |
time_slot_end | string | No | Meeting end time |
date | string | No | Meeting date |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/meeting" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"title": "Project kickoff meeting",
"type": 0,
"assignee_id": 8,
"description": "Initial project discussion and requirements gathering",
"priority": 2,
"duration": 1,
"notify_client": true,
"location": "Conference Room A",
"time_slot_start": "14:00",
"time_slot_end": "15:00",
"date": "2024-02-15",
"reminder": 1,
"reminder_date": "2024-02-15",
"reminder_time": "13:30"
}'
Example Response
{
"msg": "Meeting Added successfully",
"data": {
"id": 1,
"title": "Project kickoff meeting",
"deal": 1,
"type": 0,
"description": "Initial project discussion and requirements gathering",
"priority": 2,
"duration": 1,
"notify_client": true,
"meeting_day": "Monday",
"date": "February 15, 2024",
"time_slot_start": "14:00",
"time_slot_end": "15:00",
"created_at": "just now",
"assignee_id": 8,
"location": "Conference Room A",
"phone_number": null,
"meeting_url": null,
"google_meet_integration_id": null,
"assignee": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"assignedBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"reminder": {
"id": 1,
"reminder_date": "2024-02-15",
"reminder_time": "13:30"
}
}
}
Get a Specific Meeting
Retrieve details of a specific meeting.
GET /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting/{meeting_id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
meeting_id | integer | Yes | Meeting ID |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/meeting/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"data": {
"id": 1,
"title": "Project kickoff meeting",
"deal": 1,
"type": 0,
"description": "Initial project discussion and requirements gathering",
"priority": 2,
"duration": 1,
"notify_client": true,
"meeting_day": "Monday",
"date": "February 15, 2024",
"time_slot_start": "14:00",
"time_slot_end": "15:00",
"created_at": "2 days ago",
"assignee_id": 8,
"location": "Conference Room A",
"phone_number": null,
"meeting_url": null,
"google_meet_integration_id": null,
"assignee": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"assignedBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"reminder": {
"id": 1,
"reminder_date": "2024-02-15",
"reminder_time": "13:30"
}
},
"status": 200
}
Update a Meeting
Update an existing meeting.
PUT /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting/{meeting_id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
meeting_id | integer | Yes | Meeting ID |
Request Body
Same fields as create meeting. All fields are required for updates.
Example Request
curl -X PUT "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/meeting/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated project kickoff meeting",
"type": 0,
"assignee_id": 8,
"description": "Updated meeting description",
"priority": 3,
"duration": 2,
"notify_client": true,
"location": "Conference Room B"
}'
Example Response
{
"msg": "Meeting Update successfully",
"data": {
"id": 1,
"title": "Updated project kickoff meeting",
"deal": 1,
"type": 0,
"description": "Updated meeting description",
"priority": 3,
"duration": 2,
"notify_client": true,
"meeting_day": "Monday",
"date": "February 15, 2024",
"time_slot_start": "14:00",
"time_slot_end": "15:00",
"created_at": "2 days ago",
"assignee_id": 8,
"location": "Conference Room B",
"phone_number": null,
"meeting_url": null,
"google_meet_integration_id": null,
"assignee": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"assignedBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"reminder": {
"id": 1,
"reminder_date": "2024-02-15",
"reminder_time": "13:30"
}
}
}
Delete a Meeting
Delete a specific meeting.
DELETE /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting/{meeting_id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
meeting_id | integer | Yes | Meeting ID |
Example Request
curl -X DELETE "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/meeting/1" \
-H "X-Secret-Key: your-secret-key-here"
Example Response
{
"msg": "Meeting Deleted"
}
Meeting Bulk Actions
Perform bulk operations on meetings.
POST /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting/bulk-actions
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
ids | array | Yes | Array of meeting IDs |
action | string | Yes | Action to perform (e.g., "delete") |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/meeting/bulk-actions" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"ids": [1, 2, 3],
"action": "delete"
}'
Example Response
{
"msg": "Meeting deleted successfully"
}
Complete Meeting
Mark a meeting as completed or incomplete.
POST /api/public-v1/sales-pipeline/{uuid}/deal/{id}/meeting/{meeting_id}/complete
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
meeting_id | integer | Yes | Meeting ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
is_completed | boolean | Yes | Completion status (true/false) |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/meeting/1/complete" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"is_completed": true
}'
Example Response
{
"msg": "Meeting Marked Completed",
"data": {
"id": 1,
"title": "Project kickoff meeting",
"deal_id": 1,
"type": 0,
"due_date": "2024-02-15",
"due_time": "14:00",
"priority": 2,
"description": "Initial project discussion and requirements gathering",
"is_completed": true,
"assignee": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"assignedBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"reminder": {
"id": 1,
"reminder_date": "2024-02-15",
"reminder_time": "13:30"
},
"repeat": null
}
}
Note Management
Manage notes and comments within sales pipeline deals. This allows you to add, view, edit, and delete notes related to specific deals for better communication and tracking.
Get All Notes
Retrieve all notes for a specific deal.
GET /api/public-v1/sales-pipeline/{uuid}/deal/{id}/note
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/note" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"data": [
{
"id": 1,
"description": "Initial client contact went well. They seem interested in our services.",
"createdBy": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"createdAt": "Mon 15 2024 02:30PM"
},
{
"id": 2,
"description": "Follow-up meeting scheduled for next week to discuss project details.",
"createdBy": {
"id": 5,
"name": "Manager Name",
"email": "manager@company.com"
},
"createdAt": "Tue 16 2024 10:15AM"
}
],
"status": 200
}
Create a Note
Create a new note for a deal.
POST /api/public-v1/sales-pipeline/{uuid}/deal/{id}/note
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
description | string | Yes | Note content/description |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/note" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"description": "Client expressed interest in premium package. Need to send detailed proposal."
}'
Example Response
{
"msg": "Notes Added Successfully",
"data": {
"id": 3,
"description": "Client expressed interest in premium package. Need to send detailed proposal.",
"createdBy": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"createdAt": "Wed 17 2024 03:45PM"
}
}
Update a Note
Update an existing note.
PUT /api/public-v1/sales-pipeline/{uuid}/deal/{id}/note/{note_id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
note_id | integer | Yes | Note ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
description | string | Yes | Updated note content/description |
Example Request
curl -X PUT "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/note/3" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"description": "Client confirmed interest in premium package. Proposal sent and waiting for response."
}'
Example Response
{
"msg": "Notes Updated Successfully",
"data": {
"id": 3,
"description": "Client confirmed interest in premium package. Proposal sent and waiting for response.",
"createdBy": {
"id": 8,
"name": "Sarah Johnson",
"email": "sarah@company.com"
},
"createdAt": "Wed 17 2024 03:45PM"
}
}
Delete a Note
Delete a specific note.
DELETE /api/public-v1/sales-pipeline/{uuid}/deal/{id}/note/{note_id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
note_id | integer | Yes | Note ID |
Example Request
curl -X DELETE "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/note/3" \
-H "X-Secret-Key: your-secret-key-here"
Example Response
{
"msg": "Notes Deleted Successfully"
}
Note Bulk Actions
Perform bulk operations on notes.
POST /api/public-v1/sales-pipeline/{uuid}/deal/{id}/note/bulk-actions
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
uuid | string | Yes | Sales pipeline UUID |
id | integer | Yes | Deal ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
ids | array | Yes | Array of note IDs to delete |
action | string | Yes | Action to perform (e.g., "delete") |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/abc123def456/deal/1/note/bulk-actions" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"ids": [1, 2, 3],
"action": "delete"
}'
Example Response
{
"msg": "Notes Deleted Successfully"
}
Attribute Management
Manage custom attributes for the sales pipeline system. Attributes allow you to create custom fields and properties that can be used to categorize and filter deals, stages, and other pipeline elements.
Get All Attributes
Retrieve all sales pipeline attributes.
GET /api/public-v1/sales-pipeline/attributes
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/attributes" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"data": [
{
"id": 1,
"title": "Priority Level",
"color": "#FF5722",
"status": "active",
"type": "priority"
},
{
"id": 2,
"title": "Industry Type",
"color": "#2196F3",
"status": "active",
"type": "category"
},
{
"id": 3,
"title": "Deal Source",
"color": "#4CAF50",
"status": "active",
"type": "source"
}
],
"status": 200
}
Create an Attribute
Create a new sales pipeline attribute.
POST /api/public-v1/sales-pipeline/attributes
Request Body
Field | Type | Required | Description |
---|---|---|---|
title | string | Yes | Attribute title/name (max 191 chars) |
color | string | Yes | Attribute color (max 191 chars) |
type | string | Yes | Attribute type (max 191 chars) |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/attributes" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"title": "Company Size",
"color": "#9C27B0",
"type": "category"
}'
Example Response
{
"msg": "Attribute Created Successfully",
"data": {
"id": 4,
"title": "Company Size",
"color": "#9C27B0",
"status": "active",
"type": "category"
}
}
Get a Specific Attribute
Retrieve details of a specific attribute.
GET /api/public-v1/sales-pipeline/attributes/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
id | integer | Yes | Attribute ID |
Example Request
curl -X GET "https://public-api.taskip.net/api/public-v1/sales-pipeline/attributes/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json"
Example Response
{
"data": {
"id": 1,
"title": "Priority Level",
"color": "#FF5722",
"status": "active",
"type": "priority"
},
"status": 200
}
Update an Attribute
Update an existing attribute.
PUT /api/public-v1/sales-pipeline/attributes/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
id | integer | Yes | Attribute ID |
Request Body
Field | Type | Required | Description |
---|---|---|---|
title | string | Yes | Attribute title/name (max 191 chars) |
color | string | Yes | Attribute color (max 191 chars) |
type | string | Yes | Attribute type (max 191 chars) |
All fields are required for updates (same validation as create).
Example Request
curl -X PUT "https://public-api.taskip.net/api/public-v1/sales-pipeline/attributes/1" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"title": "High Priority Level",
"color": "#F44336",
"type": "priority"
}'
Example Response
{
"msg": "Update Success"
}
Delete an Attribute
Delete a specific attribute.
DELETE /api/public-v1/sales-pipeline/attributes/{id}
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
id | integer | Yes | Attribute ID |
Example Request
curl -X DELETE "https://public-api.taskip.net/api/public-v1/sales-pipeline/attributes/1" \
-H "X-Secret-Key: your-secret-key-here"
Example Response
{
"msg": "Delete Success"
}
Attribute Bulk Actions
Perform bulk operations on attributes.
POST /api/public-v1/sales-pipeline/attributes/bulk-actions
Request Body
Field | Type | Required | Description |
---|---|---|---|
ids | array | Yes | Array of attribute IDs |
action | string | Yes | Action to perform (e.g., "delete") |
Example Request
curl -X POST "https://public-api.taskip.net/api/public-v1/sales-pipeline/attributes/bulk-actions" \
-H "X-Secret-Key: your-secret-key-here" \
-H "Content-Type: application/json" \
-d '{
"ids": [1, 2, 3],
"action": "delete"
}'
Example Response
{
"msg": "Delete Success"
}
Additional Modules
Due to the comprehensive nature of the Sales Pipeline API with 50+ endpoints, the remaining modules (Activities) follow similar patterns to the above examples.
Quick Reference for Remaining Endpoints
Activity Management
All activity endpoints follow the pattern:
- GET/POST/PUT/DELETE
/api/public-v1/sales-pipeline/{uuid}/deal/{id}/activity[/{activity_id}]
- Special actions:
/activity/bulk-actions
,/activity/send-mail
Standard Response Patterns
All endpoints follow these consistent response patterns:
Success Responses
- Create/Update/Delete operations:
{"msg": "Operation completed successfully", "status": 200/201}
- Get single resource: Returns the resource object directly
- Get multiple resources:
{"data": [...], "status": 200}
Request Patterns
- All endpoints require the
X-Secret-Key
header - UUID parameters refer to the sales pipeline UUID
- ID parameters are integer values
- Bulk actions require arrays of IDs and an action type
For detailed examples of any specific endpoint not covered above, please refer to the patterns established in the Pipeline, Deals, and Stage sections, or contact support for additional documentation.