Custom Entity Types
Extend ACE's ontology with your own entity types, validated by JSON Schema
While ACE provides 10 built-in entity types (issues, decisions, memories, etc.), custom entity types let you define domain-specific entities with their own schema. Create types like "customer_feedback", "api_endpoint", "test_case", or anything your project needs.
JSON Schema validation for data integrity
CRUD operations with automatic validation
Link to any other entity via relationships
curl -X POST http://localhost:7777/api/v1/my-namespace/entity-types \
-H "Authorization: Bearer $ACE_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "api_endpoint",
"description": "REST API endpoint documentation",
"schema": {
"type": "object",
"required": ["method", "path", "description"],
"properties": {
"method": {
"type": "string",
"enum": ["GET", "POST", "PUT", "PATCH", "DELETE"]
},
"path": { "type": "string" },
"description": { "type": "string" },
"request_body": { "type": "object" },
"response_schema": { "type": "object" },
"auth_required": { "type": "boolean", "default": true },
"rate_limit": { "type": "integer" }
}
}
}'Every entity created with a custom type is validated against the JSON Schema you defined. Invalid data is rejected with a clear error message.
Valid Entity
{
"method": "GET",
"path": "/api/v1/users",
"description": "List users"
}Created successfully
Invalid Entity
{
"method": "INVALID",
"path": "/api/v1/users"
}Rejected: missing "description", invalid enum for "method"
# Create an entity of custom type
curl -X POST http://localhost:7777/api/v1/my-namespace/entities/api_endpoint \
-H "Authorization: Bearer $ACE_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"method": "POST",
"path": "/api/v1/users",
"description": "Create a new user",
"auth_required": true,
"rate_limit": 100
}'
# List all entities of this type
curl "http://localhost:7777/api/v1/my-namespace/entities/api_endpoint" \
-H "Authorization: Bearer $ACE_JWT_TOKEN"
# Get a specific entity
curl "http://localhost:7777/api/v1/my-namespace/entities/api_endpoint/1" \
-H "Authorization: Bearer $ACE_JWT_TOKEN"
# Delete
curl -X DELETE "http://localhost:7777/api/v1/my-namespace/entities/api_endpoint/1" \
-H "Authorization: Bearer $ACE_JWT_TOKEN"
# List all custom types in namespace
curl "http://localhost:7777/api/v1/my-namespace/entity-types" \
-H "Authorization: Bearer $ACE_JWT_TOKEN"Custom entities can be linked to any other entity (built-in or custom) using relationships. This means your custom types are fully integrated into the knowledge graph.
# Link custom entity to an architecture component
curl -X POST http://localhost:7777/api/v1/my-namespace/relationships \
-H "Authorization: Bearer $ACE_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source_type": "api_endpoint",
"source_id": 1,
"target_type": "architecture",
"target_id": 5,
"relationship_type": "documented_in"
}'API Documentation
Track API endpoints with method, path, request/response schemas alongside your architecture decisions.
Test Cases
Define test case entities with steps, expected results, and link them to issues they validate.
Customer Feedback
Track user feedback with sentiment, source, and feature area, linked to relevant issues.
Domain-Specific Entities
Model anything unique to your domain - infrastructure components, compliance requirements, design tokens.