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

# Create Quicklink

> Creates a quicklink. The server assigns `id`.



## OpenAPI

````yaml /openapi/search-tools.json post /api/quicklinks
openapi: 3.1.0
info:
  title: Cludo Search Tools API
  version: 4.0.0
  description: >-
    Manage search experience tools: banners, rankings, quicklinks, and synonym
    groups for Cludo search engines.
servers:
  - url: https://api.cludo.com
    description: EU region (Customer IDs below 10,000,000)
  - url: https://api-us1.cludo.com
    description: US region (Customer IDs 10,000,000 and above)
security:
  - BasicAuth: []
paths:
  /api/quicklinks:
    post:
      summary: Create Quicklink
      description: Creates a quicklink. The server assigns `id`.
      operationId: createQuicklink
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QuicklinkCreate'
      responses:
        '201':
          description: Quicklink created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Quicklink'
        '400':
          description: >-
            The request body failed validation. Each key in the response is the
            JSON path of the offending field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - BasicAuth: []
components:
  schemas:
    QuicklinkCreate:
      type: object
      description: Quicklink payload without `id` (server assigns `id`).
      required:
        - url
        - websiteid
      properties:
        url:
          type: string
          description: Destination URL the user is sent to when they select this quicklink.
        websiteid:
          type: integer
          description: Search engine ID this quicklink belongs to.
        terms:
          type: array
          items:
            $ref: '#/components/schemas/QuicklinkTerm'
          description: Trigger phrases that should suggest this quicklink in autocomplete.
    Quicklink:
      type: object
      required:
        - url
        - websiteid
      properties:
        id:
          type: integer
          description: Quicklink ID (assigned by server on create).
        url:
          type: string
          description: Destination when the user selects this quicklink.
        terms:
          type: array
          items:
            $ref: '#/components/schemas/QuicklinkTerm'
          description: All trigger phrases for this shortcut.
        websiteid:
          type: integer
          description: Engine this quicklink belongs to.
        brokenLinksFoundAt:
          type:
            - string
            - 'null'
          description: Managed by the Cludo backend; informational only.
    ValidationErrorResponse:
      type: object
      description: >-
        Per-field validation errors. Each key is the JSON path of the offending
        property (using the controller parameter name as the root) and the value
        is an array of error messages for that field. May also include a
        `general` key for non-field-specific messages.
      additionalProperties:
        type: array
        items:
          type: string
      example:
        viewModel.pages[0]:
          - The Url field is required.
    QuicklinkTerm:
      type: object
      required:
        - name
      additionalProperties: false
      properties:
        name:
          type: string
          description: >-
            Synonym or shortcut text that should suggest this quicklink (e.g.
            “contact”, “phone”).
    UnauthorizedError:
      type: object
      description: Returned when authentication fails.
      properties:
        message:
          type: string
          description: Authentication failure reason.
    ServerError:
      type: object
      description: Returned when an unexpected server error occurs.
      properties:
        status:
          type: string
          description: HTTP status name.
        code:
          type: integer
          description: HTTP status code.
        messages:
          type: array
          items:
            type: string
          description: Error details, usually including a support reference id.
  responses:
    Unauthorized:
      description: >-
        Authentication failed. The Authorization header is missing or contains
        invalid credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
          example:
            message: unauthorized
    InternalServerError:
      description: >-
        An unexpected server error occurred. If this persists, contact
        support@cludo.com.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServerError'
          example:
            status: InternalServerError
            code: 500
            messages:
              - >-
                Error occur. Please contact support with error ID:
                a1b2c3d4-e5f6-7890-abcd-ef1234567890
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: >-
        Basic authentication. Use your Customer ID as the username and API Key
        as the password. Example header: `Authorization: Basic
        MTIzNDU2NzpteS1hcGkta2V5`.

````