Traceable · Schema
Traceable API Entity
Schema for a discovered API entity in the Traceable platform including endpoint details, authentication information, risk scores, and observability metadata.
API DiscoveryAPI ProtectionAPI SecurityAPI TestingObservabilitySecurityThreat Detection
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier for the API entity. |
| name | string | The API endpoint path or name. |
| entityType | string | The entity type in the Traceable taxonomy. |
| service | string | The service that owns this API endpoint. |
| domain | string | The domain this API belongs to. |
| method | string | HTTP method for the endpoint. |
| authenticated | boolean | Whether the endpoint requires authentication. |
| authType | string | Authentication type for the endpoint. |
| riskScore | string | Current risk score for the endpoint. |
| isInternal | boolean | Whether the endpoint is classified as internal. |
| discoveryState | string | API discovery processing state. |
| lastActivity | string | Timestamp of last observed activity. |
| labels | array | User-assigned labels for the API (max 32). |
| callVolume | integer | Number of API calls observed in the reporting period. |
| errorRate | number | Error rate as a percentage. |
| latencyP99 | number | 99th percentile latency in milliseconds. |
| attributes | array | Key-value attribute pairs for the entity. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.com/schemas/traceable/api-entity.json",
"title": "Traceable API Entity",
"description": "Schema for a discovered API entity in the Traceable platform including endpoint details, authentication information, risk scores, and observability metadata.",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the API entity."
},
"name": {
"type": "string",
"description": "The API endpoint path or name."
},
"entityType": {
"type": "string",
"description": "The entity type in the Traceable taxonomy.",
"enum": ["API", "SERVICE", "DOMAIN", "BACKEND", "ACTOR", "BACKEND_API"]
},
"service": {
"type": "string",
"description": "The service that owns this API endpoint."
},
"domain": {
"type": "string",
"description": "The domain this API belongs to."
},
"method": {
"type": "string",
"description": "HTTP method for the endpoint.",
"enum": ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]
},
"authenticated": {
"type": "boolean",
"description": "Whether the endpoint requires authentication."
},
"authType": {
"type": "string",
"description": "Authentication type for the endpoint.",
"examples": ["Bearer", "API Key", "Basic", "OAuth2", "None"]
},
"riskScore": {
"type": "string",
"description": "Current risk score for the endpoint.",
"enum": ["LOW", "MEDIUM", "HIGH", "CRITICAL"]
},
"isInternal": {
"type": "boolean",
"description": "Whether the endpoint is classified as internal."
},
"discoveryState": {
"type": "string",
"description": "API discovery processing state.",
"enum": ["DISCOVERED", "UNDER_DISCOVERY"]
},
"lastActivity": {
"type": "string",
"format": "date-time",
"description": "Timestamp of last observed activity."
},
"labels": {
"type": "array",
"description": "User-assigned labels for the API (max 32).",
"maxItems": 32,
"items": {
"type": "string"
}
},
"callVolume": {
"type": "integer",
"description": "Number of API calls observed in the reporting period.",
"minimum": 0
},
"errorRate": {
"type": "number",
"format": "double",
"description": "Error rate as a percentage.",
"minimum": 0,
"maximum": 100
},
"latencyP99": {
"type": "number",
"format": "double",
"description": "99th percentile latency in milliseconds."
},
"attributes": {
"type": "array",
"description": "Key-value attribute pairs for the entity.",
"items": {
"type": "object",
"required": ["key", "value"],
"properties": {
"key": { "type": "string", "description": "Attribute key." },
"value": { "type": "string", "description": "Attribute value." }
}
}
}
},
"required": ["id", "name", "entityType"]
}