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
{
"$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"]
}
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.