> ## 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.

# Obter publicação

> Retorna a configuração completa de uma publicação, com o formulário publicado (só os campos respondíveis em link público), o modelo de projeto e o campo usado para nomear o projeto criado.



## OpenAPI

````yaml /api-reference/openapi.json get /api/management/form-publications/{form_publication}
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/form-publications/{form_publication}:
    parameters:
      - name: form_publication
        in: path
        required: true
        description: ID (UUID) da publicação de formulário.
        schema:
          type: string
        example: ''
    get:
      tags:
        - form-publications
      summary: Obter publicação
      description: >-
        Retorna a configuração completa de uma publicação, com o formulário
        publicado (só os campos respondíveis em link público), o modelo de
        projeto e o campo usado para nomear o projeto criado.
      operationId: obterUmaPublicaODeFormulRio
      responses:
        '200':
          description: Sucesso
          content:
            application/json:
              schema:
                type: object
                description: Publicação encontrada.
                properties:
                  response:
                    type: boolean
                    description: >-
                      Indicador de sucesso da requisição. Sempre true nas
                      respostas bem-sucedidas.
                  form_publication:
                    type: object
                    description: Publicação de formulário.
                    properties:
                      id:
                        type: string
                        description: ID da publicação.
                        format: uuid
                      title:
                        type: string
                        description: Título exibido no formulário público.
                      description:
                        type: string
                        description: >-
                          Descrição exibida dentro do formulário para quem
                          responde.
                        nullable: true
                      background_color:
                        type: string
                        description: >-
                          Cor de fundo do formulário público, em hexadecimal.
                          Nulo usa a cor padrão.
                        nullable: true
                      starts_at:
                        type: string
                        description: >-
                          Início da janela de publicação. Nulo: vale desde a
                          criação.
                        format: date-time
                        nullable: true
                      ends_at:
                        type: string
                        description: 'Fim da janela de publicação. Nulo: não expira.'
                        format: date-time
                        nullable: true
                      redirect_url:
                        type: string
                        description: Endereço para onde quem responde é levado após enviar.
                        nullable: true
                      token:
                        type: string
                        description: Token do link público do formulário.
                        format: uuid
                      status:
                        type: string
                        description: >-
                          Situação da publicação: published (link ativo) ou
                          unpublished (link desligado).
                        enum:
                          - published
                          - unpublished
                      form_id:
                        type: integer
                        description: ID do formulário publicado.
                      frame_id:
                        type: string
                        description: ID da conta dona da publicação.
                        format: uuid
                      created_at:
                        type: string
                        description: Data de criação da publicação.
                        format: date-time
                      updated_at:
                        type: string
                        description: Data da última alteração da publicação.
                        format: date-time
                      deleted_at:
                        type: string
                        description: Data de exclusão da publicação. Nulo quando ativa.
                        format: date-time
                        nullable: true
                      create_project:
                        description: >-
                          Se cada resposta cria um projeto. Pode vir como 0/1 na
                          leitura.
                        anyOf:
                          - type: boolean
                          - type: integer
                      link_as_media:
                        type: boolean
                        description: >-
                          Se as respostas são gravadas no conteúdo do projeto
                          criado.
                      link_as_loose_form:
                        type: boolean
                        description: >-
                          Se as respostas são gravadas como formulário avulso do
                          projeto criado.
                      project_name:
                        type: string
                        description: >-
                          Nome fixo do projeto criado. Usado quando form_edge_id
                          está vazio.
                        nullable: true
                      form_edge_id:
                        type: integer
                        description: >-
                          ID do campo cuja resposta vira o nome do projeto
                          criado.
                        nullable: true
                      project_template_id:
                        type: string
                        description: ID do modelo de projeto usado para criar o projeto.
                        format: uuid
                        nullable: true
                      funnel_step_id:
                        type: integer
                        description: ID da etapa em que o projeto criado é vinculado.
                        nullable: true
                      type:
                        type: string
                        description: Tipo do registro. Sempre publication neste endpoint.
                        enum:
                          - publication
                      created_by:
                        type: string
                        description: >-
                          Campo reservado ao autor da publicação. Hoje não é
                          preenchido.
                        format: uuid
                        nullable: true
                      project_template:
                        type: object
                        description: >-
                          Modelo de projeto usado na criação do projeto (objeto
                          do projeto modelo). Nulo quando não há modelo.
                        nullable: true
                      form_edge:
                        type: object
                        description: >-
                          Campo usado para nomear o projeto criado. Nulo quando
                          não configurado.
                        properties:
                          id:
                            type: integer
                            description: ID do campo.
                          type:
                            type: string
                            description: Tipo do campo.
                            enum:
                              - short_text
                              - long_text
                              - rich_text
                              - attachment
                              - checkbox
                              - date
                              - date_and_time
                              - email
                              - phone
                              - select
                              - radio
                              - currency
                              - number
                              - link
                              - time
                              - matrix
                          label:
                            type: string
                            description: Rótulo do campo.
                          index:
                            type: integer
                            description: Posição do campo no formulário (ordem crescente).
                          help_text:
                            type: string
                            description: Texto de ajuda exibido junto ao campo.
                            nullable: true
                          description:
                            type: string
                            description: Descrição do campo.
                            nullable: true
                          options:
                            description: >-
                              Opções do campo: lista de textos para select,
                              radio e checkbox; objeto com rows/columns para
                              matrix; lista vazia nos demais tipos.
                            items:
                              type: string
                              description: Texto de uma opção.
                            anyOf:
                              - type: array
                                items: {}
                              - type: object
                          initial_value:
                            description: >-
                              Valor pré-preenchido do campo, no mesmo formato de
                              uma resposta daquele tipo.
                            nullable: true
                            anyOf:
                              - type: string
                              - type: number
                              - type: array
                                items: {}
                              - type: object
                          required:
                            type: boolean
                            description: Se o preenchimento é obrigatório.
                          custom_validation:
                            type: string
                            description: Expressão regular que a resposta precisa atender.
                            nullable: true
                          conditional:
                            description: >-
                              Campo legado, sempre nulo. As regras ficam em
                              conditionals.
                            nullable: true
                          form_id:
                            type: integer
                            description: ID do formulário ao qual o campo pertence.
                          created_at:
                            type: string
                            description: Data de criação do campo.
                            format: date-time
                          updated_at:
                            type: string
                            description: Data da última alteração do campo.
                            format: date-time
                          deleted_at:
                            type: string
                            description: >-
                              Data em que o campo foi arquivado. Nulo quando
                              ativo.
                            format: date-time
                            nullable: true
                          is_multiple:
                            type: boolean
                            description: >-
                              Se o campo aceita mais de um valor (ex.: vários
                              links).
                          logical_operator:
                            type: string
                            description: Como as regras condicionais do campo se combinam.
                            enum:
                              - and
                              - or
                          is_migrated:
                            type: boolean
                            description: >-
                              Marcador interno de migração de dados. Pode ser
                              ignorado.
                          conditional_action:
                            type: string
                            description: >-
                              O que acontece com o campo quando as regras são
                              atendidas: show (exibe) ou hide (oculta). Nulo
                              quando não há lógica condicional.
                            enum:
                              - show
                              - hide
                              - null
                            nullable: true
                        nullable: true
                      form:
                        type: object
                        description: Formulário publicado.
                        properties:
                          id:
                            type: integer
                            description: ID do formulário.
                          title:
                            type: string
                            description: Título do formulário.
                          frame_id:
                            type: string
                            description: ID da conta dona do formulário.
                            format: uuid
                          created_at:
                            type: string
                            description: Data de criação do formulário.
                            format: date-time
                          updated_at:
                            type: string
                            description: Data da última alteração do formulário.
                            format: date-time
                          deleted_at:
                            type: string
                            description: Data de exclusão do formulário. Nulo quando ativo.
                            format: date-time
                            nullable: true
                          edges:
                            type: array
                            description: >-
                              Campos respondíveis em link público, ordenados por
                              index.
                            items:
                              type: object
                              description: Campo do formulário.
                              properties:
                                id:
                                  type: integer
                                  description: ID do campo.
                                type:
                                  type: string
                                  description: Tipo do campo.
                                  enum:
                                    - short_text
                                    - long_text
                                    - rich_text
                                    - attachment
                                    - checkbox
                                    - date
                                    - date_and_time
                                    - email
                                    - phone
                                    - select
                                    - radio
                                    - currency
                                    - number
                                    - link
                                    - time
                                    - matrix
                                label:
                                  type: string
                                  description: Rótulo do campo.
                                index:
                                  type: integer
                                  description: >-
                                    Posição do campo no formulário (ordem
                                    crescente).
                                help_text:
                                  type: string
                                  description: Texto de ajuda exibido junto ao campo.
                                  nullable: true
                                description:
                                  type: string
                                  description: Descrição do campo.
                                  nullable: true
                                options:
                                  description: >-
                                    Opções do campo: lista de textos para
                                    select, radio e checkbox; objeto com
                                    rows/columns para matrix; lista vazia nos
                                    demais tipos.
                                  items:
                                    type: string
                                    description: Texto de uma opção.
                                  anyOf:
                                    - type: array
                                      items: {}
                                    - type: object
                                initial_value:
                                  description: >-
                                    Valor pré-preenchido do campo, no mesmo
                                    formato de uma resposta daquele tipo.
                                  nullable: true
                                  anyOf:
                                    - type: string
                                    - type: number
                                    - type: array
                                      items: {}
                                    - type: object
                                required:
                                  type: boolean
                                  description: Se o preenchimento é obrigatório.
                                custom_validation:
                                  type: string
                                  description: >-
                                    Expressão regular que a resposta precisa
                                    atender.
                                  nullable: true
                                conditional:
                                  description: >-
                                    Campo legado, sempre nulo. As regras ficam
                                    em conditionals.
                                  nullable: true
                                form_id:
                                  type: integer
                                  description: ID do formulário ao qual o campo pertence.
                                created_at:
                                  type: string
                                  description: Data de criação do campo.
                                  format: date-time
                                updated_at:
                                  type: string
                                  description: Data da última alteração do campo.
                                  format: date-time
                                deleted_at:
                                  type: string
                                  description: >-
                                    Data em que o campo foi arquivado. Nulo
                                    quando ativo.
                                  format: date-time
                                  nullable: true
                                is_multiple:
                                  type: boolean
                                  description: >-
                                    Se o campo aceita mais de um valor (ex.:
                                    vários links).
                                logical_operator:
                                  type: string
                                  description: >-
                                    Como as regras condicionais do campo se
                                    combinam.
                                  enum:
                                    - and
                                    - or
                                is_migrated:
                                  type: boolean
                                  description: >-
                                    Marcador interno de migração de dados. Pode
                                    ser ignorado.
                                conditional_action:
                                  type: string
                                  description: >-
                                    O que acontece com o campo quando as regras
                                    são atendidas: show (exibe) ou hide
                                    (oculta). Nulo quando não há lógica
                                    condicional.
                                  enum:
                                    - show
                                    - hide
                                    - null
                                  nullable: true
              example:
                response: true
                form_publication:
                  id: 01a0cb22-5af9-7290-a243-736378cb5350
                  title: Inscrição - Workshop de Processos
                  description: Preencha para garantir sua vaga.
                  background_color: '#1E40AF'
                  starts_at: null
                  ends_at: '2026-12-31 23:59:59'
                  redirect_url: https://exemplo.com.br/obrigado
                  token: e867fd11-bf8d-4b10-b8a0-77deae294392
                  status: published
                  form_id: 70
                  frame_id: 01a0252b-d865-71af-a0a2-d4e168d1ffe5
                  created_at: '2026-09-22T22:00:21.000000Z'
                  updated_at: '2026-09-22T22:01:18.000000Z'
                  deleted_at: null
                  create_project: 0
                  link_as_media: false
                  link_as_loose_form: false
                  project_name: null
                  form_edge_id: null
                  project_template_id: null
                  funnel_step_id: null
                  type: publication
                  created_by: null
                  project_template: null
                  form_edge: null
                  form:
                    id: 70
                    title: Doc Postman - Inscrição em evento
                    frame_id: 01a0252b-d865-71af-a0a2-d4e168d1ffe5
                    created_at: '2026-09-22T22:00:15.000000Z'
                    updated_at: '2026-09-22T22:00:15.000000Z'
                    deleted_at: null
                    edges:
                      - id: 115
                        type: short_text
                        label: Nome completo
                        index: 0
                        help_text: null
                        description: null
                        options: []
                        initial_value: null
                        required: true
                        custom_validation: null
                        conditional: null
                        form_id: 70
                        created_at: '2026-09-22T22:00:15.000000Z'
                        updated_at: '2026-09-22T22:00:15.000000Z'
                        deleted_at: null
                        is_multiple: false
                        logical_operator: and
                        is_migrated: false
                        conditional_action: null
                      - id: 116
                        type: email
                        label: E-mail
                        index: 1
                        help_text: null
                        description: null
                        options: []
                        initial_value: null
                        required: true
                        custom_validation: null
                        conditional: null
                        form_id: 70
                        created_at: '2026-09-22T22:00:15.000000Z'
                        updated_at: '2026-09-22T22:00:15.000000Z'
                        deleted_at: null
                        is_multiple: false
                        logical_operator: and
                        is_migrated: false
                        conditional_action: null
                      - id: 117
                        type: phone
                        label: Telefone
                        index: 2
                        help_text: null
                        description: null
                        options: []
                        initial_value: null
                        required: false
                        custom_validation: null
                        conditional: null
                        form_id: 70
                        created_at: '2026-09-22T22:00:15.000000Z'
                        updated_at: '2026-09-22T22:00:15.000000Z'
                        deleted_at: null
                        is_multiple: false
                        logical_operator: and
                        is_migrated: false
                        conditional_action: null
                      - id: 118
                        type: select
                        label: Como conheceu o evento
                        index: 3
                        help_text: null
                        description: null
                        options:
                          - Indicação
                          - Redes sociais
                          - Site
                        initial_value: null
                        required: false
                        custom_validation: null
                        conditional: null
                        form_id: 70
                        created_at: '2026-09-22T22:00:15.000000Z'
                        updated_at: '2026-09-22T22:00:15.000000Z'
                        deleted_at: null
                        is_multiple: false
                        logical_operator: and
                        is_migrated: false
                        conditional_action: null
        '404':
          description: Não encontrado
          content:
            application/json:
              schema:
                type: object
                description: Resposta de erro.
                properties:
                  response:
                    type: boolean
                    description: Indicador de sucesso da requisição. Sempre false em erros.
                  message:
                    type: string
                    description: >-
                      Código do erro para tratamento no cliente:
                      form_publication_model_not_found (publicação inexistente
                      ou de outra conta).
                  error:
                    type: string
                    description: Descrição legível do erro.
              example:
                response: false
                message: form_publication_model_not_found
                error: No query results for model [App\Models\FormPublication].
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````