> ## Documentation Index
> Fetch the complete documentation index at: https://docs.periskope.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Document by ID

> Get a single document by document_id




## OpenAPI

````yaml GET /knowledge-base/document/{document_id}
openapi: 3.0.3
info:
  title: API - Local
  description: >-
    #### Welcome to the official Postman collection of Periskope API


    Periskope APIs enable you automate actions on your WhatsApp phone, and the
    Periskope platform


    - Read more about the APIs & webhooks here -
    [https://docs.periskope.app/api-reference/introduction](https://docs.periskope.app/api-reference/introduction)
        
    - We encourage responsible usage of the APIs. Follow these best practices
    and recommendations for safe actions on WhatsApp -
    [https://docs.periskope.app/get-started/best-practices](https://docs.periskope.app/get-started/best-practices)
        

    #### Getting Started


    ##### Pre-requisites:


    1. **Sign up for a free account on Periskope:** To use the Periskope API,
    you need to have an active Periskope account. If you don’t have one, you can
    sign up for a 7-day free trial [here](https://console.periskope.app).
        
    2. **Scan the QR code from WhatsApp to connect your phone:** A connected
    phone is required to use the APIs
        
    3. **Go to** [Settings &gt;
    API](https://console.periskope.app/settings/api), and generate an API key
    for your organization - The API key is used to authenticate every request.
    Please keep this secure
        

    ##### Using Postman:


    1. **Fork the collection so you can edit values and test the APIs in your
    own postman environment:** To fork the collection, click on the three dots
    next to v1. Then click on create a fork (_shortcut: Ctrl + Alt + F)._
        
    2. **Update the value of the variables in the collection:**  
        \- Update the API key with the key generated in Step 3  
        \- Update the phone number with your connected number. This number will be added to the `x-phone` header across requests
        
        It must be in the format of country code+number, with no special characters or spaces _e.g. +91 98745 32456 becomes 919874532456_
        

    For any help or feedback, please contact us at
    [support@periskope.app](https://mailto:support@periskope.app), or ping us on
    [WhatsApp](https://what.sapp.link/periskope)
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.periskope.app/v1
security:
  - bearerAuth: []
tags:
  - name: contacts
  - name: tickets
  - name: tasks
  - name: phones
  - name: message
  - name: queue
  - name: chats
  - name: group
  - name: members
  - name: webhooks
  - name: custom properties
paths:
  /knowledge-base/document/{document_id}:
    get:
      tags:
        - knowledge-base
      summary: Get Document by ID
      description: |
        Get a single document by document_id
      operationId: getDocumentById
      parameters:
        - name: document_id
          in: path
          required: true
          schema:
            type: string
            example: doc_xyz789
            description: The document ID to retrieve
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  document_id:
                    type: string
                    description: The unique identifier for this document
                  type:
                    type: string
                    description: Type of entry (document)
                  question:
                    type: string
                    description: Question of the document
                  answer:
                    type: string
                    description: Answer of the document
                  attachments:
                    type: array
                    items:
                      type: string
                    description: Attachments of the document
                  metadata:
                    type: object
                    description: Metadata of the document
                  embedding:
                    type: array
                    items:
                      type: number
                    description: Embedding of the document
                  created_at:
                    type: string
                    description: Creation timestamp
              examples:
                200 OK:
                  value:
                    context_id: ai-context-xzmejkslwqesqko
                    org_id: 2997dd64-89bf-48d3-9a22-b314fca017e5
                    question: 'Document: Frank.pdf - Chunk 1'
                    answer: >-
                      Sample PDF

                      This is a simple PDF file. Fun fun fun.

                      Lorem  ipsum dolor  sit  amet,  consectetuer  adipiscing 
                      elit.  Phasellus  facilisis  odio  sed  mi. 

                      Curabitur suscipit. Nullam  vel nisi. Etiam semper ipsum
                      ut lectus.  Proin  aliquam,  erat eget 

                      pharetra   commodo, 
                    embedding: '[0.007811843,0.023783164,0.029483568,-0.051515117,...]'
                    created_at: '2025-11-05T16:30:53.671369'
                    attachments: null
                    metadata:
                      fileName: Frank.pdf
                      filePath: >-
                        org-assets/2997dd64-89bf-48d3-9a22-b314fca017e5/ai_assets/documents/88a010a1-c6ac-4f8f-be15-850bee5372b7/Frank.pdf
                      tokenCount: 416
                    type: document
                    document_id: 88a010a1-c6ac-4f8f-be15-850bee5372b7
        '404':
          description: Document not found
      x-codeSamples:
        - lang: TypeScript
          label: Node.js
          source: |-
            import { PeriskopeApi } from '@periskope/periskope-client';

            const client = new PeriskopeApi({
              authToken: 'YOUR_API_KEY',
              phone: 'YOUR_PHONE_NUMBER', // e.g., '919876543210'
            });

            async function getDocumentById() {
              const response = await client.knowledgeBase.getDocumentById({
                document_id: 'doc_xyz789'
              });

              console.log(response);
            }

            getDocumentById();
        - lang: cURL
          label: cURL
          source: |-
            curl -X GET \
              https://api.periskope.app/v1/knowledge-base/document/doc_xyz789 \
              -H 'Authorization: Bearer <token>' \
              -H 'Content-Type: application/json' \
              -H 'x-phone: YOUR_PHONE_NUMBER'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````