Loading...
Loading...
Integrate OneClickIT.ai into your enterprise workflows. Manage tickets, monitor uptime, run security reviews, and more programmatically.
All API requests require a valid API key sent via the Authorization header.
Authorization: Bearer Base URL
https://api.oneclickit.ai/v1
Rate Limit
60 requests / minute
Generate API keys from your Dashboard → Settings → API Keys. Keep your keys secret and never expose them in client-side code.
/api/ticketsCreate a new support ticket.
Request Body
{
"subject": "Printer not responding",
"description": "HP LaserJet on 2nd floor is offline since this morning.",
"priority": "high",
"deviceId": "dev_abc123"
}Response Example
{
"id": "tkt_98f2e1",
"subject": "Printer not responding",
"status": "open",
"createdAt": "2026-03-23T10: 30: 00Z"
}Status Codes
| Code | Description |
|---|---|
| 201 | Ticket created successfully |
| 400 | Validation error — missing required fields |
| 401 | Unauthorized — invalid or missing API key |
| 429 | Rate limit exceeded |
Code Examples
curl --request POST \
--url https://api.oneclickit.ai/v1/api/tickets \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"subject": "Printer not responding",
"description": "HP LaserJet on 2nd floor is offline.",
"priority": "high",
"deviceId": "dev_abc123"
}'/api/tickets?status=open&page=1&limit=10List tickets with optional filters and pagination.
Response Example
{
"tickets": [
{
"id": "tkt_98f2e1",
"subject": "Printer not responding",
"status": "open",
"priority": "high",
"createdAt": "2026-03-23T10: 30: 00Z"
}
],
"total": 42,
"page": 1
}Status Codes
| Code | Description |
|---|---|
| 200 | Success |
| 401 | Unauthorized |
| 429 | Rate limit exceeded |
Code Examples
curl --request GET \
--url "https://api.oneclickit.ai/v1/api/tickets?status=open&page=1&limit=10" \
--header "Authorization: Bearer YOUR_API_KEY"/api/tickets/:idGet full ticket details including message thread.
Response Example
{
"id": "tkt_98f2e1",
"subject": "Printer not responding",
"description": "HP LaserJet on 2nd floor is offline since this morning.",
"status": "open",
"priority": "high",
"deviceId": "dev_abc123",
"createdAt": "2026-03-23T10: 30: 00Z",
"updatedAt": "2026-03-23T11: 15: 00Z",
"messages": [
{
"id": "msg_001",
"sender": "technician",
"text": "I will check the printer remotely now.",
"createdAt": "2026-03-23T10: 45: 00Z"
}
]
}Status Codes
| Code | Description |
|---|---|
| 200 | Success |
| 401 | Unauthorized |
| 404 | Ticket not found |
Code Examples
curl --request GET \
--url https://api.oneclickit.ai/v1/api/tickets/tkt_98f2e1 \
--header "Authorization: Bearer YOUR_API_KEY"Device management endpoints are coming soon. You will be able to register, list, and manage devices associated with your organization.
/api/breach-checkCheck if an email address has appeared in known data breaches.
Request Body
{
"email": "user@example.com"
}Response Example
{
"breached": true,
"breachCount": 3,
"breaches": [
{
"name": "ExampleCorp 2024",
"date": "2024-06-15",
"dataTypes": [
"email",
"password"
]
},
{
"name": "SocialApp Leak",
"date": "2023-11-02",
"dataTypes": [
"email",
"username",
"ip_address"
]
},
{
"name": "RetailStore Breach",
"date": "2023-03-20",
"dataTypes": [
"email",
"phone"
]
}
]
}Status Codes
| Code | Description |
|---|---|
| 200 | Success |
| 400 | Invalid email format |
| 401 | Unauthorized |
| 429 | Rate limit exceeded |
Code Examples
curl --request POST \
--url https://api.oneclickit.ai/v1/api/breach-check \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{"email": "user@example.com"}'/api/uptimeGet current uptime monitoring status for all registered targets.
Response Example
{
"targets": [
{
"id": "tgt_001",
"name": "Main Website",
"url": "https://oneclickit.ai",
"status": "up",
"responseTime": 142,
"uptime30d": 99.98
},
{
"id": "tgt_002",
"name": "API Server",
"url": "https://api.oneclickit.ai",
"status": "up",
"responseTime": 87,
"uptime30d": 99.99
}
],
"overall": {
"status": "operational",
"uptimePercentage": 99.98
}
}Status Codes
| Code | Description |
|---|---|
| 200 | Success |
| 401 | Unauthorized |
Code Examples
curl --request GET \
--url https://api.oneclickit.ai/v1/api/uptime \
--header "Authorization: Bearer YOUR_API_KEY"/api/security-reviewRequest a comprehensive security review for the given email and associated devices.
Request Body
{
"email": "admin@company.com",
"devices": [
"dev_abc123",
"dev_xyz789"
]
}Response Example
{
"score": 78,
"categories": [
{
"name": "Password Hygiene",
"score": 65,
"issues": [
"3 reused passwords detected"
]
},
{
"name": "Software Updates",
"score": 90,
"issues": [
"1 critical update pending"
]
},
{
"name": "Network Security",
"score": 80,
"issues": [
"Open port 3389 detected"
]
}
]
}Status Codes
| Code | Description |
|---|---|
| 200 | Review completed |
| 400 | Validation error |
| 401 | Unauthorized |
| 429 | Rate limit exceeded |
Code Examples
curl --request POST \
--url https://api.oneclickit.ai/v1/api/security-review \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"email": "admin@company.com",
"devices": ["dev_abc123", "dev_xyz789"]
}'Health Report endpoints are coming soon. You will be able to generate and retrieve comprehensive IT health reports for your organization.
/api/notificationsSend a notification to a user via the configured channel.
Request Body
{
"type": "email",
"to": "user@company.com",
"data": {
"subject": "Ticket Resolved",
"message": "Your ticket #tkt_98f2e1 has been resolved."
}
}Response Example
{
"success": true,
"html": "Your ticket #tkt_98f2e1 has been resolved.
"
}Status Codes
| Code | Description |
|---|---|
| 200 | Notification sent |
| 400 | Validation error |
| 401 | Unauthorized |
| 429 | Rate limit exceeded |
Code Examples
curl --request POST \
--url https://api.oneclickit.ai/v1/api/notifications \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"type": "email",
"to": "user@company.com",
"data": {
"subject": "Ticket Resolved",
"message": "Your ticket #tkt_98f2e1 has been resolved."
}
}'Configure webhook endpoints in your Dashboard → Settings → Webhooks to receive real-time notifications when events occur in your account.
Every webhook request includes an X-OneClickIT-Signature header containing an HMAC-SHA256 signature of the request body, signed with your webhook secret. Always verify this signature before processing a webhook.
"color:#C084FC">const crypto = require("crypto");
"color:#C084FC">function verifyWebhook(payload, signature, secret) {
"color:#C084FC">const expected = crypto
.createHmac("sha256", secret)
.update(payload)
.digest("hex");
"color:#C084FC">return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}ticket.createdFired when a new ticket is created.
Payload Example
{
"event": "ticket.created",
"timestamp": "2026-03-23T10: 30: 00Z",
"data": {
"id": "tkt_98f2e1",
"subject": "Printer not responding",
"priority": "high",
"status": "open"
}
}ticket.resolvedFired when a ticket is marked as resolved.
Payload Example
{
"event": "ticket.resolved",
"timestamp": "2026-03-23T14: 00: 00Z",
"data": {
"id": "tkt_98f2e1",
"subject": "Printer not responding",
"resolvedBy": "tech_jane",
"resolution": "Driver reinstalled and printer reconnected."
}
}breach.detectedFired when a monitored email appears in a new breach.
Payload Example
{
"event": "breach.detected",
"timestamp": "2026-03-23T08: 00: 00Z",
"data": {
"email": "user@company.com",
"breach": {
"name": "MegaCorp 2026",
"date": "2026-03-20",
"dataTypes": [
"email",
"password_hash"
]
}
}
}subscription.changedFired when a subscription plan is upgraded or downgraded.
Payload Example
{
"event": "subscription.changed",
"timestamp": "2026-03-23T12: 00: 00Z",
"data": {
"customerId": "cus_12345",
"previousPlan": "starter",
"newPlan": "enterprise",
"effectiveDate": "2026-04-01"
}
}