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

# Attach a Linear issue to a conversation

Attaches an existing Linear issue to the specified conversation. The issue must exist at Linear. An attachment and customer link are added to the issue linking it to the conversation in Fernand. Returns a 404 error if the issue cannot be found.


## OpenAPI

````yaml https://api.getfernand.com/openapi.json put /integrations/linear/{conversation_id}/tickets/{linear_id}
openapi: 3.0.3
info:
  title: Fernand API Documentation
  version: '3.0'
  description: This is the documentation for the [Fernand](https://getfernand.com) API.
  termsOfService: https://getfernand.com/terms
  contact:
    name: Fernand Support
    url: https://getfernand.com
    email: support@getfernand.com
  x-logo:
    url: https://app.getfernand.com/images/favicon/icon_128.png
servers:
  - url: https://api.getfernand.com
    description: ''
    x-last-modified: 1764750693905
security:
  - apiKeyHeader: []
externalDocs:
  description: You can access our documentation online by visiting https://api.fernand.help
  url: https://api.fernand.help
paths:
  /integrations/linear/{conversation_id}/tickets/{linear_id}:
    put:
      tags:
        - Linear Integration
      summary: Attach a Linear issue to a conversation
      description: >-
        Attaches an existing Linear issue to the specified conversation. The
        issue must exist at Linear. An attachment and customer link are added to
        the issue linking it to the conversation in Fernand. Returns a 404 error
        if the issue cannot be found.
      operationId: attachLinearTicket
      parameters:
        - name: conversation_id
          in: path
          required: true
          schema:
            type: integer
          description: ID of the conversation to attach the issue to.
          example: 12345
        - name: linear_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: UUID of the Linear issue to attach.
          example: 8a7b93d1-18f7-4a9f-b5c6-3e2d1f9a8c7b
      responses:
        '200':
          description: Linear issue attached successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Unique identifier of the Linear issue.
                    example: 8a7b93d1-18f7-4a9f-b5c6-3e2d1f9a8c7b
                  title:
                    type: string
                    description: Title of the issue.
                    example: Fix authentication bug
                  url:
                    type: string
                    description: URL to view the issue in Linear.
                    example: https://linear.app/team/issue/ENG-123
                  identifier:
                    type: string
                    description: Human-readable issue identifier.
                    example: ENG-123
                  assignee:
                    type: object
                    description: Assigned user (null if unassigned).
                    properties:
                      name:
                        type: string
                        description: Display name of the assignee.
                        example: John Doe
                      avatar_url:
                        type: string
                        description: URL to the assignee's avatar image.
                        example: https://avatar.linear.app/9c0d1e2f
                  state:
                    type: object
                    description: Current workflow state of the issue.
                    properties:
                      name:
                        type: string
                        description: Name of the workflow state.
                        example: In Progress
                      type:
                        type: string
                        description: Type of the workflow state.
                        example: started
                      color:
                        type: string
                        description: Color hex code of the workflow state.
                        example: '#f2c94c'
                      verbose:
                        type: string
                        description: ISO 8601 timestamp verbose format.
                        example: '2026-01-15T10:30:00+00:00'
                      last_updated_at:
                        type: string
                        description: >-
                          ISO 8601 timestamp of when the issue entered this
                          state.
                        example: '2026-01-15T10:30:00Z'
                  labels:
                    type: array
                    description: List of labels applied to the issue.
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Name of the label.
                          example: bug
                        color:
                          type: string
                          description: Color hex code of the label.
                          example: '#5e6ad2'
                  attachments:
                    type: array
                    description: List of attachments on the issue.
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Unique identifier of the attachment.
                          example: 2f3a4b5c-6d7e-8f9a-0b1c-2d3e4f5a6b7c
                        url:
                          type: string
                          description: URL of the attachment.
                          example: https://app.getfernand.com/conversations/12345
                  priority:
                    type: integer
                    description: >-
                      Priority level (0=No priority, 1=Urgent, 2=High, 3=Medium,
                      4=Low).
                    example: 1
                  priority_label:
                    type: string
                    description: Display name of the priority level.
                    example: Urgent
                  last_updated_at:
                    type: string
                    description: ISO 8601 timestamp of the last update.
                    example: '2026-01-15T10:30:00Z'
        '404':
          description: Linear integration, conversation, or issue not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Unable to find the given ticket at Linear
components:
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      description: >-
        Authenticate your account by including your secret key in API requests.

        You can manage your API keys in the
        [Dashboard](https://app.getfernand.com/).


        Authentication to the API is performed by using the HTTP Header
        X-API-Key.
      name: X-API-Key
      in: header
      x-last-modified: 1764750344730

````