Jira API
Programmatic access to the Jira integration uses the generic Ticketing and Anomaly Ticket Link endpoints on the Qualytics REST API. The requests below cover ticket lookup, ticket creation for an anomaly, and management of the links between anomalies and Jira issues. Requests share the same base URL and Bearer token authentication as the rest of the platform API.
- Base URL. Your deployment's platform host (for example,
https://<your-tenant>.qualytics.io/api). - Auth. Bearer token in the
Authorizationheader. See Access Tokens to create one. - Content type.
application/jsonon every request that carries a body.
Complete API Reference
The endpoints below are illustrative. For the full request and response schemas, live examples, and every field that each endpoint accepts, see the interactive API reference at demo.qualytics.io/api/docs.
Ticketing Integration Endpoints
| Operation | Method | Endpoint | Description |
|---|---|---|---|
| Get Ticketing Form Specification | GET | /api/integrations/ticketing/form-specification |
Return the form specification used to build the "Create Ticket" modal for the configured ticketing provider. |
| Search Tickets | GET | /api/integrations/ticketing/tickets/search |
Search for tickets in the configured ticketing provider (for example, by summary or issue key). |
| Get Ticket By Id | GET | /api/integrations/ticketing/tickets/{ticket_id} |
Return a specific ticket by its provider-side identifier. |
| Create Ticket For Anomaly | POST | /api/integrations/ticketing/anomalies/{anomaly_id}/tickets |
Create a new Jira issue and link it to an anomaly in one call. |
Anomaly Ticket Link Endpoints
| Operation | Method | Endpoint | Description |
|---|---|---|---|
| Get Anomaly Ticket Links | GET | /api/anomalies/{anomaly_id}/ticket-links |
List every ticket link attached to an anomaly. |
| Create Anomaly Ticket Link | POST | /api/anomalies/{anomaly_id}/ticket-links |
Attach an existing Jira issue to an anomaly. |
| Delete Anomaly Ticket Link | DELETE | /api/anomalies/{anomaly_id}/ticket-links/{link_id} |
Remove a link between an anomaly and a Jira issue. The Jira issue itself is not deleted. |
Sample curl Requests
The following requests illustrate the most common operations. Replace $QUALYTICS_TOKEN, the tenant hostname, and identifier placeholders with your own values.
Search tickets with curl
curl -X GET "https://<your-tenant>.qualytics.io/api/integrations/ticketing/tickets/search?query=customer" \
-H "Authorization: Bearer $QUALYTICS_TOKEN"
Returns a paginated list of tickets whose summary or key matches the query.
Get a ticket by id with curl
curl -X GET "https://<your-tenant>.qualytics.io/api/integrations/ticketing/tickets/10428" \
-H "Authorization: Bearer $QUALYTICS_TOKEN"
Returns the single ticket record for the given provider-side identifier.
Create a ticket for an anomaly with curl
curl -X POST "https://<your-tenant>.qualytics.io/api/integrations/ticketing/anomalies/1/tickets" \
-H "Authorization: Bearer $QUALYTICS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Investigate CUSTOMER_NAME similarity anomaly",
"description": "Follow-up on an anomaly detected during the daily scan.",
"priority": "Medium"
}'
Creates a Jira issue and links it to anomaly 1 in one call. See the request and response payloads in the tabs below for the full shape.
List anomaly ticket links with curl
curl -X GET "https://<your-tenant>.qualytics.io/api/anomalies/1/ticket-links" \
-H "Authorization: Bearer $QUALYTICS_TOKEN"
Returns every ticket link attached to the anomaly, including issues linked after the fact via Link Existing Ticket.
Sample Payloads
Sent when a user creates a ticket from an anomaly detail page.
The response includes the created ticket record and its association to the anomaly.
{
"ticket": {
"ticket_id": "10428",
"ticket_number": "SCRUM-40",
"title": "summary of ticket",
"description": "description of the ticket\n ---\n Qualytics Anomaly Linked [2026-01-23 20:22:04 UTC] Anomaly ID: 1 Status: Acknowledged Type: shape Detected: 2025-12-21 01:48:42.988233+00:00\n Failed Checks: - 8 values in CUSTOMER_NAME were resolved to 7 distinct entities using similarity matching. 1 of those entities is assigned more than one value of CUSTOMER_ID\n View in Qualytics: https://your-qualytics-instance.qualytics.io/datastores/1/anomalies?id=1\n",
"status": "Idea",
"priority": "Medium",
"urgency": null,
"impact": null,
"category": "Task",
"subcategory": null,
"created_at": "2026-01-23T15:22:05",
"updated_at": "2026-01-23T15:22:05",
"resolved_at": null,
"closed_at": null,
"assigned_to": null,
"assigned_group": null,
"requester": "User Name",
"url": "https://your-domain.atlassian.net/browse/SCRUM-40",
"comments_count": null,
"metadata": {
"project_key": "SCRUM",
"issue_type": "Task"
}
},
"anomaly_id": 1,
"integration_id": 2,
"message": "Ticket SCRUM-40 created and linked to anomaly 1"
}
Returned by GET /api/integrations/ticketing/tickets/search?query=<term>.
{
"items": [
{
"ticket_id": "10002",
"ticket_number": "SCRUM-3",
"title": "Task 3",
"description": null,
"status": "To Do",
"priority": null,
"created_at": "2025-12-02T12:34:20",
"updated_at": "2025-12-02T12:34:21",
"assigned_to": null,
"url": "https://your-domain.atlassian.net/browse/SCRUM-3"
}
],
"total": 1,
"page": 1,
"size": 50,
"pages": 1
}
Related
- How It Works for what gets synced end-to-end.
- Create Ticket for the equivalent UI walkthrough.
- Link Existing Ticket for the equivalent UI walkthrough.