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

# [Projets] Créer ou mettre à jour

> Save a project in Jarvi. It creates the project if it does not exist, updates it if it does.

<Warning>Vous devez utiliser votre **clé d'api privée** pour cette requête.</Warning>

Vous pouvez tout personnaliser complètement les informations de chaque profils grâce aux <a href="../../custom-fields">Champs personnalisés</a>. Cliquez sur ce lien pour comprendre comment lire et écrire des informations dans les champs personnalisés.


## OpenAPI

````yaml POST /rest/v2/projects
openapi: 3.0.1
info:
  title: Jarvi API
  description: An API to help you read and manage your projects, profiles, and more.
  license:
    name: MIT
  version: 2.0.0
servers:
  - url: https://functions.prod.jarvi.tech/v1/public-api
security:
  - ApiKeyAuth: []
paths:
  /rest/v2/projects:
    post:
      summary: Creates or update a project
      description: >-
        Save a project in Jarvi. It creates the project if it does not exist,
        updates it if it does.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                projectId:
                  type: string
                  description: 'The id of the project you want to update. '
                  example: 713a8005-e54d-4ee3-b6a4-89b27167dde6
                name:
                  type: string
                  description: The name of the project you want to update/create.
                  example: Dev JAVA - IDF
                externalId:
                  type: string
                  description: The id of the project you want to update in your system.
                  example: '123456'
                isMadeForRecruitment:
                  type: boolean
                  description: >-
                    Whether the project is made for recruitment, and should be
                    displayed in the ATS
                  example: true
                isMadeForSales:
                  type: boolean
                  description: >-
                    Whether the project is made for sales, and should be
                    displayed in the CRM
                  example: true
                createdAt:
                  type: string
                  description: The date of creation of the project
                  example: '2024-01-01T00:00:00.000Z'
                assignees:
                  type: string
                  description: The assignees of the project
                  example: Sarah Le Roué, Johan Barri, Quentin DECRE
                statusId:
                  type: string
                  description: The status of the project
                  example: dbab8773-8b59-4597-af75-b31333dd5409
                companyId:
                  type: string
                  description: The company of the project
                  example: df587e25-03e6-4b9a-aaa4-c9c20a913f4d
                colorId:
                  type: string
                  description: The color of the project
                  example: '#d81b60'
                customFieldsValues:
                  type: object
                  description: >-
                    Custom fields values for the project. The key should be the
                    field ID and the value can be any text value.
                  example:
                    00da911c-e3e1-46c1-86cc-0c1ec53e3213: <p>Custom field content</p>
                    de7fae4a-5f73-43a4-a92f-e19c4ecd81f1: 'true'
                    8f4e7a2b-c9d1-45e6-b3a2-f8e9c7d6b5a4: Angular, React, Vue
      responses:
        '201':
          description: The application has been saved
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: Project saved successfully
                  taskId:
                    type: string
                    example: 0b538428-7652-4243-baaf-3867803d7007
                  projectId:
                    type: string
                    example: d730cca9-d8b0-49e7-b2e0-c58c1bb7af9f
        '400':
          description: Cannot save profile, see details
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: Error details
                  taskId:
                    type: string
                    example: 0b538428-7652-4243-baaf-3867803d7007
        '500':
          description: Unknown error
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: An error occured
                  taskId:
                    type: string
                    example: 0b538428-7652-4243-baaf-3867803d7007
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````