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

# Create a short link

> New links are created **paused**.

**Required permission:** `biolinks:links:write`



## OpenAPI

````yaml /api-reference/biolinks.openapi.json post /links
openapi: 3.1.0
info:
  title: Link in Bio API
  version: 1.0.0
  description: >-
    Link-in-bio pages and their blocks, short links, QR codes, tracking pixels,
    form submissions, analytics and custom domains.
servers:
  - url: https://{domain}/api/v1/biolinks
    description: Your platform domain
    variables:
      domain:
        default: app.example.com
        description: The domain you sign in to, without https://
security:
  - bearerAuth: []
  - apiKeyHeader: []
tags:
  - name: Pages
  - name: Blocks
  - name: Short links
  - name: Catalogue
  - name: Analytics
  - name: Submissions
  - name: QR codes
  - name: Pixels
  - name: Domains
paths:
  /links:
    post:
      tags:
        - Short links
      summary: Create a short link
      description: |-
        New links are created **paused**.

        **Required permission:** `biolinks:links:write`
      operationId: links.store
      parameters:
        - name: Idempotency-Key
          in: header
          required: true
          schema:
            type: string
            minLength: 8
            maxLength: 200
          description: >-
            8–200 letters, digits, `.`, `_`, `:` or `-`. Retry with the same key
            and exact same body to get the original response.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - destination
              properties:
                destination:
                  type: string
                  maxLength: 2048
                  example: https://example.com/autumn-sale
                  description: An `http`, `https`, `mailto` or `tel` URL.
                title:
                  type: string
                  maxLength: 120
                  nullable: true
                slug:
                  type: string
                  maxLength: 60
                  nullable: true
                  example: sale
                domain:
                  type: string
                  format: uuid
                  nullable: true
                settings:
                  type: object
                  properties:
                    password:
                      type: string
                      maxLength: 100
                      description: Write-only. Never returned.
                    clear_password:
                      type: boolean
                    forward_query:
                      type: boolean
                      description: Pass the visitor's query string on to the destination.
                    http_status:
                      type: integer
                      enum:
                        - 301
                        - 302
                        - 303
                        - 307
                        - 308
                      default: 302
                    sensitive_content:
                      type: boolean
                    utm:
                      type: object
                      properties:
                        source:
                          type: string
                          maxLength: 80
                        medium:
                          type: string
                          maxLength: 80
                        campaign:
                          type: string
                          maxLength: 80
                    pixels:
                      type: array
                      maxItems: 100
                      items:
                        type: string
                        format: uuid
                      description: >-
                        Pixel IDs from this workspace. Replaces the current
                        selection.
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Link'
components:
  schemas:
    Link:
      type: object
      properties:
        revision:
          type: string
        id:
          type: string
          format: uuid
        slug:
          type: string
        domain:
          type: string
          format: uuid
          nullable: true
        public_url:
          type: string
        title:
          type: string
          nullable: true
        destination:
          type: string
        status:
          type: string
          enum:
            - active
            - paused
        disabled:
          type: boolean
        has_password:
          type: boolean
        settings:
          type: object
          description: '`utm`, `forward_query`, `http_status`, `sensitive_content`.'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'A workspace API key: `Authorization: Bearer osk_...`'
    apiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
      description: The same workspace API key in the `x-api-key` header.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.