Download OpenAPI specification:
Cypho External API provides access to our platform for customers to retrieve security insights, manage detected issues, and integrate threat intelligence into their systems. It offers endpoints for issue management, status updates, and category exploration to enhance security operations.
IssuesAPI provides endpoints for managing security issues, including retrieving issue details, listing all issues, and updating their statuses.
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| alert_statuses | string <string> Example: alert_statuses=Open,In-progress List of issue statuses, seperated by comma. List of valid statuses: [Open, In-progress, Closed, Risk accepted, False positive, Out of scope, Candidate] |
| severities | string <string> Example: severities=Critical,Moderate List of issue severities, seperated by comma. List of valid severities: [Critical, Moderate, Low] |
| categories | string <string> Example: categories=Phishing Monitoring,PII Exposure Monitoring List of issue category names, seperated by comma. |
| since | string Example: since=2006-01-02T15:04:05Z Issue detection start date, can be either RFC3339 date time or relative time format. |
| until | string Example: until=2 months 2 days ago Issue detection end date, can be either RFC3339 date time or relative time format. |
| page | integer Default: 1 |
| limit | integer Default: 50 |
object (Filter) | |
Array of objects (FilterField) | |
| candidate | boolean |
{- "filter": {
- "fields": [
- {
- "field": "status",
- "value": "Open",
- "operator": "equal"
}
], - "condition": "AND"
}, - "categories_filter": [
- {
- "field": "status",
- "value": "Open",
- "operator": "equal"
}
], - "candidate": true
}{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "issues": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "title": "string",
- "ticket_id": "string",
- "description": { },
- "company_name": "string",
- "impact": "string",
- "detail": "string",
- "recommendation": "string",
- "risk_level": "Critical",
- "status": "Open",
- "status_reason": "string",
- "category_name": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "time_to_remediate": "string",
- "created_at_text": "string",
- "updated_at_text": "string",
- "asset": "string",
- "asset_field": "Domain",
- "attachments": [
- {
- "name": "string"
}
], - "is_blur": true
}
], - "statuses": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "field": "Open"
}
], - "risk_levels": [
- {
- "field": "Critical"
}
]
}
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| name | string Optional issue name |
| title required | string Issue title (must match an existing issue title template) |
| description required | string <json> Issue description in JSON format |
| asset required | string Asset value (e.g. domain name, IP address) |
| category required | string Category name for the issue |
| user_email | string <email> Email of the user creating the issue. Used for access validation within the company hierarchy. When provided, the user must belong to the target company or be an admin/superadmin of a parent company. |
{- "status": true,
- "msg": "Request processed successfully"
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| ticket_id required | string Example: ticket_id=some_company-PM-000001 Issue ticket id |
| user_email required | string <email> Example: [email protected] Email address of the user performing the action. Used for user access validation within the company hierarchy. The user must belong to the target company or be an admin/superadmin of a parent company to access child company resources. Users with a viewer role can only perform read operations. Admin and superadmin users of a parent company can perform operations on all child company resources. |
| alert_status | string <string> Enum: "Open" "In-progress" "Closed" "Risk accepted" "False positive" "Out of scope" "Candidate" Example: alert_status=Open Issue status, can be one of: [Open, In-progress, Closed, Risk accepted, False positive, Out of scope, Candidate] |
| status_reason | string Issue status change reason |
| severity | string <string> Enum: "Critical" "Moderate" "Low" Example: severity=Critical Issue severity, can be one of: [Critical, Moderate, Low] |
{- "status": true,
- "msg": "Request processed successfully"
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| ticket_id required | string Example: ticket_id=some_company-PM-000001 Issue ticket id |
| user_email required | string <email> Example: [email protected] Email address of the user performing the action. Used for user access validation within the company hierarchy. The user must belong to the target company or be an admin/superadmin of a parent company to access child company resources. Users with a viewer role can only perform read operations. Admin and superadmin users of a parent company can perform operations on all child company resources. |
| approve required | boolean Example: approve=true Approve or dismiss issue. For this endpoint to work, issue must be in Candidate status. When set to true, the issue status will become open; otherwise, if set to false, the issue and all related objects will be deleted |
{- "status": true,
- "msg": "Request processed successfully"
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| user_email required | string <email> Example: [email protected] Email address of the user performing the action. Used for user access validation within the company hierarchy. The user must belong to the target company or be an admin/superadmin of a parent company to access child company resources. Users with a viewer role can only perform read operations. Admin and superadmin users of a parent company can perform operations on all child company resources. |
| ticket_ids required | Array of strings issue ticket_ids to approve or dismiss |
| approve required | boolean Example: approve=true Approve or dismiss issues. For this endpoint to work, issues must be in Candidate status. When set to true, the issues' statuses will become open; otherwise, if set to false, the issues and all related objects will be deleted |
{- "status": true,
- "msg": "Request processed successfully"
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| user_email required | string <email> Example: [email protected] Email address of the user performing the action. Used for user access validation within the company hierarchy. The user must belong to the target company or be an admin/superadmin of a parent company to access child company resources. Users with a viewer role can only perform read operations. Admin and superadmin users of a parent company can perform operations on all child company resources. |
| alert_statuses | string Example: alert_statuses=Open,In-progress List of issue statuses, separated by comma. List of valid statuses: [Open, In-progress, Closed, Risk accepted, False positive, Out of scope, Candidate] |
| severities | string Example: severities=Critical,Moderate List of issue severities, separated by comma. List of valid severities: [Critical, Moderate, Low] |
| categories | string Example: categories=Phishing Monitoring,PII Exposure Monitoring List of issue category names, separated by comma. |
| since | string Example: since=2006-01-02T15:04:05Z Issue detection start date, can be either RFC3339 date time or relative time format. |
| until | string Example: until=2 months 2 days ago Issue detection end date, can be either RFC3339 date time or relative time format. |
| candidate | boolean Example: candidate=false When true, returns only compactions whose issues are in Candidate status. When false, excludes Candidate issues. When omitted, both are returned. |
| page | integer Default: 1 |
| limit | integer Default: 50 |
object (Filter) | |
Array of objects (CategoryFilterField) |
{- "filter": {
- "fields": [
- {
- "field": "status",
- "value": "Open",
- "operator": "equal"
}
], - "condition": "AND"
}, - "categories": [
- {
- "field": "category",
- "value": [
- "00000000-0000-0000-0000-000000000000"
], - "operator": "equal"
}
]
}{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "compacts": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "category_id": "00000000-0000-0000-0000-000000000000",
- "title": "Reflected XSS",
- "count": 14,
- "category_path": [
- "Application Security",
- "Web",
- "XSS"
]
}
], - "total_compacted_count": 137
}
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| compact_id required | string <uuid> Example: compact_id=00000000-0000-0000-0000-000000000000 Compaction id returned by /issues/compact/list. A compaction groups issues that share the same title, category, and company and were detected within a 30-minute window. Use this id to drill into the compaction's issues or to apply a status/severity update across every issue in the group. |
| user_email required | string <email> Example: [email protected] Email address of the user performing the action. Used for user access validation within the company hierarchy. The user must belong to the target company or be an admin/superadmin of a parent company to access child company resources. Users with a viewer role can only perform read operations. Admin and superadmin users of a parent company can perform operations on all child company resources. |
| alert_statuses | string Example: alert_statuses=Open,In-progress List of issue statuses, separated by comma. List of valid statuses: [Open, In-progress, Closed, Risk accepted, False positive, Out of scope, Candidate] |
| severities | string Example: severities=Critical,Moderate List of issue severities, separated by comma. List of valid severities: [Critical, Moderate, Low] |
| categories | string Example: categories=Phishing Monitoring,PII Exposure Monitoring List of issue category names, separated by comma. |
| since | string Example: since=2006-01-02T15:04:05Z Issue detection start date, can be either RFC3339 date time or relative time format. |
| until | string Example: until=2 months 2 days ago Issue detection end date, can be either RFC3339 date time or relative time format. |
| candidate | boolean Example: candidate=false When true, returns only issues in Candidate status. When false, excludes Candidate issues. When omitted, both are returned. |
| page | integer Default: 1 |
| limit | integer Default: 50 |
object (Filter) | |
Array of objects (CategoryFilterField) |
{- "filter": {
- "fields": [
- {
- "field": "status",
- "value": "Open",
- "operator": "equal"
}
], - "condition": "AND"
}, - "categories": [
- {
- "field": "category",
- "value": [
- "00000000-0000-0000-0000-000000000000"
], - "operator": "equal"
}
]
}{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "issues": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "title": "string",
- "ticket_id": "string",
- "description": { },
- "company_name": "string",
- "impact": "string",
- "detail": "string",
- "recommendation": "string",
- "risk_level": "Critical",
- "status": "Open",
- "status_reason": "string",
- "category_name": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "time_to_remediate": "string",
- "created_at_text": "string",
- "updated_at_text": "string",
- "asset": "string",
- "asset_field": "Domain",
- "attachments": [
- {
- "name": "string"
}
], - "is_blur": true
}
], - "total_count": 47,
- "statuses": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "field": "Open"
}
], - "risk_levels": [
- {
- "field": "Critical"
}
]
}
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| compact_id required | string <uuid> Example: compact_id=00000000-0000-0000-0000-000000000000 Compaction id returned by /issues/compact/list. A compaction groups issues that share the same title, category, and company and were detected within a 30-minute window. Use this id to drill into the compaction's issues or to apply a status/severity update across every issue in the group. |
| user_email required | string <email> Example: [email protected] Email address of the user performing the action. Used for user access validation within the company hierarchy. The user must belong to the target company or be an admin/superadmin of a parent company to access child company resources. Users with a viewer role can only perform read operations. Admin and superadmin users of a parent company can perform operations on all child company resources. |
| alert_status | string <string> Enum: "Open" "In-progress" "Closed" "Risk accepted" "False positive" "Out of scope" "Candidate" Example: alert_status=Closed Issue status, can be one of: [Open, In-progress, Closed, Risk accepted, False positive, Out of scope, Candidate]. Applied to every issue in the compaction. |
| status_reason | string Issue status change reason. Applied to every issue in the compaction. |
| severity | string <string> Enum: "Critical" "Moderate" "Low" Example: severity=Critical Issue severity, can be one of: [Critical, Moderate, Low]. Applied to every issue in the compaction. |
{- "status": true,
- "msg": "Request processed successfully"
}| ticket_id required | string |
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "id": "00000000-0000-0000-0000-000000000000",
- "title": "string",
- "ticket_id": "string",
- "description": { },
- "company_name": "string",
- "impact": "string",
- "detail": "string",
- "recommendation": "string",
- "risk_level": "Critical",
- "status": "Open",
- "status_reason": "string",
- "category_name": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "time_to_remediate": "string",
- "created_at_text": "string",
- "updated_at_text": "string",
- "asset": "string",
- "asset_field": "Domain",
- "attachments": [
- {
- "name": "string"
}
], - "is_blur": true
}
}Categories API provides endpoints for accessing and managing issue categories, enabling better organization and classification of detected security events.
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
{- "status": true,
- "msg": "Request processed successfully",
- "data": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "name": "string",
- "childs": [
- { }
]
}
]
}Comments API provides endpoints for accessing and managing issue comments, including retiving all comments of given issue, adding and updating comments and managing comment attachments.
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| comment | string |
| ticket_id required | string Issue ticket_id |
| parent_id | string <uuid> When provided the new comment will be added as child to this comment |
| user_email required | string <email> |
| has_assigned_analyst | boolean |
| files | Array of strings <binary> (FileField) [ items <binary > ] Custom attachments for comment. Attachments can be in following formats: |
{- "status": true,
- "msg": "Request processed successfully"
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| comment_id required | string <uuid> |
| comment | string |
| user_email required | string <email> |
| has_assigned_analyst | boolean |
| files | Array of strings <binary> (FileField) [ items <binary > ] Custom attachments for comment. Attachments can be in following formats: |
{- "status": true,
- "msg": "Request processed successfully"
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| ticket_id required | string Example: ticket_id=some_company-PM-000001 Issue ticket id |
| has_assigned_analyst | boolean Example: has_assigned_analyst=false |
| cursor | string User must set next request's cursor query to this value to retrive next 10 comments. |
{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "comments": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "comment": "string",
- "user_id": "00000000-0000-0000-0000-000000000000",
- "user_name": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "attachments": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "name": "string"
}
], - "parent": {
- "id": "00000000-0000-0000-0000-000000000000",
- "comment": "string",
- "name": "string",
- "attachments": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "name": "string"
}
]
}
}
], - "next_cursor": "string"
}
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| comment_id required | string <uuid> |
| attachment_ids required | Array of strings <uuid> [ items <uuid > ] |
| user_email required | string <email> |
{- "comment_id": "00000000-0000-0000-0000-000000000000",
- "attachment_ids": [
- "00000000-0000-0000-0000-000000000000"
], - "user_email": "[email protected]"
}{- "status": true,
- "msg": "Request processed successfully"
}Assets API provides endpoints for managing monitored assets, including listing, retrieving details, and updating asset statuses.
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| type | string Enum: "Ip" "Domain" "MobileApp" "CreditCard" "Company" "Person" Filter by asset type |
| statuses | Array of strings Items Enum: "Monitored" "Unmonitored" "Pending" "Irrelevant" "Unverified" "Inactive" Filter by asset statuses |
| keyword | string Search keyword to match against asset value |
| start_date | string <date-time> Filter assets created after this date |
| end_date | string <date-time> Filter assets created before this date |
| limit | integer [ 1 .. 100 ] Default: 10 |
| page | integer >= 1 Default: 1 |
{- "type": "Domain",
- "statuses": [
- "Monitored"
], - "keyword": "string",
- "start_date": "2019-08-24T14:15:22Z",
- "end_date": "2019-08-24T14:15:22Z",
- "limit": 10,
- "page": 1
}{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "assets": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "hash": "cypho-9ae0ea9e3c9c8b6f...",
- "value": "example.com",
- "type": "Domain",
- "type_name": "Domain",
- "status": "Monitored",
- "status_id": "4e949624-bc0f-439e-a9f2-25a23938812c",
- "status_reason": "string",
- "holder": "System",
- "parent_asset": "example.com",
- "first_active": "2019-08-24T14:15:22Z",
- "last_active": "2019-08-24T14:15:22Z",
- "first_active_diff": 0,
- "last_active_diff": 0,
- "properties": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "file_name": "string",
- "version": "string",
- "vendor": "string",
- "platform": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "category_features": [
- {
- "category_id": "8de4c9fd-61a4-4c0b-bf88-0ed3a0fe3fa2",
- "category_name": "Web",
- "fields": [
- {
- "field_name": "Framework",
- "field_description": "string",
- "values": [
- {
- "value_id": null,
- "value": null,
- "active": null
}
]
}
]
}
], - "last_issues": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ticket_id": "CYP-1234",
- "name": "SQL Injection on /login",
- "category_name": "Web Vulnerability",
- "status": "Open",
- "risk_level": "Critical",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "statuses": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "field": "Monitored"
}
], - "types": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "type": "Ip"
}
], - "count": 0
}
}| id required | string <uuid> Asset UUID |
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| limit | integer [ 1 .. 100 ] Default: 10 |
| page | integer >= 1 Default: 1 |
{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "main_asset": {
- "id": "00000000-0000-0000-0000-000000000000",
- "hash": "cypho-9ae0ea9e3c9c8b6f...",
- "value": "example.com",
- "type": "Domain",
- "type_name": "Domain",
- "status": "Monitored",
- "status_id": "4e949624-bc0f-439e-a9f2-25a23938812c",
- "status_reason": "string",
- "holder": "System",
- "parent_asset": "example.com",
- "first_active": "2019-08-24T14:15:22Z",
- "last_active": "2019-08-24T14:15:22Z",
- "first_active_diff": 0,
- "last_active_diff": 0,
- "properties": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "file_name": "string",
- "version": "string",
- "vendor": "string",
- "platform": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "category_features": [
- {
- "category_id": "8de4c9fd-61a4-4c0b-bf88-0ed3a0fe3fa2",
- "category_name": "Web",
- "fields": [
- {
- "field_name": "Framework",
- "field_description": "string",
- "values": [
- {
- "value_id": "f0364b24-eaa7-4868-8878-708511209642",
- "value": "WordPress",
- "active": true
}
]
}
]
}
], - "last_issues": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ticket_id": "CYP-1234",
- "name": "SQL Injection on /login",
- "category_name": "Web Vulnerability",
- "status": "Open",
- "risk_level": "Critical",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "assets": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "hash": "cypho-9ae0ea9e3c9c8b6f...",
- "value": "example.com",
- "type": "Domain",
- "type_name": "Domain",
- "status": "Monitored",
- "status_id": "4e949624-bc0f-439e-a9f2-25a23938812c",
- "status_reason": "string",
- "holder": "System",
- "parent_asset": "example.com",
- "first_active": "2019-08-24T14:15:22Z",
- "last_active": "2019-08-24T14:15:22Z",
- "first_active_diff": 0,
- "last_active_diff": 0,
- "properties": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "file_name": "string",
- "version": "string",
- "vendor": "string",
- "platform": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "category_features": [
- {
- "category_id": "8de4c9fd-61a4-4c0b-bf88-0ed3a0fe3fa2",
- "category_name": "Web",
- "fields": [
- {
- "field_name": "Framework",
- "field_description": "string",
- "values": [
- {
- "value_id": null,
- "value": null,
- "active": null
}
]
}
]
}
], - "last_issues": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ticket_id": "CYP-1234",
- "name": "SQL Injection on /login",
- "category_name": "Web Vulnerability",
- "status": "Open",
- "risk_level": "Critical",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "statuses": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "field": "Monitored"
}
], - "count": 0
}
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| user_email required | string <email> Example: [email protected] Email address of the user performing the action. Used for user access validation within the company hierarchy. The user must belong to the target company or be an admin/superadmin of a parent company to access child company resources. Users with a viewer role can only perform read operations. Admin and superadmin users of a parent company can perform operations on all child company resources. |
| id required | string Asset UUID |
| limit | integer [ 1 .. 100 ] Default: 10 |
| page | integer >= 1 Default: 1 |
{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "asset_dns_records": [
- {
- "record": "A",
- "value": "1.2.3.4",
- "active": true
}
], - "count": 1
}
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| user_email required | string <email> Email of the user performing the action. Used for access validation within the company hierarchy. The user must belong to the target company or be an admin/superadmin of a parent company. |
| type required | string Enum: "Ip" "Domain" "MobileApp" "CreditCard" "Company" "Person" "Product" "CloudStorage" "CodeRepository" "CollaborationPlatform" |
| value required | string |
| vendor | string Required when |
| version | string Optional for |
| platform | string Enum: "Google Play Store" "Apple App Store" Required when |
| provider | string Required when
|
{- "type": "Domain",
- "value": "example.com",
- "vendor": "wordpress",
- "version": "6.4.2",
- "platform": "Google Play Store",
- "provider": "GitHub"
}{- "status": true,
- "msg": "Request processed successfully"
}| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| id required | string <uuid> Asset UUID |
| status required | string Enum: "Monitored" "Unmonitored" "Pending" "Irrelevant" "Unverified" "Inactive" New asset status. Valid transitions:
|
| status_reason | string Reason for status change |
| user_email required | string <email> Email of the user performing the update. Used for access validation within the company hierarchy. The user must belong to the target company or be an admin/superadmin of a parent company. |
{- "id": "00000000-0000-0000-0000-000000000000",
- "status": "Monitored",
- "status_reason": "string",
- "user_email": "[email protected]"
}{- "status": true,
- "msg": "Request processed successfully"
}Issue Titles API provides endpoints for listing and retrieving issue title templates used for issue creation.
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| category | string Filter by category name |
| keyword | string Search keyword for issue title name |
| limit | integer [ 1 .. 100 ] Default: 10 |
| page | integer >= 1 Default: 1 |
{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "issue_titles": [
- {
- "id": "00000000-0000-0000-0000-000000000000",
- "name": "SQL Injection",
- "category_id": "8de4c9fd-61a4-4c0b-bf88-0ed3a0fe3fa2",
- "category_name": "Web Vulnerability"
}
], - "count": 0
}
}| id required | string <uuid> Issue title UUID |
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "category_id": "8de4c9fd-61a4-4c0b-bf88-0ed3a0fe3fa2",
- "category_name": "string",
- "fields": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "max_length": 0,
- "min_length": 0,
- "is_required": true,
- "description": "string",
- "type": "string",
- "data_attribute": "string",
- "weight": 0,
- "fields": [
- { }
]
}
]
}
}IOC Feeds API exposes Cypho's threat-intelligence indicator (IOC) feeds in JSON, STIX 2.1 and CSV formats.
The same indicator dataset is served across formats — clients pick the format with the format query parameter.
A separate TAXII 2.1 route group is also available for clients that prefer the TAXII protocol.
Returns the IOC indicator dataset in the requested format.
format=json (default) — Cypho's standard JSON envelope ({status, msg, data: {items, nextCursor}}).format=stix — a STIX 2.1 bundle containing one indicator SDO per item and a Cypho identity SDO so created_by_ref references resolve when imported. Content-Type: application/stix+json;version=2.1.format=csv — RFC 4180 CSV. Content-Type: text/csv; charset=utf-8. Content-Disposition: attachment; filename="indicators.csv". Next-page cursor is surfaced via the X-Next-Cursor response header (CSV has no envelope).Pagination uses the cursor query parameter; the next page's cursor is returned via the nextCursor field (JSON), or the X-Next-Cursor header (CSV / STIX). When the dataset is exhausted, no cursor is returned.
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| format | string Default: "json" Enum: "json" "stix" "csv" Output format. Defaults to |
| type | string Enum: "ip" "domain" "hostname" "url" "hash" "all" Example: type=ip Filter by IOC type. Omit (or use |
| search | string Example: search=example.com Case-insensitive substring match against the indicator value. |
| limit | integer [ 1 .. 1000 ] Default: 50 Page size. Defaults to 50. |
| cursor | string Example: cursor=100:1.15.100.187 Pagination cursor returned by a previous response ( |
{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "items": [
- {
- "id": "ioc-5d493b5210f80847275d1dabf3253f0be732878b",
- "indicator": "1.15.100.187",
- "type": "ip",
- "category": "botnet & malware",
- "sources": [
- "threatfox"
], - "score": 100,
- "country": "CN",
- "usage": "hosting",
- "seenRunCount": 1,
- "malware": false,
- "updatedAt": "2026-05-07T16:53:18Z",
- "firstSeenAt": "2026-05-07T13:50:40Z",
- "lastSeenAt": "2026-05-07T13:52:42Z",
- "flags": {
- "hasZeroReliability": false,
- "countryRisk": true
}, - "topSources": [
- {
- "sourceSlug": "threatfox",
- "tier": 1,
- "reliability": 100,
- "seenRuns": 1,
- "lastSeenAt": "2026-05-07T13:52:42Z"
}
], - "sourceDetails": [
- {
- "slug": "threatfox",
- "name": "ThreatFox",
- "tier": 1,
- "reliability": 100
}
]
}
], - "nextCursor": "100:1.15.100.187"
}
}| ioc required | string Example: 1.15.100.187 The indicator value (IP, domain, URL, or hash). |
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| format | string Default: "json" Enum: "json" "stix" "csv" Output format. Defaults to |
{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "id": "ioc-5d493b5210f80847275d1dabf3253f0be732878b",
- "indicator": "1.15.100.187",
- "type": "ip",
- "category": "botnet & malware",
- "sources": [
- "threatfox"
], - "score": 100,
- "country": "CN",
- "usage": "hosting",
- "seenRunCount": 1,
- "malware": false,
- "updatedAt": "2026-05-07T16:53:18Z",
- "firstSeenAt": "2026-05-07T13:50:40Z",
- "lastSeenAt": "2026-05-07T13:52:42Z",
- "flags": {
- "hasZeroReliability": false,
- "countryRisk": true
}, - "topSources": [
- {
- "sourceSlug": "threatfox",
- "tier": 1,
- "reliability": 100,
- "seenRuns": 1,
- "lastSeenAt": "2026-05-07T13:52:42Z"
}
], - "sourceDetails": [
- {
- "slug": "threatfox",
- "name": "ThreatFox",
- "tier": 1,
- "reliability": 100
}
]
}
}Returns metadata describing the indicator dataset Cypho exposes: the supported IOC types, the categories
an indicator can carry, and the upstream sources along with their tier/reliability scores and the
categories each source contributes to.
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "types": [
- {
- "key": "ip",
- "label": "IP"
}
], - "categories": [
- {
- "id": "botnet & malware",
- "label": "Botnet & Malware"
}
], - "sources": [
- {
- "slug": "threatfox",
- "name": "ThreatFox",
- "tier": 1,
- "reliability": 100,
- "types": [
- "ip",
- "domain",
- "hostname",
- "url",
- "hash"
], - "categories": [
- "botnet & malware"
]
}
]
}
}Returns aggregate counts: total number of indicators, counts grouped by type, by category, by source, and the number of currently active sources.
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
{- "status": true,
- "msg": "Request processed successfully",
- "data": {
- "total": 1287,
- "byType": {
- "ip": 87,
- "domain": 412,
- "hostname": 53,
- "url": 605,
- "hash": 130
}, - "byCategory": {
- "botnet & malware": 720,
- "phishing": 410,
- "scanner": 157
}, - "bySource": {
- "threatfox": 612,
- "tor_exit_nodes": 87
}, - "activeSources": 14
}
}TAXII 2.1 endpoints expose the same IOC indicator dataset using the OASIS TAXII 2.1 protocol envelope
(application/taxii+json;version=2.1). All endpoints are read-only; Cypho is the publisher. A single
collection (indicators) is exposed in v1.
TAXII 2.1 Discovery document. Returns server metadata and the URL of the API root. Conforms to OASIS TAXII 2.1 §4.1 (Server Discovery).
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
{- "title": "Cypho TAXII 2.1 Server",
- "description": "TAXII 2.1 access to Cypho IOC feeds.",
}Returns metadata about the TAXII API root (title, description, supported protocol versions, max content length). Conforms to OASIS TAXII 2.1 §4.2.
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
{- "title": "Cypho IOC Feeds",
- "description": "Cypho TAXII 2.1 API Root",
- "versions": [
- "application/taxii+json;version=2.1"
], - "max_content_length": 10485760
}Returns the list of TAXII collections exposed by Cypho. In v1, a single collection (indicators) is exposed
and contains every published IOC. Conforms to OASIS TAXII 2.1 §5.1.
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
{- "collections": [
- {
- "id": "indicators",
- "title": "Cypho IOC Indicators",
- "description": "All Cypho-published IOC indicators (IPs, domains, URLs, hashes).",
- "can_read": true,
- "can_write": false,
- "media_types": [
- "application/taxii+json;version=2.1"
]
}
]
}Returns metadata for a single TAXII collection. Cypho exposes one collection (indicators) in v1.
Conforms to OASIS TAXII 2.1 §5.2.
| id required | string Example: indicators TAXII collection id. Cypho exposes the |
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
{- "id": "indicators",
- "title": "Cypho IOC Indicators",
- "description": "All Cypho-published IOC indicators (IPs, domains, URLs, hashes).",
- "can_read": true,
- "can_write": false,
- "media_types": [
- "application/taxii+json;version=2.1"
]
}Returns the STIX 2.1 indicator objects belonging to the collection, wrapped in a TAXII 2.1 envelope
({more, next, objects}). The same filtering parameters as /ioc-feeds/ioc/indicators are accepted.
Conforms to OASIS TAXII 2.1 §5.3.
| id required | string Example: indicators TAXII collection id ( |
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
| type | string Enum: "ip" "domain" "hostname" "url" "hash" "all" Filter by IOC type. |
| search | string Substring match against the indicator value. |
| limit | integer [ 1 .. 1000 ] Default: 50 Page size. Defaults to 50. |
| cursor | string Pagination cursor from a previous response's |
{- "more": true,
- "next": "100:1.15.100.187",
- "objects": [
- {
- "type": "indicator",
- "spec_version": "2.1",
- "id": "indicator--ad57c1a4-2b3d-5d62-9c46-cba1d8a5d6f7",
- "created_by_ref": "identity--7d2b1d0d-1f1b-5c0c-9c63-bbcce14e7e0a",
- "created": "2026-05-07T13:50:40Z",
- "modified": "2026-05-07T16:53:18Z",
- "valid_from": "2026-05-07T13:50:40Z",
- "name": "ip:1.15.100.187",
- "pattern": "[ipv4-addr:value = '1.15.100.187']",
- "pattern_type": "stix",
- "pattern_version": "2.1",
- "confidence": 100,
- "indicator_types": [
- "malicious-activity"
], - "labels": [
- "category:botnet & malware",
- "source:threatfox"
]
}
]
}Returns a TAXII envelope containing the single STIX object identified by object_id. Conforms to
OASIS TAXII 2.1 §5.4.
| id required | string Example: indicators TAXII collection id ( |
| object_id required | string Example: indicator--ad57c1a4-2b3d-5d62-9c46-cba1d8a5d6f7 STIX object id (UUID-prefixed indicator id, e.g. |
| tenant | string Example: tenant=ChildCompanyName Name of a child company to target for this operation. When provided, the API resolves the child company within the authenticated parent company's hierarchy. The authenticated API token must belong to a parent company of the specified tenant. If omitted, the operation targets the company that owns the API token. |
{- "more": true,
- "next": "100:1.15.100.187",
- "objects": [
- {
- "type": "indicator",
- "spec_version": "2.1",
- "id": "indicator--ad57c1a4-2b3d-5d62-9c46-cba1d8a5d6f7",
- "created_by_ref": "identity--7d2b1d0d-1f1b-5c0c-9c63-bbcce14e7e0a",
- "created": "2026-05-07T13:50:40Z",
- "modified": "2026-05-07T16:53:18Z",
- "valid_from": "2026-05-07T13:50:40Z",
- "name": "ip:1.15.100.187",
- "pattern": "[ipv4-addr:value = '1.15.100.187']",
- "pattern_type": "stix",
- "pattern_version": "2.1",
- "confidence": 100,
- "indicator_types": [
- "malicious-activity"
], - "labels": [
- "category:botnet & malware",
- "source:threatfox"
]
}
]
}