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

# [Profili] Creare o aggiornare

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

<Warning>Devi utilizzare la tua **chiave api privata** per questa richiesta.</Warning>

Puoi personalizzare completamente le informazioni di ogni profilo grazie ai <a href="../../custom-fields">Campi personalizzati</a>. Clicca su questo link per capire come leggere e scrivere informazioni nei campi personalizzati.


## OpenAPI

````yaml POST /rest/v2/profiles
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/profiles:
    post:
      summary: Creates or update a profile
      description: >-
        Save a profile in Jarvi. It creates the profile if it does not exist,
        updates it if it does.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                projectId:
                  type: string
                  description: >-
                    (rarely used) As for the reference id, but with the Jarvi
                    internal project id. You can use projectId, referenceId or
                    none of them if you want to create a profile without linking
                    it to a project
                  example: 713a8005-e54d-4ee3-b6a4-89b27167dde6
                firstName:
                  type: string
                  description: >-
                    If not provided, will be extracted from the resume or
                    Linkedin URL. If no resume or Linkedin URL, will be required
                  example: Quentin
                lastName:
                  type: string
                  description: >-
                    If not provided, will be extracted from the resume or
                    Linkedin URL. If no resume or Linkedin URL, will be required
                  example: Decré
                emailAddresses:
                  type: string
                  description: >-
                    Multiple email addresses separated by a comma. If not
                    provided, will be extracted from the resume or Linkedin URL.
                  example: quentin@jarvi.tech, quentin@decre.tech
                phoneNumbers:
                  type: string
                  description: >-
                    Multiple phone numbers separated by a comma. If not
                    provided, will be extracted from the resume or Linkedin URL.
                  example: +33752626164,0240493773
                linkedinUrl:
                  type: string
                  description: >-
                    The linkedin URL of the profile. If provided, Jarvi will
                    extract the profile informations from the linkedin profile
                  example: https://www.linkedin.com/in/quentindecre/
                historyEntrySubject:
                  type: string
                  description: >-
                    The subject of the historyentry you want to show in the
                    profile’s Jarvi history.
                  example: Interview notes
                historyEntryMessage:
                  type: string
                  description: >-
                    The message of the historyentry you want to show in the
                    profile’s Jarvi history
                  example: >-
                    The message of the historyentry you want to show in the
                    profile’s Jarvi history
                resumesFiles:
                  type: array
                  description: >-
                    The resume(s) of the profile. Will be parsed by Jarvi.
                    Remember to convert to base64 before sending
                  items:
                    type: object
                    properties:
                      fileName:
                        type: string
                        description: The name of the file, including the extension
                        example: cv.pdf
                      data:
                        type: string
                        description: The base64 of the file.
                        example: data:@file/pdf;base64,JVBERi0......AABTLAAAAAA=
                files:
                  type: array
                  description: >-
                    (rarely used) Any file you want to upload with the profile.
                    Will not be parsed. Remember to convert to base64 before
                    sending
                  items:
                    type: object
                    properties:
                      fileName:
                        type: string
                        description: The name of the file, including the extension
                        example: motivation.docx
                      data:
                        type: string
                        description: The base64 of the file.
                        example: >-
                          data:@file/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,UEsDBBQ......AABTLAAAAAA=
                externalId:
                  type: string
                  description: >-
                    (rarely used) Your id. Will merge with exisiting profile
                    with same externalId
                  example: >-
                    Your id. Will merge with exisiting profile with same
                    externalId
                id:
                  type: string
                  description: >-
                    (rarely used) Jarvi uuid. Will merge with exisiting profile
                    with same id
                  example: Jarvi uuid. Will merge with exisiting profile with same id
                location:
                  type: string
                  description: >-
                    The location of the profile. If not provided, will be
                    extracted from the resume or Linkedin URL
                  example: Rennes, France
                headline:
                  type: string
                  description: >-
                    The headline of the profile. If not provided, will be
                    extracted from the resume or Linkedin URL
                  example: Co-Founder Jarvi
                currentCompanyName:
                  type: string
                  description: >-
                    The current company name of the profile. If not provided,
                    will be extracted from the resume or Linkedin URL. If a
                    company with this name exists, the profile will be
                    associated as contact of this company
                  example: Jarvi
                currentCompanyId:
                  type: string
                  description: >-
                    If a company with this id exists, the profile will be
                    associated as contact of this company
                  example: Jarvi
                currentPosition:
                  type: string
                  description: >-
                    The current job title of the profile. If not provided, will
                    be extracted from the resume or Linkedin URL
                  example: Co-founder
                <any custom field uuid>:
                  type: string
                  description: >-
                    Any custom field you want to add to the profile. You can
                    find the uuid of the custom field in the Jarvi settings. If
                    you want to provide multiple values, you can separate them
                    with a comma
                  example: My custom field value for this profile
                historyEntryType:
                  type: string
                  description: >-
                    The type of the historyentry you want to show in the
                    profile’s Jarvi history. It can be one of EVENT_SCHEDULED,
                    EMAIL_SENT, EMAIL_RECEIVED, LINKEDIN_MESSAGE_SENT,
                    LINKEDIN_MESSAGE_RECEIVED, LINKEDIN_INMAIL_SENT,
                    LINKEDIN_INMAIL_RECEIVED, LINKEDIN_INVITATION_SENT,
                    PHONECALL, PHONECALL_MISSED, SMS_SENT, SMS_RECEIVED,
                    WHATSAPP_SENT, WHATSAPP_RECEIVED, TELEGRAM_SENT,
                    TELEGRAM_RECEIVED, JOB_APPLICATION, LINKEDIN_NOTE, OTHER, or
                    the uuid of any custom interaction type you may have
                    created. 
                  example: 2788baea-1119-46d9-8e60-af9d6a1268e1
      responses:
        '201':
          description: The application has been saved
          content:
            application/json:
              schema:
                properties:
                  message:
                    type: string
                    example: Profile saved successfully
                  taskId:
                    type: string
                    example: 0b538428-7652-4243-baaf-3867803d7007
                  profileId:
                    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

````