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

# Index a custom content

> Index a custom content for Super usage.



## OpenAPI

````yaml post /super/index
openapi: 3.0.0
info:
  title: Public Super api
  version: '1'
  description: Run super queries, digests, index and manage custom sources.
  license:
    name: private
  contact:
    name: Slite
servers:
  - url: https://api.super.work/v1
security: []
paths:
  /super/index:
    post:
      summary: Index a custom content
      description: Index a custom content for Super usage.
      operationId: super-index
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IndexRequest'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Source'
              examples:
                Example 1:
                  value:
                    title: Onboarding
                    url: https://slite.slite.page/p/S1TSuHnZf/Security-at-Slite
                    id: S1TSuHnZf
                    updatedAt: '2021-01-01T00:00:00.000Z'
        '401':
          description: Invalid authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiAuthError'
        '402':
          description: >-
            This feature is disabled for your organization. Please contact
            support.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiDisabledError'
        '404':
          description: Data source not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiNotFoundError'
        '422':
          description: Input validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiFieldValidationError'
        '429':
          description: Rate limitation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiRateLimitError'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
      security:
        - api_key: []
          bearer: []
components:
  schemas:
    IndexRequest:
      properties:
        rootId:
          type: string
          description: >-
            Root id of the object to gather sources from. This should be created
            from the UI as a new custom data source.
          example: a2ZSuHnZf
        id:
          type: string
          description: Unique id of the object to index scoped to the rootId
          example: custom-id
          pattern: ^[A-Za-z0-9-_]+$
        title:
          type: string
          description: Title of the object to index
          example: Note title
        content:
          type: string
          description: Content of the object to index
          example: '# Content in markdown'
        type:
          $ref: '#/components/schemas/ObjectType'
          description: Type of the object to index. Can be "markdown" or "html"
          example: markdown
        updatedAt:
          type: string
          format: date-time
          description: >-
            Last update date of the object to index. Used to determine the
            freshness of the object.
          example: '2021-01-01T00:00:00Z'
        url:
          type: string
          description: Url of the object to index. Used to redirect to the proper page.
          example: https://slite.slite.page/p/S1TSuHnZf/Security-at-Slite
      required:
        - rootId
        - id
        - title
        - content
        - type
        - updatedAt
        - url
      type: object
      additionalProperties: false
    Source:
      properties:
        explanation:
          type: string
          description: For super, gives explanation about the source
        updatedAt:
          anyOf:
            - type: string
              format: date-time
            - type: string
          description: Date of the last update of the note
        url:
          type: string
          description: Url of the note
        title:
          type: string
          description: Title of the note
        id:
          type: string
          description: Id of the note
      required:
        - updatedAt
        - url
        - title
        - id
      type: object
    PublicApiAuthError:
      properties:
        message:
          type: string
          enum:
            - Invalid apiKey
          nullable: false
        id:
          type: string
          enum:
            - auth/unauthorized
          nullable: false
      required:
        - message
        - id
      type: object
    PublicApiDisabledError:
      properties:
        message:
          type: string
          enum:
            - >-
              This feature is disabled for your organization. Please contact
              support.
          nullable: false
        id:
          type: string
          enum:
            - askx-disabled
          nullable: false
      required:
        - message
        - id
      type: object
    PublicApiNotFoundError:
      properties:
        message:
          type: string
          enum:
            - Data source not found.
          nullable: false
        id:
          type: string
          enum:
            - root-id-not-found
          nullable: false
      required:
        - message
        - id
      type: object
    PublicApiFieldValidationError:
      properties:
        details:
          $ref: '#/components/schemas/FieldErrors'
        message:
          type: string
          enum:
            - Validation Failed
          nullable: false
        id:
          type: string
          enum:
            - field-validation
          nullable: false
      required:
        - message
        - id
      type: object
    PublicApiRateLimitError:
      properties:
        message:
          type: string
          enum:
            - You've reached the api rate limit. Please wait and retry later.
          nullable: false
        id:
          type: string
          enum:
            - rate-limit
          nullable: false
      required:
        - message
        - id
      type: object
    PublicApiError:
      properties:
        message:
          type: string
        id:
          type: string
      required:
        - message
        - id
      type: object
    ObjectType:
      enum:
        - markdown
        - html
      type: string
    FieldErrors:
      properties: {}
      type: object
      additionalProperties:
        properties:
          value: {}
          message:
            type: string
        required:
          - message
        type: object
  securitySchemes:
    bearer:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://example.com/oauth/authorize
          tokenUrl: https://example.com/oauth/token
          scopes: {}

````