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.
View JSON Schema on GitHub

JSON Schema

traceable-api-entity-schema.json Raw ↑
{
  "$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"]
}