Skip to main content
A knowledge base lets interviews ask questions grounded in your own documents (product manuals, policies, process docs). Upload documents to a knowledge base store, then reference that store when creating an interview.

Upload a document

The endpoint accepts either a multipart/form-data upload (binary file) or application/json (base64-encoded file). Both require a knowledge_base_store_id.
The response returns knowledge_base_id for the created record, plus the limit described below. The document is then queued for processing (parsing + indexing) asynchronously.

Limit a document to chosen interviews

By default every interview on the knowledge base can use a document. When one store serves several projects, send interview_ids so a guide written for one project is not used in the interviews of another:
application/json (base64)
Each interview must belong to the same company and use the same knowledge base, otherwise the request fails with a 422 naming interview_ids and nothing is stored. With multipart/form-data, repeat the field (-F "interview_ids=INTERVIEW_UUID") or send one JSON array (-F 'interview_ids=["INTERVIEW_UUID"]'). Write an empty list as []: an empty field is refused. The response reports the limit:
interview_ids appears in the response only when limit_to_interviews is true. The limit applies both to what the AI looks up during a live session and to generating questions, descriptions and candidate expectations:
  • Regenerating for an existing interview: the document is used if that interview is on its list.
  • Creating an interview: a new interview is on no list yet, so limited documents are left out of what job-interview-create generates, and the interview cannot use them until you add it to their lists. Documents that are not limited are used as usual.

Read and change the limit of an existing document

List your documents with their limits, for one knowledge base or for all of them, or read one document by its id:
To change a limit, send the whole new list. It replaces the old one:
Unlike on upload, interview_ids is required here: leaving it out is a 422, so a forgotten field can never open a limited document. Write null to open it. The response reports the new limit in the same form as the upload response. The change applies from the next live session and the next generation. The document is not processed again and costs no credits. Questions already generated from it stay as they are, so regenerate them if they should change. Reading follows the same rules, and you can also change a document’s list in the admin knowledge base screen.

Use the knowledge base in an interview

Once documents are processed, reference the store when you create an interview (from a job position or from your own questions):
  • Whole interview — set knowledge_base_store_id on job-interview-create or job-interview-create-from-array. Documents limited to other interviews are not used.
  • Per question — set knowledge_base_id on an individual item in the questions array of an interview from your own questions so only that question is grounded in the store.
Use knowledge-base grounding with interview_type: "process-verification-from-knowledge-base" to verify a candidate’s understanding of your documented processes.

Next steps

Create an interview

Reference your store to ask grounded questions.

Review results

See how candidates performed on knowledge-based questions.