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.
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.
Understand the Endpoints
Review the available API endpoints. All endpoints return JSON and require your API key in the Authorization header.
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.
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.
Congratulations! You have completed all 23 workflow guides. You now have the skills to set up, manage, and extend your Simply Asking deployment.