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

# Add a new note

> Creates a new note for a candidate



## OpenAPI

````yaml /api-reference/openapi.json post /note
openapi: 3.0.3
info:
  title: JobAffinity REST API
  version: '1.12'
  description: >
    JobAffinity REST API for managing jobs, candidates, applications, and
    recruitment processes.


    ## Authentication

    All endpoints require HTTP Basic Authentication.


    ## Versioning

    Current version: 1.12


    See `/restapi/changelog` for version history and changes.
  contact:
    name: JobAffinity API Support
servers:
  - url: https://jobaffinity.fr/restapi/v1
    description: REST API v1
  - url: https://jobaffinity.fr/restapi
    description: REST API root (for changelog)
security:
  - basicAuth: []
tags:
  - name: API Info
    description: API metadata and changelog
  - name: Jobs
    description: Job listings and details
  - name: Candidates
    description: Candidate information
  - name: Applications
    description: Job applications
  - name: Processes
    description: Recruitment processes and steps
  - name: Notes
    description: Candidate notes
  - name: Questionnaires
    description: Questionnaire answers
  - name: Webhooks
    description: Webhook tasks
  - name: Job Application Submission
    description: >-
      Submit candidate applications to a job posting via the apply URL provided
      in the job feed. The authentication token is embedded in the URL — no
      additional credentials are required.
paths:
  /note:
    post:
      tags:
        - Notes
      summary: Add a new note
      description: Creates a new note for a candidate
      operationId: addNote
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NoteInput'
      responses:
        '200':
          description: Note created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  _status:
                    type: string
                    enum:
                      - OK
                      - INVALID
                  _actions:
                    type: array
                    items:
                      type: object
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
components:
  schemas:
    NoteInput:
      type: object
      required:
        - candidate_id
        - organisation_id
        - text
      properties:
        candidate_id:
          type: integer
          description: >-
            Identifier of the candidate. Provided by the `.id` field of the
            candidate detail resource.
        organisation_id:
          type: integer
          description: >-
            Identifier of the organisation for note visibility. Only users in
            this organisation will be able to see the note. Provided by the
            `.organisation.id` field of the job detail resource.
        text:
          type: string
          description: >-
            Note content. Can be HTML formatted (basic formatting tags only;
            script tags and style attributes are stripped).
  responses:
    BadRequestError:
      description: Invalid request body or parameters
      content:
        application/json:
          schema:
            type: object
            properties:
              _status:
                type: string
                enum:
                  - INVALID
              invalid:
                type: object
                description: Field-level validation errors. Each key is a field name.
                additionalProperties:
                  type: object
                  properties:
                    code:
                      type: string
                      nullable: true
                    message:
                      type: string
    UnauthorizedError:
      description: Authentication information is missing or invalid
      headers:
        WWW-Authenticate:
          schema:
            type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Authentication with API credentials

````