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

# Vincular um formulário avulso

> Anexa um formulário existente ao projeto como formulário avulso, deixando-o disponível para resposta independentemente da etapa. O mesmo formulário pode ser anexado mais de uma vez, gerando vínculos distintos.



## OpenAPI

````yaml /api-reference/openapi.json post /api/management/projects/{project}/loose-forms
openapi: 3.0.0
info:
  title: Olie API
  version: 1.0.0
  description: >
    # Introdução 👋


    Olá! Esta é a documentação oficial da API da [olie.ai](https://olie.ai/).
    Aqui você encontra as referências e exemplos de uso dos nossos endpoints.


    Para uma visão completa, recomendamos fortemente que você leia a
    [documentação oficial](https://docs.olie.ai/api-reference/introduction). Lá
    estão detalhados tópicos essenciais como
    [autenticação](https://docs.olie.ai/api-reference/introduction/authentication),
    [estrutura de
    respostas](https://docs.olie.ai/api-reference/general/response-structure),
    [paginação](https://docs.olie.ai/api-reference/general/pagination) e outros
    guias de integração.


    No Postman, esta coleção foca nas informações específicas de cada requisição
    (endpoints, parâmetros e exemplos), servindo como apoio rápido para testes e
    desenvolvimento.
servers:
  - url: https://api.olie.ai
security:
  - BearerAuth: []
paths:
  /api/management/projects/{project}/loose-forms:
    parameters:
      - name: project
        in: path
        required: true
        description: ID (UUID) do projeto.
        schema:
          type: string
        example: '{{project_id}}'
    post:
      tags:
        - projects
        - Formulários avulsos
      summary: Vincular um formulário avulso
      description: >-
        Anexa um formulário existente ao projeto como formulário avulso,
        deixando-o disponível para resposta independentemente da etapa. O mesmo
        formulário pode ser anexado mais de uma vez, gerando vínculos distintos.
      operationId: vinculaUmFormulRioAvulsoAUmProjeto
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: ID do formulário a anexar ao projeto.
              description: Formulário a vincular.
              required:
                - id
            example:
              id: null
      responses:
        '200':
          description: Sucesso
          content:
            application/json:
              schema:
                description: Vínculo criado.
                type: object
                properties:
                  response:
                    type: boolean
                    description: Sempre true quando a operação é concluída.
                  loose_form:
                    description: Formulário avulso vinculado ao projeto.
                    type: object
                    properties:
                      id:
                        type: integer
                        description: ID do vínculo entre o projeto e o formulário.
                      project_id:
                        type: string
                        description: Projeto dono do vínculo.
                        format: uuid
                      form_id:
                        type: integer
                        description: Formulário vinculado.
                      frame_id:
                        type: string
                        description: ID (UUID) da conta dona do vínculo.
                        format: uuid
                      created_at:
                        type: string
                        description: Data do vínculo.
                        format: date-time
                      updated_at:
                        type: string
                        description: Data da última alteração.
                        format: date-time
                      form:
                        type: object
                        description: Formulário.
                        properties:
                          id:
                            type: integer
                            description: ID do formulário.
                          title:
                            type: string
                            description: Nome do formulário.
                          frame_id:
                            type: string
                            description: ID (UUID) da conta dona do formulário.
                            format: uuid
                          created_at:
                            type: string
                            description: Data de criação.
                            format: date-time
                          updated_at:
                            type: string
                            description: Data da última alteração.
                            format: date-time
                          deleted_at:
                            type: string
                            description: Data em que o formulário foi removido.
                            format: date-time
                required:
                  - response
                  - loose_form
              example:
                response: true
                loose_form:
                  id: 412
                  project_id: 019e0edb-aa7c-70c4-9d2d-3a2f175b5ddf
                  form_id: 119
                  frame_id: 019c75de-532c-7047-9563-daf1448ca963
                  created_at: '2026-08-14T10:22:03.000000Z'
                  updated_at: '2026-08-14T10:22:03.000000Z'
                  form:
                    id: 119
                    title: Vistoria técnica
                    frame_id: 019c75de-532c-7047-9563-daf1448ca963
                    created_at: '2026-02-03T08:00:00.000000Z'
                    updated_at: '2026-02-03T08:00:00.000000Z'
                    deleted_at: null
        '404':
          description: Formulário não encontrado
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: boolean
                    description: Sempre false em respostas de erro.
                  message:
                    type: string
                    description: >-
                      Identificador do erro, usado pelo cliente para tratar o
                      caso.
                  error:
                    type: string
                    description: Descrição legível do erro.
                required:
                  - response
                  - message
                  - error
              example:
                response: false
                message: form_model_not_found
                error: No query results for model [App\\Models\\Form] 999999
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````