Build on Softwire's workspace platform API
Scoped bearer tokens for tickets, projects, HRMS, and CRM — plus inbound webhooks for Git providers and error reporting.
export SOFTWIRE_TOKEN="softwire_your_token_here"
export SOFTWIRE_BASE="https://softwireapp.in/api/v1"
curl -s "${SOFTWIRE_BASE}/workspaces/1/tickets" \
-H "Authorization: Bearer ${SOFTWIRE_TOKEN}" \
-H "Accept: application/json"
→ 200 OK
Authentication
Create a workspace API token under Integrations → API. Tokens are prefixed with softwire_ and scoped to specific abilities.
| Scope | Access |
|---|---|
tickets:read | GET workspace tickets |
tickets:write | Create/update tickets (coming soon) |
projects:read | GET workspace projects |
hrms:read | GET HRMS employee profiles |
crm:read | GET CRM deals |
webhooks:manage | Manage outbound webhook subscriptions |
Authorization: Bearer softwire_xxxxxxxxxxxxxxxx
Base URL
All v1 resources live under a single base path. Replace {workspace} with your workspace ID.
https://softwireapp.in/api/v1/workspaces/{workspace}/…
Endpoints overview
Read endpoints return JSON with a top-level data array. Lists are capped at 50 records and sorted by recency unless noted.
| Method | Path | Scope | Description |
|---|---|---|---|
| GET | /api/v1/workspaces/{workspace}/tickets |
tickets:read |
List recent tickets with assignee and status. |
| GET | /api/v1/workspaces/{workspace}/projects |
projects:read |
List workspace projects and delivery status. |
| GET | /api/v1/workspaces/{workspace}/hrms/employees |
hrms:read |
Employee profiles with department and job title. |
| GET | /api/v1/workspaces/{workspace}/crm/deals |
crm:read |
CRM deals with stage, amount, and account. |
| GET | /api/webhooks/{workspace}/{provider} |
— | Ping Git provider webhook endpoint (github, gitlab, bitbucket). |
| POST | /api/webhooks/{workspace}/{provider} |
— | Receive Git push/issue events into workspace activity. |
| POST | /api/webhooks/{workspace}/errors |
— | Ingest application error reports as tickets. |
Platform APIs
Tickets
Returns ticket number, title, status, priority, assignee, and timestamps.
GET https://softwireapp.in/api/v1/workspaces/1/tickets
{
"data": [
{
"id": 1,
"ticket_number": "TKT-001",
"title": "Login issue on mobile",
"status": "open",
"priority": "high",
"assigned_to": 4,
"created_at": "2026-08-20T10:00:00.000000Z"
}
]
}
Projects
Project name, delivery status, color, and schedule window.
GET https://softwireapp.in/api/v1/workspaces/1/projects
HRMS employees
Employee profiles with linked user, department, job title, and join date.
GET https://softwireapp.in/api/v1/workspaces/1/hrms/employees
CRM deals
Pipeline deals with stage, amount, account, and owner.
GET https://softwireapp.in/api/v1/workspaces/1/crm/deals
Webhooks
Inbound webhooks let external systems push events into Softwire without a bearer token. Configure Git integrations in the workspace first.
Git providers
GET/POST /api/webhooks/{workspace}/githubGET/POST /api/webhooks/{workspace}/gitlabGET/POST /api/webhooks/{workspace}/bitbucket
POST payloads create activity entries and may auto-create tickets from issue events when the integration is enabled.
Error reports
Send application exceptions to POST /api/webhooks/{workspace}/errors to open or update support tickets from your monitoring stack.
POST https://softwireapp.in/api/webhooks/1/errors
Content-Type: application/json
{
"message": "Payment gateway timeout",
"severity": "critical",
"url": "/checkout"
}
Rate limits
Authenticated v1 endpoints are limited to 120 requests per minute per token. Webhook endpoints share the same throttle. Exceeding the limit returns 429 Too Many Requests.
Errors
| Status | Meaning |
|---|---|
401 | Missing or invalid bearer token |
403 | Token lacks required scope or workspace mismatch |
404 | Workspace or integration not found |
429 | Rate limit exceeded |