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

# Criar um projeto

> Cria um novo projeto com os dados fornecidos.



## OpenAPI

````yaml /api-reference/openapi.json post /api/management/projects
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:
    post:
      tags:
        - projects
      summary: Criar um projeto
      description: Cria um novo projeto com os dados fornecidos.
      requestBody:
        content:
          application/json:
            schema:
              title: Criação de Projeto
              description: Payload obrigatório para criação de um projeto
              allOf:
                - description: Dados para criação ou atualização de um projeto
                  title: Projeto
                  type: object
                  required:
                    - name
                  properties:
                    name:
                      type: string
                      maxLength: 191
                      example: Novo Projeto
                      description: >-
                        Nome do projeto. Campo obrigatório na criação, máximo de
                        191 caracteres.
                    description:
                      type: string
                      example: Descrição do projeto
                      description: >-
                        Descrição detalhada do projeto. Campo opcional que
                        permite fornecer informações adicionais sobre o projeto.
                    impact:
                      type: integer
                      minimum: 1
                      maximum: 10
                      example: 5
                      description: Nível de impacto do projeto em uma escala de 1 a 10.
                    contact_id:
                      type: string
                      example: uuid-do-contato
                      format: uuid
                      description: >-
                        ID único (UUID) do contato associado ao projeto. Campo
                        opcional que permite vincular um contato específico ao
                        projeto.
                    customer_id:
                      type: string
                      example: uuid-do-cliente
                      format: uuid
                      description: >-
                        ID único (UUID) do cliente associado ao projeto. Campo
                        opcional que permite vincular um cliente específico ao
                        projeto.
                    status:
                      type: number
                      enum:
                        - 1
                        - 2
                        - 3
                        - 4
                      example: 1
                      description: >-
                        Status atual do projeto. Valores possíveis: 1 (Em
                        execução), 2 (Concluído), 3 (Arquivado), 4 (Parado).
                    budget:
                      type: number
                      example: 15000.5
                      format: float
                      description: >-
                        Receita esperada do projeto em valor numérico decimal.
                        Campo opcional que permite definir a receita esperada
                        para o projeto. Valor mínimo: 0, máximo:
                        999999999999.99.
                    is_template:
                      type: boolean
                      example: false
                      description: >-
                        Indica se o projeto é um modelo de projeto. Quando true,
                        o projeto pode ser usado como base para criação de
                        outros projetos.
                    form_answers:
                      type: array
                      items:
                        type: object
                      description: >-
                        Array de objetos contendo as respostas de formulários
                        dinâmicos associados ao projeto. Cada objeto contém os
                        dados das respostas dos campos do formulário.
                    forecast_dates:
                      type: array
                      items:
                        type: object
                        properties:
                          date:
                            type: string
                            example: '2025-06-01'
                            format: date
                            description: Data de previsão para o funil de projeto.
                          project_funnel_id:
                            type: integer
                            example: 4
                            description: >-
                              ID do funil de projeto ao qual esta data de
                              previsão está associada.
                        required:
                          - project_funnel_id
                      description: >-
                        Array de objetos para definir datas de previsão por
                        funil. Permite associar diferentes datas de previsão a
                        diferentes funis de projeto.
                    groups:
                      type: object
                      properties:
                        to_add:
                          type: array
                          items:
                            type: string
                          description: >-
                            Array de UUIDs dos grupos a serem adicionados ao
                            projeto. Permite associar o projeto a um ou mais
                            grupos.
                        to_rem:
                          type: array
                          items:
                            type: string
                          description: >-
                            Array de UUIDs dos grupos a serem removidos do
                            projeto. Permite desassociar o projeto de grupos
                            específicos.
                      required:
                        - to_add
                        - to_rem
                      description: >-
                        Objeto para gerenciar grupos associados ao projeto.
                        Contém arrays 'to_add' e 'to_rem' para adicionar ou
                        remover grupos.
                    tags:
                      type: object
                      properties:
                        to_add:
                          type: array
                          items:
                            type: integer
                          description: >-
                            Array de IDs das etiquetas a serem adicionadas ao
                            projeto.
                        to_rem:
                          type: array
                          items:
                            type: integer
                          description: >-
                            Array de IDs das etiquetas a serem removidas do
                            projeto.
                      required:
                        - to_add
                        - to_rem
                      description: >-
                        Objeto para gerenciar etiquetas de funil associadas ao
                        projeto. Contém arrays 'to_add' e 'to_rem' para
                        adicionar ou remover etiquetas do projeto.
                    funnels:
                      type: object
                      properties:
                        to_add:
                          type: array
                          description: >-
                            Array de IDs dos funis de projeto a serem
                            adicionados ao projeto.
                          items:
                            type: integer
                        to_rem:
                          type: array
                          description: >-
                            Array de IDs dos funis de projeto a serem removidos
                            do projeto.
                          items:
                            type: integer
                      required:
                        - to_add
                        - to_rem
                      description: >-
                        Objeto para gerenciar funis que o projeto está
                        vinculado. Contém arrays 'to_add' e 'to_rem' para
                        adicionar ou remover funis.
                    funnel_status:
                      type: object
                      properties:
                        project_funnel_id:
                          type: integer
                          example: 5
                          description: >-
                            ID do funil de projeto ao qual o status será
                            aplicado.
                        funnel_status_id:
                          type: integer
                          example: 2
                          description: >-
                            ID do status de funil que será atribuído ao projeto
                            dentro do funil especificado.
                      required:
                        - project_funnel_id
                      description: >-
                        Objeto para vincular ou desvincular um status de funil
                        do projeto.
                    prefix:
                      type: string
                      example: PRJ
                      description: >-
                        Prefixo para o código do projeto. Quando fornecido, será
                        usado na geração automática do código do projeto (ex:
                        'PRJ-001').
                    users:
                      type: array
                      items:
                        type: object
                        properties:
                          user_id:
                            type: string
                            example: uuid-do-usuario
                            format: uuid
                            description: >-
                              ID único (UUID) do usuário a ser associado ou
                              removido do projeto. Campo obrigatório dentro do
                              objeto users.
                          role:
                            type: string
                            example: assignee
                            description: >-
                              Papel do usuário no projeto. Valores possíveis:
                              'creator', 'assignee', 'follower'.
                          action:
                            type: string
                            example: add
                            description: >-
                              Ação a ser executada com o usuário. Valores
                              possíveis: 'add' (Adicionar usuário ao projeto),
                              'remove' (Remover usuário do projeto).
                        required:
                          - user_id
                          - role
                          - action
                      description: >-
                        Array de objetos para gerenciar usuários associados ao
                        projeto.
                    childrens:
                      type: object
                      properties:
                        to_add:
                          type: array
                          items:
                            type: string
                            format: uuid
                          description: >-
                            Array de UUIDs dos projetos filhos a serem
                            adicionados ao projeto. Permite criar uma hierarquia
                            de projetos.
                        to_rem:
                          type: array
                          items:
                            type: string
                            format: uuid
                          description: >-
                            Array de UUIDs dos projetos filhos a serem removidos
                            do projeto.
                      required:
                        - to_add
                        - to_rem
                      description: >-
                        Objeto para gerenciar projetos filhos associados ao
                        projeto. Contém arrays 'to_add' e 'to_rem' para
                        adicionar ou remover projetos filhos.
                    parent_id:
                      type: string
                      example: 550e8400-e29b-41d4-a716-446655440000
                      format: uuid
                      nullable: true
                      description: >-
                        ID do projeto pai na hierarquia. Quando null, o projeto
                        fica na raiz.
                - {}
            example:
              name: Nome do projeto
              description: Descrição detalhada do projeto
              impact: 5
              contact_id: 770e8400-e29b-41d4-a716-446655440001
              customer_id: 880e8400-e29b-41d4-a716-446655440001
              status: 3
              budget: 25000
              is_template: false
              prefix: PRJ
              parent_id: 550e8400-e29b-41d4-a716-446655440000
              funnels:
                to_add:
                  - 1
                  - 2
                  - 3
                to_rem: []
              groups:
                to_add:
                  - 550e8400-e29b-41d4-a716-446655440000
                  - 550e8400-e29b-41d4-a716-446655440001
                to_rem:
                  - 550e8400-e29b-41d4-a716-446655440001
              tags:
                to_add:
                  - 1
                  - 2
                  - 3
                to_rem: []
              users:
                - user_id: 550e8400-e29b-41d4-a716-446655440000
                  role: assignee
                  action: add
                - user_id: 550e8400-e29b-41d4-a716-446655440001
                  role: follower
                  action: add
              childrens:
                to_add:
                  - 550e8400-e29b-41d4-a716-446655440002
                to_rem: []
              forecast_dates:
                - date: '2025-06-01'
                  project_funnel_id: 4
                - date: '2025-07-15'
                  project_funnel_id: 5
              funnel_status:
                project_funnel_id: 5
                funnel_status_id: 2
              form_answers:
                - id: 1
                  answer: Resposta do campo
                - id: 2
                  answer: Resposta do campo
      responses:
        '200':
          description: Sucesso
          headers:
            Date:
              schema:
                type: string
              example: Tue, 16 Dec 2025 12:57:45 GMT
            Transfer-Encoding:
              schema:
                type: string
              example: chunked
            Connection:
              schema:
                type: string
              example: keep-alive
            Cache-Control:
              schema:
                type: string
              example: private, must-revalidate
            pragma:
              schema:
                type: string
              example: no-cache
            expires:
              schema:
                type: integer
              example: -1
            X-RateLimit-Limit:
              schema:
                type: integer
              example: 160
            X-RateLimit-Remaining:
              schema:
                type: integer
              example: 158
            Access-Control-Allow-Origin:
              schema:
                type: string
              example: '*'
            Access-Control-Expose-Headers:
              schema:
                type: string
              example: '*'
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: boolean
                  project:
                    type: object
                    properties:
                      frame_id:
                        type: string
                      status:
                        type: integer
                      impact:
                        type: integer
                      description:
                        type: string
                      name:
                        type: string
                      budget:
                        type: integer
                      is_template:
                        type: boolean
                      code:
                        type: string
                      id:
                        type: string
                      created_by:
                        type: string
                      updated_at:
                        type: string
                        format: date-time
                      created_at:
                        type: string
                        format: date-time
                      frame:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          type:
                            type: integer
                          status:
                            type: integer
                          subdomain:
                            type: string
                          cockpit_access:
                            type: integer
                      form_answers:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                            label:
                              type: string
                            answer:
                              type: string
                            model:
                              type: string
                            answered_by:
                              type: string
                            updated_at:
                              type: string
                              format: date-time
              example:
                response: true
                project:
                  frame_id: 019aeaa3-2778-73ec-8f8d-59d06cc59dca
                  status: 3
                  impact: 5
                  description: >-
                    Eveniet modi inventore laboriosam voluptatum consectetur
                    officia. Et vel blanditiis dolor neque tenetur nam nobis
                    fuga. Eum sequi quis accusamus dolorem ut.
                  name: molestiae consequatur ad
                  contact_id: null
                  customer_id: null
                  budget: 25000
                  is_template: false
                  code: P-82
                  id: 019b273c-f7c4-71ac-97b5-b96d95512130
                  created_by: 019aeaa3-2370-731c-9008-be759795f449
                  updated_at: '2025-12-16T12:57:45.000000Z'
                  created_at: '2025-12-16T12:57:45.000000Z'
                  frame:
                    id: 019aeaa3-2778-73ec-8f8d-59d06cc59dca
                    old_id: null
                    name: 'OlieDev Company '
                    type: work
                    status: 1
                    subdomain: devframe
                    frame_billing_data_id: null
                    model_forms: null
                    logo_img: null
                    cockpit_access: 0
                  form_answers:
                    - id: 1
                      label: eos quod
                      answer: Resposta do campo
                      model: Project
                      answered_by: 019bc286-5e87-7168-965d-720b922f8187
                      updated_at: '2026-01-15T17:17:16.000000Z'
                    - id: 2
                      label: deleniti veniam
                      answer: Resposta do campo
                      model: Project
                      answered_by: 019bc286-5e87-7168-965d-720b922f8187
                      updated_at: '2026-01-15T17:17:16.000000Z'
                    - id: 3
                      label: dolorem fugiat
                      answer: null
                      model: Project
                      answered_by: 019bc286-5e87-7168-965d-720b922f8187
                      updated_at: '2026-01-15T17:17:16.000000Z'
                    - id: 4
                      label: sequi qui
                      answer: null
                      model: Project
                      answered_by: 019bc286-5e87-7168-965d-720b922f8187
                      updated_at: '2026-01-15T17:17:16.000000Z'
        '401':
          description: Não autorizado
          headers:
            Date:
              schema:
                type: string
              example: Thu, 11 Dec 2025 23:54:15 GMT
            Transfer-Encoding:
              schema:
                type: string
              example: chunked
            Connection:
              schema:
                type: string
              example: keep-alive
            access-control-allow-origin:
              schema:
                type: string
              example: '*'
            access-control-expose-headers:
              schema:
                type: string
              example: '*'
        '422':
          description: Erro de validação
          headers:
            Transfer-Encoding:
              schema:
                type: string
              example: chunked
            Connection:
              schema:
                type: string
              example: keep-alive
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````