Building with the Graph API

Access your knowledge graph programmatically to build custom integrations, internal tools, or automated workflows powered by your organization's intelligence layer.

This guide is for admins and developers who want to access the knowledge graph programmatically. You will need basic familiarity with REST APIs and JSON. No specific programming language is required, but examples use standard HTTP requests.

Access your knowledge graph programmatically to build custom integrations, internal tools, or automated workflows powered by your organization's intelligence layer. By the end of this guide, you will have an API key, understand the available endpoints, and know how to make your first API call.

1

Get Your API Key

Navigate to Account → Org Settings and find the API Keys section. Click Generate New Key. Give it a descriptive name (e.g., "Slack Bot", "Dashboard Integration").

Copy and store the key securely. It will not be shown again after you close the dialog. Choose the scopes it needs (every scope is read-only), then choose its content access: the documents or access groups it may read. A key with no content selected cannot read graph content.

2

Understand the Endpoints

Review the available API endpoints. All endpoints return JSON and require your API key in the Authorization header.

EntitiesList entities, filter them by name, and retrieve one by ID. Filtering by entity type is not available.
RelationshipsList relationships between entities, list the entities connected to one entity, or traverse outward from a starting entity.
SearchText search over the entity names and descriptions your key can read. Matching is by text, not by meaning, and results are entities, not documents.
ClustersNot available yet. Cluster requests return 403 REQUESTER_SCOPE_REQUIRED.
3

Make Your First API Call

List entities. Request the first page of entities to see which names your key can read, then pass the next_cursor value as cursor to fetch the next page.

Search by name. Send a query string to the Search endpoint (POST) and inspect the JSON response: the entities whose name or description contains that text.

Traverse relationships. Pick an entity from your results and request its related entities to see what it connects to.

4

Build an Integration

Authentication: Include your API key in the Authorization header as a Bearer token with every request.

Rate limits: The API enforces per-key rate limits to ensure fair usage. If you hit a limit, the response includes a Retry-After header.

Error handling: Check for standard HTTP status codes. 400 means invalid parameters, 401 means invalid or expired API key, 403 means insufficient permissions or an option that is not available yet, and 429 means rate limit exceeded.

Page sizes: The entities list returns 50 items by default and caps limit at 100: a larger value returns 100 items, not an error. The other endpoints return a 400 error for a limit above their maximum. Keep sort_order and name_contains the same while you follow next_cursor; changing either returns 400 INVALID_CURSOR.

Rate limitsRequests are limited per key per minute. Monitor your usage and implement exponential backoff for retries.
Error codes400 (bad request), 401 (unauthorized), 403 (forbidden), 429 (rate limited), 500 (server error).

Congratulations! You have completed all 23 workflow guides. You now have the skills to set up, manage, and extend your Simply Asking deployment.

Day 1Organization setup, team invitations, first uploads.
Week 1Search, Ask, knowledge graph exploration, insights.
Weeks 2-4Access groups, agents, integrations, content packs, gap closing.
Month 2+Advanced search, private access groups, API integrations, optimization.
Was this helpful?