Skip to main content

What are Entities?

Entities are the nodes in your knowledge graph. They represent distinct things - people, companies, places, concepts - that can have facts (triples) about them. When you create a triple like “Tesla → founded_by → Elon Musk”, Neode automatically:
  1. Creates an entity for “Tesla” (if it doesn’t exist)
  2. Creates an entity for “Elon Musk” (if it doesn’t exist)
  3. Links the triple to both entities

Listing Entities

All Entities in an Index

curl "https://neode.ai/api/entities?index_id=YOUR_INDEX_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"

Search by Name

curl "https://neode.ai/api/entities?search=tesla" \
  -H "Authorization: Bearer YOUR_API_KEY"

Exact Name Match

curl "https://neode.ai/api/entities?search=Tesla&exact=true" \
  -H "Authorization: Bearer YOUR_API_KEY"

With Pagination

curl "https://neode.ai/api/entities?index_id=YOUR_INDEX_ID&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

Getting an Entity

Retrieve a specific entity by ID:
curl "https://neode.ai/api/entities/ENTITY_UUID" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response:
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Tesla",
    "description": "American electric vehicle and clean energy company",
    "avatar_url": "https://example.com/tesla-logo.png",
    "index_id": "index-uuid",
    "index_name": "Technology Companies",
    "created_at": "2026-01-27T10:00:00Z",
    "updated_at": "2026-01-27T10:00:00Z"
  }
}

Creating Entities

While entities are usually auto-created from triples, you can create them manually:
curl -X POST https://neode.ai/api/entities \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "name": "OpenAI",
    "description": "AI research and deployment company",
    "index_id": "YOUR_INDEX_ID"
  }'
Manual entity creation is useful when you want to set a description or avatar before adding triples.

Updating Entities

Update Name or Description

curl -X PUT "https://neode.ai/api/entities/ENTITY_UUID" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "name": "Tesla, Inc.",
    "description": "American multinational automotive and clean energy company"
  }'

Set Avatar

curl -X PUT "https://neode.ai/api/entities/ENTITY_UUID" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "avatar_url": "https://example.com/company-logo.png"
  }'

Deleting Entities

Deleting an entity also deletes all triples where it’s the subject or object.
curl -X DELETE "https://neode.ai/api/entities/ENTITY_UUID" \
  -H "Authorization: Bearer YOUR_API_KEY"

Entity Disambiguation

How It Works

Within an index, Neode automatically links triples to existing entities by name:
  1. You create triple: “Tesla → founded_by → Elon Musk”
  2. Neode checks: Does “Tesla” entity exist in this index?
  3. If yes: Links the triple to existing entity
  4. If no: Creates new entity, then links

Managing Duplicates

If you have duplicate entities (e.g., “Tesla” and “Tesla, Inc.”), you can: Option 1: Update the name
curl -X PUT "https://neode.ai/api/entities/DUPLICATE_UUID" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{"name": "Tesla"}'
Option 2: Delete the duplicate (after migrating triples)

Separate Domains

Use different indexes to keep entities separate:
# Tech companies index
curl -X POST https://neode.ai/api/indexes \
  -d '{"name": "Technology Companies"}'

# Food companies index  
curl -X POST https://neode.ai/api/indexes \
  -d '{"name": "Food & Beverage"}'
Now “Apple” in tech index is separate from “Apple” in food index.

Entity Properties

PropertyDescriptionEditable
idUnique identifierNo
nameCanonical nameYes
descriptionText descriptionYes
avatar_urlImage URLYes
index_idParent indexYes
created_atCreation timestampNo
updated_atLast update timestampNo

AI-Generated Descriptions

Generate a description using AI based on the entity’s triples:
curl -X POST "https://neode.ai/api/entities/ENTITY_UUID/generate-description" \
  -H "Authorization: Bearer YOUR_API_KEY"
This analyzes all triples about the entity and generates a natural language description.
Description generation costs 1¢ per request.

Querying Entity Triples

Get all triples related to an entity:
# Triples where entity is the subject
curl "https://neode.ai/api/triples?subject_entity_id=ENTITY_UUID" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Triples where entity is the object (backlinks)
curl "https://neode.ai/api/triples?object_entity_id=ENTITY_UUID" \
  -H "Authorization: Bearer YOUR_API_KEY"

API Reference

See the complete Entities API documentation.