Documentation

Quickstart

Go from zero to your first graph + vector query in under five minutes.

1. Create an account

Sign up at veculo.com/signup. You will receive a confirmation email — click the link to activate your account, then sign in to the dashboard.

2. Create a cluster

From the dashboard, click Create Cluster. Choose a name, a region, and a size measured in Veculo Units (VUs). For development, the Starter tier (2 VUs) is a good starting point.

Provisioning takes about 90 seconds. Your cluster is ready when its status changes to RUNNING.

Cluster ID

Your cluster is assigned an ID like cls_abc123. You will use this in every API call.

3. Get an API key

Navigate to Settings → API Keys in the dashboard and generate a new key. Keys are prefixed with vk_live_ for production or vk_test_ for test environments.

Keep it secret

Your API key grants full access to your cluster. Store it securely and never commit it to version control.

4. Set your environment variables

All examples on this page use these two variables. Set them once in your shell:

Terminalbash
export VECULO_CLUSTER_ID="cls_abc123"
export VECULO_API_KEY="vk_live_abc123def456"

5. Insert your first vertex

A vertex is a node in your graph. It has an ID, a label, and a map of properties. Optionally, you can attach a visibility expression to control who can read it.

Add a vertexbash
curl -X POST "https://api.veculo.com/v1/$VECULO_CLUSTER_ID/vertices" \
  -H "Authorization: Bearer $VECULO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "doc:arxiv-2401.001",
    "label": "document",
    "properties": {
      "title": "Attention Is All You Need",
      "authors": "Vaswani et al.",
      "year": 2017,
      "field": "machine-learning"
    },
    "visibility": "public"
  }'

Response:

Response — 201 Createdjson
{
  "id": "doc:arxiv-2401.001",
  "label": "document",
  "properties": {
    "title": "Attention Is All You Need",
    "authors": "Vaswani et al.",
    "year": 2017,
    "field": "machine-learning"
  },
  "visibility": "public",
  "created_at": "2026-03-21T14:30:00Z"
}

6. Query your vertex

Retrieve a vertex by its ID:

Get a vertexbash
curl "https://api.veculo.com/v1/$VECULO_CLUSTER_ID/vertices/doc:arxiv-2401.001" \
  -H "Authorization: Bearer $VECULO_API_KEY"
Response — 200 OKjson
{
  "id": "doc:arxiv-2401.001",
  "label": "document",
  "properties": {
    "title": "Attention Is All You Need",
    "authors": "Vaswani et al.",
    "year": 2017,
    "field": "machine-learning"
  },
  "visibility": "public",
  "created_at": "2026-03-21T14:30:00Z"
}

7. Add edges

Edges connect two vertices. They have a type (label), optional properties, and their own visibility expression.

First, add a second vertex:

Add a second vertexbash
curl -X POST "https://api.veculo.com/v1/$VECULO_CLUSTER_ID/vertices" \
  -H "Authorization: Bearer $VECULO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "doc:arxiv-2312.044",
    "label": "document",
    "properties": {
      "title": "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks",
      "authors": "Lewis et al.",
      "year": 2020,
      "field": "nlp"
    },
    "visibility": "public"
  }'

Now connect them with a "cites" edge:

Add an edgebash
curl -X POST "https://api.veculo.com/v1/$VECULO_CLUSTER_ID/edges" \
  -H "Authorization: Bearer $VECULO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "doc:arxiv-2312.044",
    "target": "doc:arxiv-2401.001",
    "edge_type": "cites",
    "properties": {
      "section": "related-work",
      "context": "foundational transformer architecture"
    },
    "visibility": "public"
  }'
Response — 201 Createdjson
{
  "source": "doc:arxiv-2312.044",
  "target": "doc:arxiv-2401.001",
  "edge_type": "cites",
  "properties": {
    "section": "related-work",
    "context": "foundational transformer architecture"
  },
  "visibility": "public",
  "created_at": "2026-03-21T14:31:00Z"
}

Add a vertex with a vector embedding, then search for similar items. This is the foundation of RAG pipelines.

Add a vertex with embeddingbash
curl -X POST "https://api.veculo.com/v1/$VECULO_CLUSTER_ID/vertices/embedding" \
  -H "Authorization: Bearer $VECULO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "doc:arxiv-2401.001",
    "label": "document",
    "properties": {
      "title": "Attention Is All You Need",
      "authors": "Vaswani et al."
    },
    "embedding": [0.023, -0.114, 0.891, 0.445, -0.067, 0.234, 0.556, -0.321],
    "visibility": "public"
  }'

Now search for vertices with embeddings similar to a query vector. You can also traverse the graph from each result by specifying edge_type and depth:

Vector similarity search with graph traversalbash
curl -X POST "https://api.veculo.com/v1/$VECULO_CLUSTER_ID/query/vector" \
  -H "Authorization: Bearer $VECULO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "embedding": [0.019, -0.108, 0.875, 0.439, -0.071, 0.228, 0.561, -0.318],
    "top_k": 5,
    "edge_type": "cites",
    "depth": 2
  }'
Response — 200 OKjson
{
  "results": [
    {
      "vertex": {
        "id": "doc:arxiv-2401.001",
        "label": "document",
        "properties": {
          "title": "Attention Is All You Need",
          "authors": "Vaswani et al."
        }
      },
      "score": 0.9847,
      "neighbors": [
        {
          "vertex": {
            "id": "doc:arxiv-2312.044",
            "label": "document",
            "properties": {
              "title": "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks",
              "authors": "Lewis et al."
            }
          },
          "edge_type": "cites",
          "depth": 1
        }
      ]
    }
  ],
  "query_time_ms": 12
}

Hybrid queries

The combination of vector similarity search with graph traversal is what makes Veculo unique. Find semantically similar documents, then walk the citation graph to discover related work — all in a single API call.

Next steps