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

# Get unlisted link

> This API allows to fetch the article's unlisted (secret) share link, creating a never-expiring one if none exists yet. An expired link is automatically replaced with a fresh one.

<Info>Replace `{your-subdomain}` with your workspace's subdomain. <br /> Learn how to find your subdomain in [Workspace subdomain](/getting-started/workspace-subdomain).</Info>


## OpenAPI

````yaml bundled/articles.yaml GET /articles/{article_id}/unlisted_link
openapi: 3.0.3
info:
  title: NeetoKB Articles API
  version: 1.0.0
servers:
  - description: NeetoKB API
    url: https://{your-subdomain}.neetokb.com/api/external/v2
    variables:
      your-subdomain:
        default: spinkart
        description: >-
          Replace **spinkart** with your [workspace's
          subdomain](/getting-started/workspace-subdomain).
security: []
paths:
  /articles/{article_id}/unlisted_link:
    get:
      summary: Get unlisted link
      description: >-
        This API allows to fetch the article's unlisted (secret) share link,
        creating a never-expiring one if none exists yet. An expired link is
        automatically replaced with a fresh one.
      parameters:
        - $ref: '#/components/parameters/api_key_header'
        - $ref: '#/components/parameters/article_id_param'
      responses:
        '200':
          description: OK - Request succeeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  unlisted_link:
                    $ref: '#/components/schemas/unlisted_link'
        '422':
          description: Unprocessable Entity - Article is not published
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: >-
                      Article must be published before an unlisted link can be
                      generated.
components:
  parameters:
    api_key_header:
      in: header
      name: X-Api-Key
      description: >-
        Use the X-Api-Key header to provide your workspace API key. Refer to
        [Authentication](/getting-started/authentication) for more information.
      required: true
      schema:
        type: string
        default: your-api-key
    article_id_param:
      in: path
      name: article_id
      description: >-
        Unique identifier of the article. Can be the article's slug, permalink,
        or ID. Refer to [Getting the Article
        ID](/getting-started/getting-article-id) section for detailed
        instructions.
      required: true
      schema:
        type: string
  schemas:
    unlisted_link:
      type: object
      properties:
        url:
          type: string
          example: https://example.neetokb.com/public/p-1a2b3c4d5e
        enabled:
          type: boolean
          example: true
        expiration_type:
          type: string
          enum:
            - never
            - one_day
            - seven_days
            - thirty_days
            - custom
          example: never
        expiration_date:
          type: string
          format: date-time
          nullable: true
          example: '2026-08-21T10:00:00.000Z'

````